物理Ubuntu_18.04システムを仮想マシン(vCenter制御下のESXi)に変換した後、起動時に次のウィンドウが表示されました。
「exit」コマンドを入力すると、システムは通常のメニューをロードし、すべてが正常に機能します。
コマンドラインに行き、「exit」と入力せずにブートローダにメニューをすぐにロードさせるにはどうすればよいですか?
PS:救助ユーティリティを実行してみたところ、成功したと言われましたが、役に立ちませんでした。
Bootorder を 0003 に変更すると sudo efibootmgr -o 0003,000A,0000,0001,0002,0004,0009,0005,0006,0007,0008 004、009、 0005,0006,0007,0008 まったくロードされません。
これは役に立ちません。
答え1
lsblk -o +HCTL,PARTUUID
広い端末ウィンドウで実行してください。
出力efibootmgr -v
は次のことを示します。
BootCurrent: 0003
この行を使用して、システムがBoot0003
正常に起動したことを示します。BootOrder
Boot0003
フルブートシーケンスで成功ランクが5位であることを示します。- この
Boot0003
行はディスクをとして識別する.../SCSI(3,0)
ため、GRUBの動作バージョンを持つディスクを識別するには、HCTL
上記lsblk
のコマンドのフィールドを調べて、HCTLフィールドに数字3を含むディスクを確認します。 - BootOrderの最初のエントリは、
Boot000A
PARTUUID値を使用して起動するパーティションを指定します。出力フィールドを75d67bdc-e92a-47f3-6816-e6f03bed26e9
表示してディスクを識別します。PARTUUID
lsblk
0003
起動順序の前の起動エントリの1つに誤ったGRUBインストールが含まれているようです。おそらく、以前のインストールの残りの部分であるか、ディレクトリの検索/boot/grub
に使用するファイルシステムUUIDがレプリケーションプロセス中に変更された可能性があります。 GRUB インスタンスがシャットダウンすると、ファームウェアはBoot0003
有効なブートローダのエントリが見つかるまでブート順序リストに進みます。これは、代替/リムーバブルメディアパス、つまり任意のEFI/BOOT/BOOTx64.efi
パーティションに存在する可能性があります。
/boot/efi/
「完全な」修正は、ESPパーティション(にマウントする必要があります)を含むディスクのLinuxデバイス名を識別してから、次のことを実行することができます。
sudo grub-install --target=x86_64-efi /dev/sdX
/dev/sdX
ESPパーティションを含むディスク装置全体の名前に置き換える必要があります。これにより、GRUBがESPパーティションに自動的に書き換えられ、アクティブなefibootmgr -v
GRUBインスタンスを正しく指すようにリストが更新されます。
ディスクが認識されない場合は、回避策として次のコマンドを使用できます。
sudo efibootmgr --bootorder 0003,000A,0000,0001,0002,0004,0005,0006,0007,0008,0009
これにより、動作している起動エントリを起動順序の最初の起動エントリとして配置するようにファームウェアに指示するため、機能しない起動エントリを終了する必要がなくなります。すぐに問題を解決する必要がありますが、後でカーネルまたはGRUBアップデートをインストールまたは有効にすると問題が発生する可能性があります。システムを正常に起動したGRUBインスタンスが、パッケージを管理するために更新するインスタンスと同じであることを確認する方法がないためです。システム。