grubエラー:まずカーネルをロードする必要があります

grubエラー:まずカーネルをロードする必要があります

HP ProLiant DL180にDebian 9をインストールしています。 USBドライブから起動するとgrub2が開き、入力するとbootエラーが発生しますyou need to load kernel first

答え1

Enterを押してクリックすると、 grub-rescue最初のパラメータを設定するのに役立ちます。たとえば、次のようになります。setTab

set prefix=(hd0,gpt2)/boot/grub
set root=(hd0,gpt2)
insmod normal
normal 

まずカーネルをロードする必要があります。

カーネルをフォワードロードするには、次のコマンドを使用します。

insmod linux
linux /vmlinuz root=/dev/sda2
initrd /initrd.img
boot 

/dev/sda2ルートパーティションまたはGUIDパーティションテーブルがない場合は、そのテーブルに変更してくださいgpt2msdos

起動パラメータを正しく設定するには、次を参照してください。Ubuntuドキュメント:検索と設定

答え2

私の場合、Secure Bootがオンになっていました。ちょうどオフにして私に役立ちました。セキュアブートをオフにしてください

セキュアブート状態を確認するコマンド

mokutil --sb-state

答え3

コマンドを実行する前に、カーネルファイル、通常はinitrdファイル、およびカーネルコマンドラインを定義する必要がありますboot(Grubのマニュアルを参照)。

通常のブートメディアには、選択して入れることができるメニューがあります。 Grubコマンドラインはあなたのためではありません。 Grubを誤って使用しているか、別のブートメディアを使用してください。

答え4

両方の固定ディスク(/dev/sda、、/dev/sdb)にブータブルパーティションがあるワークステーションで同じエラーが発生しました。ここや他の場所で解決策が見つかりません。試行錯誤で見つけた私の修正についてここに説明します。

~上

grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-install /dev/sda

/dev/sdaGRUBブートメニューには、/dev/sdb各パーティションにインストールされているすべてのオペレーティングシステム(Windows、SuSE 15.3以前)が表示されます。項目の開始は/dev/sda正常に機能しますが、項目のいずれかを選択すると/dev/sdbエラーが発生します。

まずカーネルをロードする必要があります...

/boot/grub2/grub.cfg2つのハードドライブを「hd0」と「hd1」とマークします。 F2次のエントリは起動時にBIOSに表示されます(旧システム、EFIなし)。

Main:

   SATA Port 0  [ST3500413AS]-(S0)]
   SATA Port 1  [Optiarc DVD RW-(S1)]
   SATA Port 2  None
   SATA Port 3  [ST3500413AS]-(S3)]
   SATA Port 4  None
   SATA Port 5  None

Boot -> Boot priority order:

    1:      SATA CD: Optiarc DVD RW-(S1)
    2:      Bootable Add-in Cards
    3:      SATA 0:  ST3500413AS-(S0)
    4:      SATA 3:  ST3500413AS-(S3)

空のSATAポート2が問題を引き起こしているのだろうか?

私の修正は手動で編集し/boot/grub2/grub.cfg(egad、ファイルヘッダーでは明示的に推奨されていません)、 ""のすべてのインスタンスをhd1""に置き換えることでした。hd2それからもう一度言ってください。

grub2 インストール /dev/sda


GRUBのブートメニューは以前と同じですが、今ブートは/dev/sdb

関連情報