VirtualBox boots only in UEFI Interactive shell

本文介绍如何通过EFI shell编辑启动项,将Ubuntu的GRUB设置为默认启动加载器。具体步骤包括使用EFI shell进入编辑模式,修改指定的.efi文件路径,并保存设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Wait for the EFI shell to leave you at the terminal.

Type:

edit startup.nsh

Type the path to your desired .efi file. Typically:

fs0:\EFI\ubuntu\grubx64.efi

Ctrl+S to save.

Enter to confirm.

Ctrl+Q to exit back to shell.

Reboot the VM. It will still display the EFI shell but will load Grub automatically.

转载于:https://my.oschina.net/qwfys200/blog/1636135

### 如何下载和安装 UEFI Shell UEFI ShellUEFI 固件的一部分,通常由主板制造商或固件供应商提供。以下内容将详细介绍如何获取和安装 UEFI Shell。 #### 下载 UEFI Shell UEFI Shell 并不是一个独立的软件,而是作为 UEFI 固件的一部分存在。因此,下载 UEFI Shell 的方法通常依赖于以下途径: 1. **主板厂商提供的工具包** 许多主板厂商会在其官方网站上提供包含 UEFI Shell 的工具包。用户可以根据主板型号访问厂商官网,查找对应的 UEFI 工具包进行下载[^1]。例如,华硕、技嘉等厂商通常会提供支持 UEFI Shell 的固件更新文件或工具包。 2. **EDK II 开源项目** 如果需要手动编译 UEFI Shell,可以使用 EDK II(Edk II Development Kit)开源项目。该项目提供了 UEFI Shell 的源代码,用户可以通过编译生成适合目标平台的 UEFI Shell 可执行文件[^3]。编译步骤如下: - 克隆 EDK II 仓库:`git clone https://github.com/tianocore/edk2.git` - 配置编译环境并生成 UEFI Shell 文件。 3. **UEFI 规范文档中的参考实现** 在 UEFI 规范文档中提到,UEFI Shell 的实现可能随不同的固件版本而异。某些情况下,UEFI Shell 可能已经预装在固件中,无需额外下载。 #### 安装 UEFI Shell 安装 UEFI Shell 的过程取决于具体的需求和环境: 1. **通过固件更新安装** 如果主板固件不包含 UEFI Shell,可以通过固件更新的方式添加支持。访问主板厂商官网,下载最新的固件更新文件,并按照说明进行固件刷新操作。 2. **手动加载 UEFI Shell** 如果需要在现有固件中加载 UEFI Shell,可以将编译好的 UEFI Shell 文件(通常是 `.efi` 格式的可执行文件)放置到 UEFI 系统分区中。然后,在 UEFI 固件设置界面中指定该文件为启动项。例如: ```bash fs0:\EFI\Shell\shellx64.efi ``` 3. **使用虚拟机测试** 对于开发或学习目的,可以使用虚拟机工具(如 QEMU 或 VirtualBox)加载 UEFI Shell。这些工具支持加载 OVMF(Open Virtual Machine Firmware),其中通常已包含 UEFI Shell[^3]。 #### 注意事项 - 确保下载的 UEFI Shell 版本与目标平台的架构匹配(如 x86_64 或 ARM64)。 - 在修改或加载 UEFI Shell 时,务必小心操作,避免对系统造成不可逆的影响。 ```python # 示例:检查当前系统的 UEFI Shell 是否可用 import subprocess try: result = subprocess.run(["uefi_shell", "--version"], capture_output=True, text=True) print("UEFI Shell 版本:", result.stdout.strip()) except FileNotFoundError: print("未检测到 UEFI Shell,请先安装。") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值