14.04 업그레이드로 인해 grub-pc 오류가 발생함

14.04 업그레이드로 인해 grub-pc 오류가 발생함

내 문제는 Ubuntu 12.04 LTS에서 14.02 LTS로 업그레이드하는 것부터 시작됩니다. 그 일환으로 이전 커널을 제거할 수 없다는 오류 메시지가 여러 개 표시되었습니다.

14.02로 처음 부팅했을 때 를 실행하여 모든 것이 정상인지 확인했지만 sudo apt-get autoremove동일한 오류가 나타났습니다.

온라인 가이드에 따라 다음을 실행했습니다.

sudo apt-get purge grub-common
sudo apt-get install grub-pc

첫 번째 작업이 성공하여 내 PC에서 Grub을 제거했습니다. 다음으로 인해 두 번째 작업이 실패했습니다.

Creating config file /etc/default/grub with new version
Installing for i386-pc platform.
Installation finished. No error reported.
Generating grub configuration file ...
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
Found linux image: /boot/vmlinuz-3.13.0-54-generic
Found initrd image: /boot/initrd.img-3.13.0-54-generic
Found linux image: /boot/vmlinuz-3.13.0-44-generic
Found initrd image: /boot/initrd.img-3.13.0-44-generic
Found linux image: /boot/vmlinuz-3.13.0-40-generic
Found initrd image: /boot/initrd.img-3.13.0-40-generic
Adding boot menu entry for EFI firmware configuration
cat: /video.lst: No such file or directory
/usr/sbin/grub-probe: error: failed to get canonical path of `'.
No path or device is specified.
Usage: grub-probe [OPTION...] [OPTION]... [PATH|DEVICE]
Try 'grub-probe --help' or 'grub-probe --usage' for more information.
dpkg: error processing package grub-pc (--configure):
 subprocess installed post-installation script returned error exit status 64
Errors were encountered while processing:
 grub-pc
E: Sub-process /usr/bin/dpkg returned an error code (1)

나는 이것에 대해 수많은 수정을 시도했으며 그 중 대부분이 문서화되어 있습니다.여기. 을(를) 제거하기 전에 LiveCD를 만들었 grub-common기 때문에 이전 파티션에 액세스할 수 있고 그 파티션에 들어갈 수 mount있습니다 chroot.

그런데 실행해도 update-grub같은 오류가 뜨면 이런 현상이 발생하지 않고는 실행할 수 없습니다 dpkg --configure -a.

나는 boot-repair얻곤 했다부팅 요약첫 번째 드라이브( )에 듀얼 부팅이 가능한 2개의 HDD 장비인 내 컴퓨터의 경우 /dev/sda. on 및 내 파티션(부팅)도 on Windows입니다 ./dev/sda1Ubuntu/dev/sda2

이 문제를 해결하도록 도와주세요. 다시는 Ubuntu 설치에 손을 대지 않겠다고 약속합니다. :-)

답변1

"우아하게 해결"내 문제는 다음을 사용하여 발생합니다.

sudo apt-get purge grub-pc grub-common
sudo rm -r /etc/grub.d/
sudo apt-get install grub-pc grub-common
sudo grub-install /dev/sda
sudo update-grub

디렉토리를 삭제하면 숨어 있던 /etc/grub.d/모든 파일이 제거되어 grub 설치를 계속할 수 있게 된 것 같습니다!12.0414.04

물론 삭제하려는 모든 항목을 백업해 두는 것이 좋습니다.

답변2

이 grub 오류는 수년 동안 계속되었으며 지금도 20.04에서 ... 그냥 실행하십시오.

sudo apt-get update
sudo apt-get --fix-broken install -y
sudo apt-get -f install -y 
sudo  apt-get -o Dpkg::Options::="--force-confnew" -yy dist-upgrade -yq
sudo apt-get autoremove -yq
sudo apt-get autoclean -y

위의 출력에 일부 플레어가 표시되면 위의 모든 항목을 다시 실행하면 됩니다.

답변3

Boot-Repair를 사용하는 가장 쉬운 방법은 도구가 포함된 디스크(예: Boot-Repair-Disk, 자동으로 Boot-Repair를 시작하는 디스크)를 만들고 부팅하는 것입니다.

저는 개인적으로 다음을 사용하는 것을 선호합니다.부팅 복구 디스크 ISO

관련 정보