グラップのインストールに失敗しました

グラップのインストールに失敗しました

私のDebian Jessieのインストールが正しく実行されていましたがapt-get update && apt-get upgrade && apt-get dist-upgrade

その後、再起動後にBIOSに直接入ります。 Grubがないことに気づいたので、live cdを実行してを入力し、Rescue modeルートパーティション、+ bootパーティションをマウントして、次のコマンドを実行しました。

GrubはLinuxイメージを見つけました。

root@debian:~# update-grub
Generating grub configuration file ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-4.9.0-3-amd64
Found initrd image: /boot/initrd.img-4.9.0-3-amd64
Found linux image: /boot/vmlinuz-4.9.0-0.bpo.3-amd64
Found initrd image: /boot/initrd.img-4.9.0-0.bpo.3-amd64
Found linux image: /boot/vmlinuz-3.16.0-4-amd64
Found initrd image: /boot/initrd.img-3.16.0-4-amd64
Found Ubuntu 16.10 (16.10) on /dev/sdb2
Adding boot menu entry for EFI firmware configuration
done

それからgrub-install

root@debian:~# grub-install /dev/sda
Installing for x86_64-efi platform.
Could not prepare Boot variable: No such file or directory
grub-install: error: efibootmgr failed to register the boot entry: Input/output error.

lsblk:

root@debian:~# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 223.6G  0 disk 
├─sda1   8:1    0  92.6G  0 part /
├─sda2   8:2    0 130.4G  0 part 
└─sda3   8:3    0   573M  0 part /boot/efi

私は何が間違っていましたか?私のパーティションスペースが小さすぎますか/boot/efi

root@debian:~# ls -l /boot/efi/EFI/debian/
total 120
-rwx------ 1 root root 121856 Jul 20 20:29 grubx64.efi

efibootmgrDebianのインストールを表示しません:

root@debian:~# efibootmgr --verbose | grep debian

編集する:

次のコマンドを使用してブートローダを作成しようとすると、次のエラーが発生しますefibootmgr

grub-install: info: executing efibootmgr -c -d /dev/sda -p 3 -w -L grub -l \EFI\grub\grubx64.efi.
Could not prepare Boot variable: No such file or directory
grub-install: error: efibootmgr failed to register the boot entry: Input/output error.

答え1

起動変数をインストールしてefibootmgrエラーを修正しましたefibootmgr

# mount -t efivarfs efivarfs /sys/firmware/efi/efivars

その後、efibootmgr空間に関するエラーが発生します。

Could not prepare Boot variable: No space left on device

ダンプファイルを削除して問題を解決しました。

# rm /sys/firmware/efi/efivars/dump-*

その後、通常どおり実行します。

update-grub 
grub-install -v --target=x86_64-efi --recheck /dev/sda

そして正常に実行されます!

答え2

ディスクが/dev/sdaでない場合は、ローダーを含むディスクを指定してみてください。

efibootmgr --create --disk /dev/nvme0n1 --part 1 --label Ubuntu

答え3

AsusマザーボードのUbuntuでも同じ問題が発生しました。削除するダンプファイルが見つかりませんでした。または安全に取り外せる大きなもの。

カーネルコマンドラインオプションを使用してefi_no_storage_paranoiaシステムを再起動して問題を解決できました。 Ubuntu UEFIブートエントリを失いました。幸いなことに、BIOS設定の起動選択によってUbuntuパーティションから起動できます。その後、grubメニューの「e」キーを使ってカーネルコマンドラインにオプションを追加しました。その後、を実行して、以前に失敗したシステムのアップグレードを完了できましたapt -f install

システムが起動できない状態の場合、1つのオプションはUbuntu USBスティックから起動し、そこで問題を解決することです。

後で問題が再発生した場合は、このカーネルオプションを/etc/default/grub

カーネルはUEFI可変スペースを埋めるのに非常に編集的です。まだスペースが残っているのにいっぱいだと報告されます。これは、一部のマザーボードでスペースが永久に埋まることを防ぐためです。私はこれが私のマザーボードにあまりにも編集的であるかもしれないと思います。スペースがさらに満たされない場合、BIOSはガベージコレクションを開始しない可能性があります。

以前は、マザーボードの「Clear CMOS」ヘッダーを使用して同じ状況から回復できました。ソフトウェアソリューションを見つけることができてとても嬉しいです。

関連情報