GRUB 2를 다시 설치하고 다음 지침을 찾았 습니다. Ubuntu Live CD 또는 USB를 사용하여 Grub 2를 복구, 복원 또는 다시 설치하는 방법 . 필자의 경우 부트 로더는 EFI 파티션에 설치됩니다. 이 안내서에 제공된 명령을 사용하면 GRUB이 EFI 파티션에 자동으로 다시 설치되거나 Ubuntu가 설치된 루트 파티션에 설치됩니까? 분명히, 나는 이것이 일어나기를 원하지 않습니다.
GRUB 2를 다시 설치하고 다음 지침을 찾았 습니다. Ubuntu Live CD 또는 USB를 사용하여 Grub 2를 복구, 복원 또는 다시 설치하는 방법 . 필자의 경우 부트 로더는 EFI 파티션에 설치됩니다. 이 안내서에 제공된 명령을 사용하면 GRUB이 EFI 파티션에 자동으로 다시 설치되거나 Ubuntu가 설치된 루트 파티션에 설치됩니까? 분명히, 나는 이것이 일어나기를 원하지 않습니다.
답변:
이 방법으로 GRUB 부트 로더를 EFI 모드로 Ubuntu 설치에 다시 설치하십시오 ...
Ubuntu 설치 매체에서 부팅하고 '설치하지 않고 Ubuntu 설치'를 선택하십시오.
(EFI 모드에서 설치 매체를 부팅하려면 UEFI가 앞에있는 Ubuntu 항목을 선택하십시오.)
라이브 데스크탑에 있으면 터미널을 열고 다음 명령을 실행하십시오.
sudo mount /dev/sdXXX /mnt
sudo mount /dev/sdXX /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt
grub-install /dev/sdX
update-grub
참고 : sdX
= 디스크 | sdXX
= efi 파티션 | sdXXX
= 시스템 파티션
GParted를 사용하는 파티션을 식별하기 위해 도구가 설치 매체에 포함되어 있습니다.
GRUB 명령을 실행하면 별도의 EFI 파티션에 GRUB이 설치됩니다.
grub-efi
로 부팅 하는 것입니다. 다시 설치 하려면 UEFI 모드 grub-pc
로 부팅해야하며 다시 설치 하려면 레거시 모드로 부팅해야합니다.
grub-install /dev/sdXX
디스크를 사용하지 않고 EFI 파티션을 grub 설치에 사용했습니다.
이것은 나를 위해 일한 유일한 방법입니다 : (시스템 : sdb8, 부팅 : sdb6, efi : sdb2)
sudo mount /dev/sdb8 /mnt
sudo mount /dev/sdb6 /mnt/boot
sudo mount /dev/sdb2 /mnt/boot/efi
sudo mount --bind /dev /mnt/dev &&
sudo mount --bind /dev/pts /mnt/dev/pts &&
sudo mount --bind /proc /mnt/proc &&
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
grub-install --target=x86_64-efi /dev/sdb
grub-install --recheck /dev/sdb
exit &&
sudo umount /mnt/sys &&
sudo umount /mnt/proc &&
sudo umount /mnt/dev/pts &&
sudo umount /mnt/dev &&
sudo umount /mnt
--recheck
합니까? 매뉴얼은 말합니다 delete device map if it already exists
?
--bootloader-id=Ubuntu_02
있습니다. 예를 들어 부트가 실패합니다. grub 콘솔에서 부팅하면 어떤 솔루션입니까?
grub-install --recheck
필요한 것 같습니다 . 작동하지 않는 USB HDD EFI를 수정했습니다.
지침에 대한 @ cl-netbox에 감사합니다!
(Linux Mint 18.2 Sonya를 18.3 Sylvia로 업그레이드 한 후) 시스템이 부팅되지 않으므로 위의 지침을 따랐지만 여전히 성공하지 못했습니다. 그러나 내 컴퓨터에는 별도의 파티션에 / boot가 있고 (LVM을 사용하고 있기 때문에) 약간 수정 된 프로세스는 다음과 같습니다.
sudo mount /dev/sdXXX /mnt
sudo mount /dev/sdXY /mnt/boot
sudo mount /dev/sdXX /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt
grub-install /dev/sdX
update-grub
참고 : sdX = 디스크 | sdXX = efi 파티션 | sdXY = 부팅 파티션 | sdXXX = 시스템 파티션
또한 라이브 CD로 부팅하여 복구하는 경우 grub-efi-amd64-bin 패키지가 누락 된 다음 줄이 생길 수 있습니다
"grub-install --target=x86_64-efi /dev/sdb"
"grub-install : error : /usr/lib/grub/x86_64-efi/modinfo.sh가 존재하지 않습니다. --target 또는 --directory를 지정하십시오."라는 오류 메시지와 함께 실패합니다.
이 경우 chroot 외부에서 이것을 실행하십시오.
sudo apt get grub-efi-amd64-bin
그런 다음 / usr / lib / grub / x86_64-efi를 chroot 마운트에 추가하십시오.
BTW "/ dev / sdb"매개 변수는 더 이상 사용되지 않으며 무시됩니다.
ci-netbox 답변 외에도.
pendrive OS 버전이 디스크에 설치된 버전과 일치하지 않으면 grub-install에서 올바른 grub 설치를 식별하기 어려울 수 있습니다.
$ sudo chroot /mnt
# grub-install /dev/sdX
grub-install: error: /usr/lib/grub/i386-pc/modinfo.sh doesn't exist.
Please specify --target or --directory.
사용할 설치를 수동으로 식별하십시오
# ls /usr/lib/grub/
grub-mkconfig_lib x86_64-efi x86_64-efi-signed
그런 다음 grub-install을 다시 시작하십시오.
# grub-install --target=x86_64-efi /dev/sdX
Installing for x86_64-efi platform.
Installation finished. No error reported.