我在VirtualBox中使用UEFI安装了Ubuntu 14.10。但现在我重新启动这个操作系统,它却进入了一个UEFI交互式Shell v2.0。我该如何正常地再次引导到Grub?
fs0:\efi\ubuntu\grubx64.efi
(使用反斜杠,前斜杠无效。UEFI交互式Shell中的命令不区分大小写。)
我的VirtualBox版本是4.3.20 r96997,Ubuntu版本是14.10 AMD64。我不知道为什么会出现这个问题,也不知道如何解决。只是发现这个方法不太优雅,还有一点麻烦。
更新1:
我阅读了this,跟踪到a bug report,并找到了一个更好的解决方法。
更新2:
更新1中的解决方法失败了。我关闭了虚拟机,重新启动它。然后它又进入了UEFI交互式Shell。根据this的说法,问题可能是由于VirtualBox的一个bug引起的。我仍在寻找更进一步的解决方案。
更新3:$ sudo mount /dev/sda1 /mnt
$ cd /mnt
$ sudo sh -c "echo '\EFI\ubuntu\grubx64.efi' > startup.nsh"
\EFI\boot\bootx64.efi
似乎比等待启动.nsh 5秒钟更好。请注意:您可以在启动过程中按F12键或在EFI shell中输入“exit”来访问固件设置并修改各种内容,包括终端分辨率,但这些修改不会永久保存。 - LiveWireBTrefind
来修复EFI问题。 - Eduardo\EFI\boot\bootx64.efi
以跳过5秒的等待时间。 - CallMeLaNN/boot/efi
,所以不需要挂载/dev/sda1
。 - Philip Coulingls
命令找到适合您机器的正确路径。例如,执行ls FS0:\EFI
,然后执行ls FS0:\EFI\redhat
,以了解在CentOS上路径为FS0:\EFI\redhat\grub.efi
。 - ntc2FS0:\EFI\Slackware\elilo.efi
。 - fabiomaiagrubx64.efi
复制到 /EFI/boot/bootx64.EFI
。bootx64.efi
进行引导。BLK2:/EFI/ubuntu/grubx64.efi
sudo echo 'BLK2:/EFI/ubuntu/grubx64.efi' > /boot/efi/startup.nsh
fs0:
cd EFI
cd ubuntu
grubx64
fs0:
cd EFI
cd ubuntu
grubx64
sudo nano /boot/efi/startup.nsh
FS0
- 这是数字 0
,不是字母 O
)FS0:
\EFI\ubuntu\grubx64.efi
Enter
。sudo reboot
Shell> bcfg boot add 0 FS0:\EFI\GRUB\grubx64.efi "GRUB"
efibootmgr
或者重新安装grub来自动添加),这样就可以立即启动Ubuntu了。 - phkefibootmgr
设置所需的引导设置)在关机后会丢失(但在重新启动后会保留)。 - chappjc