仮想ボックスでEFIシェルから抜け出す方法


12

私はMac OSX用の仮想マシンを実行しており、常にEFIシェルで起動します。これが何であり、可能な場合はそれを終了する方法について簡単な説明が必要です。

回答:


14

EFIシェルは、Linux / Unix / OS XのbashまたはWindowsのコマンドプロンプトウィンドウに概念が似ているコマンドラインツールです。ファイルの表示、削除、編集、名前の変更、EFIブートマネージャーエントリの更新などができます。exit;と入力すると、シェルを終了できます。ただし、VirtualBoxの場合、これはおそらく混乱を招く可能性のあるEFIメニューを表示します。

VirtualBoxセッションにOSをインストールしている場合は、おそらくEFI System Partition(ESP)にブートローダーがインストールされていますほとんどのOSは、これらのブートローダーをファームウェアに登録します。ファームウェアはそれらを記憶し、自動的に起動します。VirtualBoxの奇妙な点は、通常これらのブートマネージャーエントリを忘れることです。その結果、VMはデフォルトでEFIシェルで起動します。この問題に対処するには、次のようないくつかの方法があります。

  • EFIシェルを使用して、ブートローダーを手動で起動できます。
    1. fs0:通常はESPである最初のファイルシステムにアクセスするために入力します。
    2. タイプcd EFI\{osname}{osname}お使いのOSがブートローダーをインストールしたディレクトリの名前です。(どのOSをインストールしたかを言っていないので、それが何であるか確信が持てません。入力ls EFIするとそこに何が表示されます。)
    3. 名前を入力してブートローダーを起動します。繰り返しますが、私はそれが何であるかを知ることができません。Linuxの場合、通常はgrubx64.efiです。Windowsの場合、それはですbootmgfw.efi
  • EFIシェルスタートアップスクリプト(startup.nshESPのルートディレクトリ内)を使用して、上記の手順を自動化します。
  • ブートローダーの名前を、EFI\BOOT\bootx64.efiフォールバックファイル名であるに変更します。
    1. fs0:通常はESPである最初のファイルシステムにアクセスするために入力します。
    2. 入力mv EFI\{osname} EFI\BOOTして、ブートローダーが存在するディレクトリの名前を変更します。上記のように、{osname}自分自身が何であるかを判断する必要があります。
    3. を入力しますmv EFI\BOOT\{loadername.efi} EFI\BOOT\bootx64.efi。ここ{loadername.efi}で、grubx64.efiほとんどのLinuxインストールの場合など、ブートローダーの名前です。
  • シェルのツールを使用して、ブートローダーをVirtualBoxファームウェアに登録します。ウェブ上でこれを行う方法についての簡潔な説明は知らないので、ここに書く時間はありません。避けなければならない非自明な落とし穴がたくさんあるため、正確な指示がないとイライラする可能性があります。

個人的に、私が最もよく使用する解決策は、ブートローダーの名前をOSのデフォルトからに変更することEFI\BOOT\bootx64.efiです。これは実装が最も簡単で、十分に機能します。このアプローチの欠点の1つは、OSがブートローダーを更新する場合、おそらく元の場所に更新が行われるため、更新されたブートローダーを使用する場合はプロセスを繰り返す必要があることです。


Macはどうですか?指示が機能しない
-Pacerier
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.