Linux에서 다른 시스템(현재 요구 사항에 맞는 부팅 가능한 CD)으로 재부팅하고 싶습니다.
현재 부트 로더를 수정하고 싶지 않으며 BIOS 설정도 수정하고 싶지 않습니다.
일부 Linux CD는 Windows에서 실행할 수 있습니다(Windows가 중지되고 Linux가 CD에서 실행됨).
Linux에서 동일한 작업을 어떻게 수행할 수 있습니까?
답변1
grub4dos
다음 명령을 실행할 수 있습니다 kexec
.
kexec -l grub.exe
kexec -e
그러면 Grub4dos를 CD에서 부팅할 수 있습니다:
cdrom --init
cdrom --hook
chainloader (cd0)
boot
의 스니펫Grub4dos 튜토리얼.
답변2
당신은 그것으로 뭔가를 조작할 수 있습니다 kexec
.
예, kexec
커널을 부팅하기 위한 것이지만 kexec
원하는 바이너리(라이브러리나 기존 실행 중인 운영 체제에 의존하지 않고 실행되도록 설계된 "정적으로 링크된" 바이너리)로 "실행"하는 것을 막을 수는 없습니다. 사전 부팅 조건에서 실행 중인 경우) 부트로더 또는심지어 memtest86도- 이 페이지에서는 여러분이 빠질 수 있는 몇 가지 함정에 대해 설명합니다. 예를 들어, 텍스트 모드 부트로더인 경우 를 실행하기 전에 텍스트 모드로 다시 전환해야 합니다 kexec
.
kexec-tools
명령을 실행하기 전에 텍스트 모드로 다시 전환하는 것을 포함하여 정상적인 종료의 거의 모든 단계를 수행하는 Debian 또는 다른 프로그램을 사용하는 경우 kexec
.
디스크 또는 디스크 이미지를 부팅 할 수 없지만 kexec
CD에서 부트로더를 추출하여 kexec에 전달할 수 있습니다. 부팅 CD가 드라이브에 있으면 왜 작동하지 않는지 이해가 안 되지만 아직 시도해 보지는 않았습니다.
RAM에 .iso의 압축을 풀고 부트로더가 알지 못하는 사이에 .iso의 부트로더가 실행되도록 하는 것은 기술적으로 가능하지만 매우 어렵습니다. 나는 이것을 수행하는 어떤 유틸리티도 알지 못하며 어떤 유틸리티도 존재한다고 믿지 않습니다.