나는 "grub 구조"에서 복구하는 방법을 이미 알고 있으므로 이에 대해서는 묻지 않겠습니다.
저는 하드 드라이브가 거의 없고 여러 목적으로 파티션을 변경합니다. 하지만 이 작업을 수행할 때마다 "grub 구조"가 발생하는데, 이를 처리할 수는 있지만 짜증스럽습니다. 그것을 방지할 수 있는 방법이 있나요 grub rescue
? (예: grub을 다른 로더로 교체, 자체 스크립트 설치 등)
고쳐 쓰다:자세한 내용을 추가하세요
나는 파티셔닝을 사용하지 않지만
/boot
단지/
내 루트 파티션은 더 큰 확장 파티션의 일부입니다.
내 루트 파티션
/dev/sda1
은/dev/sda5
. 이중 부팅을 사용합니다(Windows는 에 있음/dev/sda1
).확장 파티션의 일부를 변경하면 해당 주소/이름(즉
(hd0,msdosX)
, 그것이 무엇인지 모르겠습니다)이 변경되므로 grub을 계속 사용하는 동안 "grub 구조"를 피하는 것이 불가능할 수 있습니다. 어쩌면 부트로더를 바꾸는 것이 유일한 해결책일 수도 있습니다ls
"grub 구조"에서 grub은 파티션 수와 파티션이 ext2/3/4인지 여부( 및 를 통해)를 알고 있으므로ls (hdX,msdosY)
grub이 파티션을 스캔하고 찾은 첫 번째 ext 파티션을 부팅하도록 할 수 있으면 문제가 발생합니다. 해결되었습니다!
답변1
grub이 구조 모드로 들어간 이유에 따라 다릅니다.
이는 grub이 초기에 로드된 부분을 찾을 수 없기 때문에 발생할 수 있습니다. 기존 PC 파티션 테이블의 경우 이러한 부분은 일반적으로 파티션 테이블과 첫 번째 파티션 사이의 유사 안전 지점에 설치됩니다. 이 경우 다른 부트로더를 설치하거나 디스크를 완전히 지우고 파티션을 다시 구성하여 이 영역을 방해하지 마십시오. GPT 파티션의 경우 이러한 부분은 전용 BIOS 부팅 파티션에 설치됩니다. 이 경우 파티션을 방해/이동하지 마십시오.
또는 grub이 자체나 모듈 또는 구성의 늦게 로드된 부분을 찾을 수 없기 때문에 발생할 수도 있습니다. /boot
파일 시스템이 있으면 파일 시스템에 있고, 그렇지 않으면 루트 파일 시스템에 있습니다 .
- 칸막이를 사용할 경우
/boot
칸막이를 건드리거나 이동하지 마세요. 안전합니다. - 파티션을 사용하지 않고
/boot
루트 파일 시스템의 파티션을 grub의 검색 기능을 방해하는 방식으로 사용하고 있는 경우/boot
grub이 찾을 수 있는 파티션(작고 절대 건드릴 수 없는 파티션)을 사용하는 것을 고려하십시오. 더 안정적으로.
답변2
kali로 부팅한 후 터미널을 열고 다음을 입력하세요.
sudo apt-get update
sudo apt-get install --reinstall grub-pc
sudo grub-install /dev/sda
sudo update-initramfs -u
sudo update-grub