最近、VirtualBoxにさらに別のLinuxシステムをインストールしました。しかし、EFIでは。 今回はManjaro Linuxでしたが、これは特に問題ではありません。
VirtualBox EFIブートローダーは、OSのロードを続行するために.efi
ファイルを認識しません。
私の回避策は、CD/DVDから起動し、Detect EFI bootloadersを選択することでした
しかし、そのような回避策を常に使用することは良い方法ではありません。
このような不便な動作を修正する方法-VirtualBoxEFIに.efi
ファイルの場所を指示する方法-ブートローダー。
このシーケンスを試してください:
Shell> fs0:
edit startup.nsh
\EFI\Manjaro\grubx64.efi
ctrl-s <cr>
<enter>
ctrl-q <cr>
reset
注\EFI\Manjaro\grubx64.efi
は、具体的なシステムによって異なる場合があります。例えば。 \EFI\ubuntu\grubx64.efi
edit: Access Denied
を受け取った場合-すべてのCDとDVDをアンマウントします。それが動作するはずより。
コマンドls
は、何がfs0
としてマウントされているかを理解するのに役立ちます。また、他のfsX:
を試すこともできます。
EFIブート構成を永続的にすることはできません forums.virtualbox.org
buntu/LinuxOS用のEFIVboxホストを起動する方法 YouTube
君たちありがとう。
通常の構成では、EFIファームウェアはNVRAM内のEFIブートローダーを追跡します。 OSをインストールすると、そのブートローダーがファームウェアに登録されることになっています。その結果、ブートローダーを指すNVRAMエントリが作成され、ファームウェアはブートローダーを起動できます。これは通常は問題なく機能しますが、「実際の」ハードウェアでもNVRAMエントリが消去されたり破損したりする問題があります。残念ながら、VirtualBoxは、使用の合間に「NVRAM」データを保存するという不十分な仕事をします。起動するたびに、新しいデフォルトのデータセットから開始する傾向があります。これは、ほとんどすべてを起動する機能で大混乱をもたらします。
IMHO、最も簡単な回避策は、仮想化ディスクの EFIシステムパーティション(ESP) にEFI/BOOT/bootx64.efi
(大文字と小文字を区別しない)のフォールバックファイル名を使用してブートローダーを保存することです。 EFIが他に何も起動できない場合、EFIはこのブートローダーを起動しようとします。大まかに言えば、Linuxディストリビューションをインストールする場合、これを行うには2つの方法があります。
EFI/manjaro/grubx64.efi
を使用しているとすると、EFI/manjaro
をEFI/BOOT
にコピーまたは名前変更してから、そのディレクトリのgrubx64.efi
をbootx64.efi
に名前変更します。必要に応じて、Manjaroのデフォルトのブートローダー以外のものを使用できます。利用可能なものについては、 主題に関する私のページ を参照してください。fallback.efi
またはfbx64.efi
(同じプログラム、異なる名前)を使用できます。このEFIプログラムはおそらくESPのどこかにすでにインストールされているか、少なくともディストリビューションのパッケージ(おそらくGRUBまたはShim)で利用可能です。このファイルをEFI/BOOT/bootx64.efi
にコピーしてから、実際のブートローダーが存在するディレクトリにBOOT.CSV
ファイルを作成します。このファイルは、実際のブートローダーの名前に関するデータと、grubx64.efi,Manjaro,,This is the boot entry for Manjaro
などの関連データを保持します。重要なことに、このファイルは、プレーンASCIIではなく、UCS-2またはUTF-16である必要があります。 fallback.efi
/fbx64.efi
が(bootx64.efi
として)起動すると、ESPのEFI
のサブディレクトリで.CSV
ファイルを検索します。見つかった場合は、それらを使用して新しいNVRAMエントリを生成します。これは、失われたNVRAMエントリの回復に役立つことを目的としているため、VirtualBoxの「NVRAM amnesia」問題を回避する1つの方法です。最初のアプローチはセットアップが簡単である可能性がありますが、GRUB構成は扱いにくい場合があることに注意してください。 ESPでgrub.cfg
を探す場合は、GRUBが期待する場所に残っていることを確認する必要があるため、移動する必要がある場合とない場合があります。また、パッケージシステムが更新されたGRUBを提供する場合、新しいパッケージの利点を得るには、それを再度コピーする必要があります。 2番目のアプローチは説明が難しく、セットアップが少し面倒ですが、ブートローダーの更新をインストールしやすくするため、私はそれを好み始めています。
Kybが示唆しているように、EFIシェル起動スクリプトを使用するなど、問題を回避する他のアプローチもあります(ただし、これにより、上記のソリューションよりも起動時間が長くなります)。また、以前は、VirtualBoxファームウェアインターフェイス自体を使用して新しいNVRAMエントリを作成することが可能でしたが、これは永続的でした。しかし、これはある時点で機能しなくなったようです。少なくとも、最後に試したときは機能しませんでした。