이것은 주로 교육 목적이므로 컴퓨터를 계속 켜고 끌 필요가 없습니다.
답변1
귀하의 질문은 부팅 프로세스를 디버깅하는 방법에 관한 것이라고 가정합니다. 즉, 실제로 재부팅하기 전에 새 grub 구성이 예상대로 작동하는지 테스트합니다.
가상화를 사용하면 이것이 가능합니다.
그러나 현재 실행 중인 시스템의 물리 디스크를 가상머신에서 다시 부팅만 하면 코너케이스가 많이 발생한다. 모든 미해결 쓰기를 디스크에 동기화하고 캐시를 플러시한 다음 사용해야 합니다.엄격한 읽기 전용 보기운전하다(아마도 쓰기 중 복사 레이어에 있을 수도 있습니다.). 당신도해야합니다네트워킹을 완전히 비활성화- 또는 이메일을 다운로드하여 가상 머신 내부의 서버에서 삭제합니다. 그러면 종료 시 해당 이메일이 손실됩니다.
그렇더라도 가상 머신이 사용하는 파일 시스템이 이미 사용 중이고 호스트에 의해 수정된 경우 가상 머신이 충돌할 수 있습니다. 적절한 스냅샷을 사용하여 이 문제를 해결할 수 있지만 일반적으로 전체 드라이브의 스냅샷을 찍을 수는 없으며 개별 LV의 스냅샷을 찍는 것은 전혀 도움이 되지 않습니다. VM은 부팅할 때 동일한 스냅샷 구조만 볼 수 있기 때문입니다.
따라서 가상 머신이 실행되는 동안 호스트를 유휴 상태로 유지하고 파일 시스템 활동이 없도록 하거나 중요한 시작 단계 후에 가상 머신을 중지하는 것이 좋습니다. VM은 읽기 전용이므로 VM 내에서 적절한 종료를 수행할 필요 없이 직접 종료/종료할 수 있습니다. 따라서 가상 머신이 충돌하더라도 디버깅을 어렵게 만드는 것 외에는 별 문제가 되지 않습니다.
결과를 이해한다면 기본적으로 간단한 qemu로 귀결됩니다.
sync
echo 3 > /proc/sys/vm/drop_caches
qemu -net none -drive file=/dev/disk,readonly
# leave out readonly for a copy-on-write device:
qemu -net none -drive file=/dev/mapper/copy-on-write-disk
(qemu를 제대로 실행하려면 더 많은 옵션이 필요합니다. 자세한 내용은 qemu 가이드를 확인하세요. 예를 들어, 필요한 CPU 유형에 맞게 최적화된 Gentoo와 같은 배포판을 사용하는 경우 -cpu host
- 하지만 그게 요점입니다. ).