Mac OSX用の仮想マシンを実行しているのですが、常にEFIシェルで起動してしまいます。
EFIシェルは、Linux/Unix/OS Xのbashや、Windowsのコマンドプロンプトウィンドウに似たコンセプトのコマンドラインツールです。このツールでは,ファイルの表示,削除,編集,名前の変更,EFIブートマネージャのエントリの更新などを行うことができます。シェルを終了するには exit
と入力しますが、VirtualBox の場合は EFI メニューが表示されてしまい、同じように混乱してしまうでしょう。
VirtualBoxのセッションでOSをインストールした場合、ブートローダーを[EFI System Partition (ESP)]にインストールしている可能性があります(http://en.wikipedia.org/wiki/EFI_System_partition)。ほとんどのOSはこれらのブートローダーをファームウェアに登録し、ファームウェアがそれらを記憶して自動的に起動します。VirtualBoxの特徴として、これらのブートマネージャのエントリを忘れてしまうことがあります。その結果、VMはデフォルトでEFIシェルで起動することになります。この問題に対処するには、以下のようないくつかの方法があります。
fs0:
と入力して、最初のファイルシステム(通常はESP)にアクセスします。
2.2. cd EFI\{osname}
と入力します。ここで {osname}
は OS がブートローダをインストールしたディレクトリの名前です。(ここで{osname}
とは、お使いのOSがブートローダーをインストールしたディレクトリの名前です(インストールしたOSをおっしゃっていないので、それが何かはわかりません)。ls EFIと入力すると、そこに何があるかわかります) 3.ブートローダーの名前を入力してブートローダーを起動します。繰り返しますが、それが何であるかはわかりません。Linuxの場合、通常は
grubx64.efiです。Windowsの場合は、
bootmgfw.efi`となります。startup.nsh
)を使って、上記の手順を自動化します。EFI\BOOT\bootx64.efi
に変更する。
1.1. fs0:
と入力して、最初のファイルシステム(通常は ESP)にアクセスします。
2.2. mv EFI\{osname} EFI\BOOT
と入力して,ブートローダがあるディレクトリの名前を変更します。上記のように、{osname}
が何であるかを自分で判断しなければなりません。
3.3. 「mv EFI\BOOT{loadername.efi}」と入力します。3. mv EFIBOOT\{loadername.efi}
と入力します。ここで、{loadername.efi}
はブートローダの名前です。個人的によく使う解決策は、ブートローダーの名前をOSのデフォルトから「EFI\BOOT\bootx64.efi」に変更することです。これは最も簡単な方法であり、十分に機能します。この方法の欠点は、OSがブートローダをアップデートした場合、そのアップデートはおそらく元の場所に行われるので、アップデートされたブートローダを使いたい場合は、このプロセスを繰り返さなければならないことです。