가상 머신의 Puppet에서 grub2를 테스트하려고 하는데 테스트 중 하나는 삭제된 MBR에서 여전히 실행되는지 확인하는 것입니다.
그래서 다음 명령을 사용하여 MBR을 지웠습니다.
dd if=/dev/0 of=/dev/vda bs=512 개수=1
그런 다음 grub2를 설치하려고했습니다.
grub2 설치 /dev/vda
그리고 얻다
GRUB은 부팅 시 "/boot/grub2" 경로를 읽을 수 없습니다. 설치가 불가능합니다. 유산이 있습니다.
MBR을 먼저 지우지 않고 grub2를 설치하려고 하면 제대로 작동합니다.
어떤 아이디어가 있나요?
답변1
첫 번째 섹터(예: Wikipedia의MBR 기사) 파티션 테이블을 지운 것을 알 수 있습니다.
파티션 테이블이 없으면 /boot
파티션이 더 이상 존재하지 않을 수 있습니다.
저장하고 복원하려면 다음을 수행하는 것이 좋습니다.
sfdisk -d /dev/vda > part-table
dd if=/dev/zero of=/dev/vda bs=512 count=1 # note, maybe want more than 1
sfdisk /dev/vda < part-table
grub2-install /dev/vda
Grub은 실제로 섹터 0과 섹터 1의 일부를 차지합니다.N, 어디N첫 번째 파티션의 시작 부분보다 작은 숫자입니다. 이 섹터를 지우고 싶을 수도 있습니다.