Dan*_*Dan 14 boot virtualbox shell bootloader efi
我正在为 Mac OSX 运行一个虚拟机,它总是启动到 EFI shell,我只想简单解释一下这是什么以及如何(如果可能)退出它。
Rod*_*ith 16
EFI shell 是一个命令行工具,在概念上类似于 Linux/Unix/OS X 中的 bash 或 Windows 中的命令提示符窗口。它允许您查看、删除、编辑和重命名文件,以更新 EFI 引导管理器条目等。您可以通过键入退出 shell exit;但是,在 VirtualBox 的情况下,这可能会将您带到一个同样令人困惑的 EFI 菜单。
如果您在 VirtualBox 会话中安装了操作系统,则它很可能在EFI 系统分区 (ESP)上安装了引导加载程序。大多数操作系统将这些引导加载程序注册到固件,固件会记住它们并自动引导它们。VirtualBox 的一个怪癖是它通常会忘记这些引导管理器条目。结果是默认情况下 VM 启动到 EFI shell。有几种方法可以处理这个问题,包括:
fs0:以访问第一个文件系统,通常是 ESP。cd EFI\{osname},其中{osname}是您的操作系统安装其引导加载程序的目录的名称。(你没有说你安装了什么操作系统,所以我不能确定那是什么。打字ls EFI会告诉你那里有什么。)grubx64.efi. 对于 Windows,它是bootmgfw.efi.startup.nsh在 ESP 的根目录中)自动执行上述过程。EFI\BOOT\bootx64.efi,这是后备文件名:
fs0:以访问第一个文件系统,通常是 ESP。mv EFI\{osname} EFI\BOOT以重命名引导加载程序所在的目录。如上所述,您必须确定什么{osname}是您自己。mv EFI\BOOT\{loadername.efi} EFI\BOOT\bootx64.efi,其中{loadername.efi}是引导加载程序的名称,例如grubx64.efi对于大多数 Linux 安装。就我个人而言,我最常使用的解决方案是将引导加载程序从操作系统的默认名称重命名为EFI\BOOT\bootx64.efi. 这是最容易实现的,而且效果很好。这种方法的一个缺点是,如果您的操作系统更新了引导加载程序,更新可能会转到原始位置,因此如果您想使用更新的引导加载程序,则必须重复该过程。
| 归档时间: |
|
| 查看次数: |
60157 次 |
| 最近记录: |