실수로 파일 시스템에서 / boot 폴더를 삭제하고 다시 부팅했는데 지금 얻는 것은 다음과 같습니다.
error: file '/boot/grub/i368-pc/linux.mod' not found.
grub rescue>
/boot
물론 삭제와 비교하여 훨씬 더 큰 실수 는이 문제가 해결되기 전에 시스템을 재부팅하는 것입니다.
실수로 파일 시스템에서 / boot 폴더를 삭제하고 다시 부팅했는데 지금 얻는 것은 다음과 같습니다.
error: file '/boot/grub/i368-pc/linux.mod' not found.
grub rescue>
/boot
물론 삭제와 비교하여 훨씬 더 큰 실수 는이 문제가 해결되기 전에 시스템을 재부팅하는 것입니다.
답변:
죄송합니다!
수행 할 작업은 다음과 같습니다.
라이브 배포판을 부팅하십시오. 이것은 Ubuntu 설치 디스크이거나 Knoppix 와 같은 다른 디스크 일 수 있습니다 .
루트 파일 시스템을 설치 한 드라이브 / 파티션을 찾으십시오. 이 작업을 수행하려면 터미널을 열고 중 하나를 실행할 수 있습니다 sudo parted -l
또는 sudo fdisk -l
. 말할 수 없으면 질문 을 편집 하고 출력을 추가하십시오.
마지막 단계에서 발견 루트 파티션이라고 가정하면 /dev/sdxy
( x
다른 편지이어야하며 y
숫자를해야합니다) 다음, 터미널에서 다음 명령을 실행합니다 :
mkdir mnt
sudo mount /dev/sdxy mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot mnt
이제 chroot
환경 내부 에서 명령을 실행하면 설치된 시스템에서 명령을 실행하는 것과 같습니다. 가장 먼저 할 일은 GRUB2를 장치에 다시 설치하여 올바른 파일을 /boot
폴더에 복사하는 것입니다. 이렇게하려면 루트 파티션이있는 드라이브로 다음을 실행하십시오 (예 : /dev/sdxy
숫자 ( y
)가 제거 된 상태).
grub-install /dev/sdx
이제 부트 디렉토리에 파일이있는 설치 한 패키지를 찾아서 다시 설치하려고합니다. 이것은 다른 것들 중에서 삭제 된 커널 이미지를 대체합니다. 패키지를 찾는 명령은 다음과 같습니다.
dpkg -S /boot
다시 설치하려면 다음을 수행하십시오.
apt-get --reinstall install ...
where ...
는 첫 번째 명령의 패키지 이름으로 바뀝니다. 쉼표를 포함하지 말고 분리 할 공백이있는 패키지 이름 만 있으면됩니다.
이 단계는 인터넷 액세스가 필요할 수 있습니다 (패키지가 이미 캐시에없는 경우 제외). 문제가있는 경우 연결되어 있는지 확인하십시오.
커널을 삭제하고 다시 설치 했으므로 GRUB2 업데이트가 자동으로 시작되었습니다. 그러나 그렇지 않은 경우 다음을 실행할 수 있습니다.
update-grub
재부팅 및 상황이 수정되었습니다. 내가 마지막으로 비슷한 일을 한 한 가지 문제는에서 버그로 인해 Windows를 update-grub
실행할 때 찾을 수 없다는 것 chroot
입니다 os-prober
. 이것이 문제 sudo update-grub
라면, 수리 된 시스템에서 다시 실행 하십시오.
/dev/sdax
모든 곳 에서 사용하도록 고마워 로 변경했습니다 /dev/sdxy
.