私はMac OSX用の仮想マシンを実行しており、常にEFI Shellで起動します。これが何であるか、そして可能であればどのように終了するかについての簡単な説明が欲しいのです。
EFIシェルは、Linux/Unix/OS XのbashやWindowsのコマンドプロンプトウィンドウと概念が似ているコマンドラインツールです。ファイルを表示、削除、編集、名前変更したり、EFIブートマネージャエントリを更新したりすることができます。 exit
と入力してシェルを終了できます。しかしながら、VirtualBoxの場合、これはおそらくあなたをEFIメニューに連れて行くでしょう。
VirtualBoxセッションにOSをインストールしたことがある場合、それは EFIシステムパーティション(ESP)にブートローダをインストールしている可能性があります。 ほとんどのOSはこれらを登録しますファームウェアを使ってブートローダを起動すると、それらを記憶して自動的に起動します。 VirtualBoxの奇妙な点の1つは、通常これらのブートマネージャエントリを忘れてしまうことです。その結果、VMがデフォルトでEFIシェルを起動します。この問題に対処する方法はいくつかあります。
fs0:
と入力します。cd EFI\{osname}
と入力します。ここで{osname}
は、OSがブートローダーをインストールしたディレクトリの名前です。 (あなたがどのOSをインストールしたかについては言っていないので、それが何であるのか私にはわかりません。ls EFI
をタイプするとそこにあるものが表示されます)grubx64.efi
です。 Windowsの場合はbootmgfw.efi
です。startup.nsh
)を使用して上記の手順を自動化します。EFI\BOOT\bootx64.efi
に変更します。fs0:
と入力します。mv EFI\{osname} EFI\BOOT
と入力します。上記のように、あなたは{osname}
があなた自身であるものを決定しなければなりません。mv EFI\BOOT\{loadername.efi} EFI\BOOT\bootx64.efi
と入力します。ここで、{loadername.efi}
はブートローダーの名前です。たとえば、ほとんどのLinuxインストールではgrubx64.efi
です。個人的には、私が最もよく使う解決策はブートローダの名前をOSのデフォルトからEFI\BOOT\bootx64.efi
に変更することです。これは実装が最も簡単で、十分に機能します。このアプローチの1つの欠点は、OSがブートローダを更新した場合、その更新はおそらく元の場所に移動するため、更新されたブートローダを使用する場合はプロセスを繰り返す必要があることです。