Debian 10インストーラの間はGRUBをインストールできません(答え:UEFI、SuperMicroマザーボード)。

Debian 10インストーラの間はGRUBをインストールできません(答え:UEFI、SuperMicroマザーボード)。

私のサーバーに新しいマザーボードをインストールしました(スーパーマイクロX9DRi-F)そしてDebian 10を新しくインストールしようとしています。ただし、GRUBをインストールしようとすると失敗します。

Unable to install GRUB in dummy
Executing 'grub-install dummy' failed.
This is a fatal error.

BIOSに入り、強制起動時にUEFIモードでインストーラ(USBドライブ)を起動したことを確認しました(「UEFI:Sandisk」が正しく表示されます)。

/var/log/syslog メッセージを切り取って貼り付けることはできませんが、デフォルトでは次のようになります。

Installing grub on 'dummy'
grub-install does not support --no-floppy
Running chroot /target grub-install  --force "dummy"
Installing for x86_64-efi platform.
grub-install: warning: Cannot read EFI Boot* variables.
grub-install: warning: read_file: could not read from file: Input/output error.
grub-install: warning: vars_get_variable: read_file(...) failed: Input/output error.

検索してみると他の人もこの問題を経験しているようですが、どのように解決されたのかわかりませんね。

誰でも私を助けることができますか?

答え1

システムに grub を再インストールする際にも同じ問題が発生しました。私のソリューション(Debian Live Systemを使用):

~ # mount /dev/sdX /target
~ # mount -o rbind /dev /target/dev
~ # mount -t proc proc /target/proc
~ # mount -t sysfs sys /target/sys
~ # mount -t efivarfs efivarfs /target/sys/firmware/efi/efivars # added that line (in difference to all other manuals found on the internet..)
~ # chroot /target/
~ # grub-install
~ # update-grub

答え2

また、このエラーが発生し、別の方法で手動でgrubをインストールする必要があると思います。追加情報は次のとおりです。 GPTテーブルドライブにUEFIモードでインストールし、BTRFSをルートファイルシステムとして使用しました。

私のハードドライブはNVME Samsung 970 evoです。https://pcpartpicker.com/product/JLdxFT/samsung-970-evo-10tb-m2-2280-solid-state-drive-mz-v7e1t0baw

私のマザーボードはASUS PRIME B360M-Aです。https://pcpartpicker.com/product/WfF48d/asus-prime-b360m-a-micro-atx-lga1151-motherboard-prime-b360m-a

Linuxシステムが不足し、Rufusを使用してWindows 10システムでUSBインストールメディアを作成しました。

私はここの指示に従いました。https://wiki.debian.org/GrubEFIの再インストール

1.) efi debianをインストールします。 grubエラーが発生した場合は、ブートローダを使用してインストールしないように選択します(インストールメディアはefiモードで起動する必要があります)。

2.) 一部のブートメディアに refind を書き込んで(手順 1 と同じメディアを上書きすることができます)、efi でブートし、インストールしたばかりの Debian システムからブートします。

3.) ターミナル/シェルを開いてログインします。

4.)実際にefiモードで起動していることを確認してください。 [ -d /sys/firmware/efi ] && echo "efi, continue" || echo "No efi, restart in efi"

5.) efiパーティションが/boot/efiにマウントされていることを確認してください。 (その場合はlsblkを実行して確認してください。)

6.) sudoグラップのインストール

7.) sudo アップデート - グラップ

8.) シャットダウンし、前の手順でブートメディアを取り出し、電源を入れてハードドライブからシステムがブートしていることを確認します。

非常に簡単な修正で動作します。

PSのインストール段階でrootユーザーの作成をスキップしてsudoを使用したことに注意してください。 suルートを好む場合は、手順3から始めてください。

答え3

ありがとう、デビッド!これは基本的に答えのコピーです。初心者には、自明ではない可能性があるいくつかの詳細と欠落を追加しました。すべてがデフォルトですが、Debian 10 Buster(シングルブート)をインストールすることはできません。私はオンラインで解決策を探していましたが、あなたのソリューションだけが私に役立つほど明確でシンプルです。 /dev/sdX1 が EFI パーティションであり、/dev/sdX2 が Debian Buster がインストールされたばかりだが起動していない ext4 であるとしましょう。また、インストールが失敗した後も grub のインストールが続くと想定されます。これでライブシステムで起動し、ターミナルを開きました。

~ # sudo mkdir /target
~ # sudo mount /dev/sdX2 /target
~ # sudo mount /dev/sdX1 /target/boot/efi
~ # sudo mount -o rbind /dev /target/dev 
~ # sudo mount -t proc proc /target/proc 
~ # sudo mount -t sysfs sys /target/sys 
~ # sudo mount -t efivarfs efivarfs /target/sys/firmware/efi/efivars 
~ # sudo chroot /target/ 
~ # sudo rm -f /sys/firmware/efi/efivars/dump*
~ # sudo grub-install 
~ # sudo update-grub

お役に立てば幸いです。応援します。

関連情報