나는 Debian Wheezy 시스템을 가지고 있습니다. 최근 업그레이드 중에 GRUB에서 ext2 파일 시스템이 임베딩을 지원하지 않는다는 오류 메시지를 받았습니다(응? 이전에는 본 적이 없습니다.). 좀 파고 보니 문제는 GRUB를 설치한 것 같습니다. /dev/md0의 부트 레코드를 직접 포맷합니다(MD 컨테이너에는 파티션이 없습니다).
grub-install
원시 디스크 장치(GRUB에서 ) 를 수동으로 지정하여 이 문제를 해결할 수 있었지만 (hd0)
다음에 GRUB가 업데이트되면 이 문제가 다시 발생할 것 같은 느낌이 듭니다.
이로 인해 GRUB 설치 위치가 실제로 Wheezy에 저장된 위치를 찾게 되었습니다. 그러나 검색 결과 md0
흥미로운 결과가 나오지 않았습니다.
제 질문은: 특히 Debian Wheezy에 관한 것입니다.GRUB 설치 위치는 어디에 설정되어 있나요?즉, GRUB 설정을 파티션 부트 레코드에서 마스터 부트 레코드로 변경하려면 어떤 특정 파일(및 해당 파일의 설정)을 변경해야 합니까?
답변1
따라서 문제는 grub이 /boot가 /dev/md0에 있고 (hd0)이 device.map에서 /dev/md0으로 표시되기 때문에 MBR이 /dev/md0에 있어야 한다고 가정할 수 있다는 것입니다. 그러면 오류가 표시됩니다. message , /dev/md0에 MBR이 없기 때문입니다. 좋은 소식은 원래 MBR과 부트로더가 여전히 BIOS 부팅 장치(아마도 /dev/sda)에 있다는 것입니다. 이것이 바로 시스템이 부팅되는 이유입니다. 이 하위 레벨의 부트 코드는 거의 변경되지 않으므로 업데이트하지 않아도 큰 문제는 되지 않습니다. 이 오류 메시지를 보고 살아야 할 수도 있지만 시도/확인할 수 있는 몇 가지 사항이 있습니다.
- BIOS 부팅 장치에 다른 부팅 파티션이 없는지 확인하세요. 아직 마운트되지 않았기 때문에 전혀 표시되지 않습니다. /etc/fstab에 /boot 항목이 누락된 경우 이런 일이 발생할 수 있습니다.
- ext2 또는 ext4 파티션으로 표시되며 500MB보다 작을 수 있습니다.
- grub2에는 실제로 필요하지 않으므로 device.map의 이름을 바꾸면 설치 후 스크립트 및/또는 grub 설치에 오류 메시지가 표시될 수 있습니다.
- 그런 다음 grub-install /dev/sdX를 실행하세요. (여기서 sdX는 실제 BIOS 부팅 장치입니다).
이렇게 하면 장치의 MBR 및 부팅 코드가 업데이트되어 장치가 더 이상 사용되지 않게 됩니다.
- 그래도 작동하지 않으면 다음을 수행할 수 있습니다: grub-install --boot-directory=/boot /dev/sdX
구성이 약간 이상하지만 grub2에서 지원되어야 합니다. 결국에는 오류 메시지를 참고하면서 1년에 한 번씩 grub-install을 수동으로 실행해야 할 수도 있습니다.