web-dev-qa-db-ja.com

GRUBおよびDebianのインストール時に、LILOは両方ともNVMeハードディスクへのインストールに失敗します

Lenovo Thinkpadに64ビットDebian安定版をインストールしようとしています。ブートローダーをインストールするインストール手順に到達すると、次のメッセージが表示されます。

インストール手順が失敗しました。失敗したアイテムをメニューからもう一度実行するか、スキップして別のアイテムを選択できます。失敗したステップは次のとおりです。GRUBブートローダーをハードディスクにインストールします

メニューに戻ってLILOを選択しても、同じエラーが発生します。インストールログは言う

May  1 13:24:23 main-menu[188]: WARNING **: Configuring 'grub-installer' failed with error code 1
May  1 13:24:23 main-menu[188]: WARNING **: Menu item 'grub-installer' failed.
May  1 13:24:28 main-menu[188]: INFO: Menu item 'lilo-installer' selected
May  1 13:24:28 main-menu[188]: WARNING **: Unable to set title for fdisk-udeb.
May  1 13:24:28 main-menu[188]: WARNING **: Configuring 'lilo-installer' failed with error code 1
May  1 13:24:28 main-menu[188]: WARNING **: Menu item 'lilo-installer' failed.

LVMやRAIDを使用していません。これまでのところ、私は試しました

  1. UEFIブートを無効にし、代わりにレガシーブートを使用します。エラーは、GRUBとLILOの両方で発生します。

  2. この質問 の指示に従い、実行中

    parted /dev/nvme01
    set 1 bios_grub on
    

    tTY2からですが、parted not foundというエラーが表示されます。私のシステムでは/dev/nvme01が唯一のハードディスクです

  3. ハードウェアエラーを確認します。最初にシステムを購入したとき、BIOS内とWindows内の両方で利用可能なすべてのハードウェアテストを実行し、すべてのテストに合格しました。これは、ハードウェアが誤動作していないことを意味します。

  4. LVMとはいえ、同様のエラーが発生した このスレッド について、/bootでフォーマットされた小さなext2パーティションを最初に使用してパーティション分割をやり直してみました。同じエラー。

  5. TTY4に切り替えてインストールの出力を確認すると、エラーも表示される

    chroot: can't execute 'grub-probe': No such file or directory
    

    これに関する情報を検索すると、GRUBに関連する このスレッド および このバグレポート になりますが、a)これらは古いものであり、b)以下のインストールを実行しましたこの時点で数十回以上、毎回エラーが発生するので、1回限りのことではないようです。

  6. 私はGpartedを使用して、ハードディスクが完全に空であることを確認しました。

  7. BIOSでセキュアブートが無効になっています。

  8. フルDVDとネットインストールCDを使用してインストールを実行しました。どちらもUSBから起動されますが、問題は解決しません。

前のインストール手順で、ドライブにmsdosパーティションテーブルと3つのパーティション(//home、およびswap用)を正常に作成できたので、 GRUB=突然ドライブに書き込めなくなる理由がわかりません。

これを修正してDebianをインストールするにはどうすればよいですか?現在のところ、(真新しい!)システムはOSを取得できないため、まったく使用できません。


問題の一部は、Debian/partedがディスクを正しく認識しないことでしょうか?これは、ディスクが512.1 GBであることを示しています。これは、仕様が512 GBであり、それが宣伝されているという意味でtrueであり、512 GBすべてをさまざまなパーティションに割り当てることができます。ただし、Gpartedにロードすると、実際のディスク容量は476 GBに近づきますが、これは通常の1024対1000の容量であると想定しています。

(私は Debianフォーラム にもこの質問のバージョンを投稿したので、そのスレッドから重要なもので質問を更新します(逆も同様)。)

10
Michael A

これが、Debian jessie(安定版)を使用して私にとってうまくいったことです。私は基本的に このwikiの投稿 からの指示を受け取り、Windowsでのデュアルブートに関するすべての手順を省略しました。

  1. BIOSで、「UEFIのみ」のブートを設定します。

  2. Gpartedを使用し、bootフラグとespフラグを使用して、ディスクの先頭にFAT32パーティションを作成します。 (Debianインストーラーもこれを実行できるはずですが、インストーラーがディスクのサイズを誤って認識したため、Gpartedを使用することを好みます)。私の場合、FAT32パーティションは/ dev/nvme0n1p1です。

  3. インストール中に、ネットワーク接続が構成されていることを確認します(手動または自動で構いません)。そうでない場合、次のステップは失敗します。

  4. GRUBがインストールに失敗するインストール段階で、シェルを開いて次のコマンドを実行します。

    mount --bind /dev /target/dev
    mount --bind /dev/pts /target/dev/pts
    mount --bind /proc /target/proc
    mount --bind /sys /target/sys
    cp /etc/resolv.conf /target/etc
    chroot /target /bin/bash
    
    aptitude update
    aptitude install grub-efi-AMD64
    update-grub
    grub-install --target=x86_64-efi /dev/nvme0n1
    

    シェルを終了し、「ブートローダーをインストールせずに続行」を選択します。使用する起動コマンドを示す警告メッセージが表示されます。これは無視できます。

  5. インストールが完了したら、システムを起動します。 「nvme」を/ etc/initramfs-tools/modulesに追加し、update-initramfs -uをrootとして実行します。

  6. / etc/default/grubを編集して、この行を追加します

    GRUB_CMDLINE_LINUX="intel_pstate=no_hwp"
    

    そして、 "nomodeset"をGRUB_CMDLINE_LINUX_DEFAULTに追加して、次のようにします。

    GRUB_CMDLINE_LINUX_DEFAULT="quiet nomodeset"
    
  7. update-grubを実行します。

最後のいくつかのコマンド(initramfs以降)は、新しいシステムで2回目の起動を試みたときにdisk not foundエラーを防ぐために必要です。

13
Michael A