UEFIでVirtualBoxにUbuntu 14.10をインストールしました。しかし、このOSを再起動し、UEFI Interactive Shell v2.0で起動します。Grubを通常どおり再起動するにはどうすればよいですか?
efibootmgr
シャットダウン後に必要なブート設定などのefi変数への変更は失われます(ただし、リブートは維持されます)。
UEFIでVirtualBoxにUbuntu 14.10をインストールしました。しかし、このOSを再起動し、UEFI Interactive Shell v2.0で起動します。Grubを通常どおり再起動するにはどうすればよいですか?
efibootmgr
シャットダウン後に必要なブート設定などのefi変数への変更は失われます(ただし、リブートは維持されます)。
回答:
同じ問題が発生し、インタラクティブシェルで次のコマンドを発行すると、仮想マシンがUbuntuで起動することがわかりました。
fs0:\efi\ubuntu\grubx64.efi
(バックスラッシュを使用すると、スラッシュは機能しません。UEFIインタラクティブシェルのコマンドは大文字と小文字を区別しません。)
私のVirtualBoxバージョンは4.3.20 r96997、Ubuntuバージョンは14.10 AMD64です。これがなぜ起こるのか、どうやって解決するのかはわかりません。これはエレガントではなく、まだ少し面倒な回避策であることがわかりました。
更新1:
これを読んで、バグレポートまで追跡して、より良い回避策を見つけました。
アップデート2:
Update 1の回避策は失敗しました。仮想マシンをオフにして起動しました。そして、再びUEFI Interactiveシェルを起動しました。よると、この問題はおそらく、VirtualBoxのバグによって原因でした。私はまだこれに対するさらなる解決策を探しています。
アップデート3:
最終的に解決策を見つけました。よると、この、手動でstartup.nshとスクリプトを作成する必要があります。上記の投稿のメソッドを除いて、これを行うこともできます:
$ sudo mount /dev/sda1 /mnt
$ cd /mnt
$ sudo sh -c "echo '\EFI\ubuntu\grubx64.efi' > startup.nsh"
\EFI\boot\bootx64.efi
スタートアップのために5つのsocondsを無駄にするよりも良いソリューションのように移動する2回目のアップデートのソリューション。注:ブート中にF12を押すかexit
、EFIシェルで入力してファームウェア設定にアクセスし、端末解像度を含むすべての種類を変更できますが、これらの変更は永続的に保存されません。
refind
EFIを修正するためにインストールできます
edit startup.nsh
。+1 \EFI\boot\bootx64.efi
5秒のスキップを探しています。
私は同じ問題を抱えていました(そうでなければEFIを実行できなかったため、EFIを有効にした)。奇妙な; Ubuntu 14.04.2のインストールはエラーになりませんでしたが、Kubuntu 15.04のインストールは完了しませんでした。DVDを削除するように求められたときに、最後にフリーズしました。リセット後は正常に起動しましたが、電源を切るとシェルが起動しました。
したがって、シェルタイプを回避するには:
fs0:
startup.nshを編集します
そして、開いたウィンドウに次の2行を追加します。
FS0:
\ EFI \ ubuntu \ grubx64.efi
プレスCtrl+はsしてEnter保存し、Ctrl+ q終了します。次に、VMを再起動します。
または、これらの2行を使用してシェルを終了し、OSを起動することもできます。しかし、2回目に再起動すると、再びシェルになり、編集を回避しますstartup.nsh
。
ls
は、UEFIシェルで使用しているマシンの正しいパスを把握できます。たとえばls FS0:\EFI
、ls FS0:\EFI\redhat
パスを学習するにはFS0:\EFI\redhat\grub.efi
、CentOSを使用します。
FS0:\EFI\Slackware\elilo.efi
。
別のオプションは、VMの「マザーボード」の下にある「EFIを有効にする」という拡張機能オプションのチェックを外すことです。
この問題がGnome Ubuntu 12.04.2 amd64bitのインストールで発生した場合。
これは、ハードウェアアクセラレーションの設定を変更する必要がある後に発見されました。VT-x / AMD-V、ネストされたページングを有効にしておくことにしました。VMには2つのCPU、参照用に8GB RAMがあります。
チェックを外すと、問題は完全に回避され、Gnome Ubuntuは問題なく起動します。Windows 7 64ビットホストでVirtual Box 4.3.18 r96516を実行します。
VirtualBoxにコピーgrubx64.efi
し/EFI/boot/bootx64.EFI
てbootx64.efi
、起動に使用します。
参照:Archlinux Virtualbox wiki
別の回避策:
uefiシェルで、次を使用して一時的にubuntuを起動します。
fs0:
cd EFI
cd ubuntu
grubx64
次に、ubuntu内で、startup.nshファイルを次のように編集します。
ターミナルCtrl+ Alt+を開きTます。
タイプ:
sudo nano /boot/efi/startup.nsh
パスワードを入力してください。
delまたはbackspaceキーを使用して、そこにあるものをすべて削除します。
次に、これを正確に入力します:(FS0
- 0
アルファベットではなく数字ですO
)
FS0:
\EFI\ubuntu\grubx64.efi
次に、Ctrl+ O(アルファベットO)を押します。
次に、Alt+ D(テキストをmsdos形式に変更します)。
次にを押しEnter
ます。
次にCtrl+ X。
次にリブートします。
sudo reboot
これですべてが正常になります。
EFIを有効にしてUbuntu 16.04.4を使用すると、仮想マシンの起動中に起動せず、EFIインタラクティブシェルに留まることがわかりました。
これは私がブートを修正した方法です:
最初に、grubx64.efiがBLK2にあることがわかったので、1回限りの起動のために、対話型シェルで次のように入力しました。
BLK2:/EFI/ubuntu/grubx64.efi
そして、ヴィオラ、Ubuntuは稼働しています。
この問題を永久に修正するために、システムが起動したら、次の行を/boot/efi/startup.nshにエコーしました。
sudo echo 'BLK2:/EFI/ubuntu/grubx64.efi' > /boot/efi/startup.nsh
それだけです、システムは正しく起動します。
UEFIでVirtualBox5にKubuntu15.10をインストールした後、VMの再起動が失敗します。
行を追加する
FS0:\ EFI \ ubuntu \ grubx64.efiUEFIシェルでは役に立ちません。
そして、chroot環境でKubuntu15.10に新しいstartup.nshファイルを作成するソリューション
sudo echo '\ EFI \ ubuntu \ grubx64.efi'> startup.nsh改善もありません。
私は解決策を見つけました:
問題は、ファイルgrubx64.efiを持つディレクトリ/ boot / efi / EFI / ubuntuが存在しないことでした。
Live-CDを起動してchroot環境に変更した後、不足しているパケットをインストールし、次のように必要なNVRAMエントリを作成しました。
sudo apt-get install grub-efi-amd64-signed shim-signed sudo update-grub
efiブートディレクトリを定義または変更するには、最初にこのコマンドを実行する必要があります。これで私の問題が解決しました。
sudo grub-install /dev/sda --target=x86_64-efi --efi-directory=/boot/efi/
注:/dev/sda
はシステムのハードディスクです。
efibootmgr
か、grubを再インストールすることで自動的に)、Ubuntuがすぐに起動します。