我曾多次尝试在 UEFI 模式下运行的 Lenovo Thinkpad X120e 机器上安装 Ubuntu Server 20.04。安装一直进行到“将 grub 安装到目标设备”步骤,然后失败。以下是安装日志中的最后一条记录。
Command ['unshare', '--fork', '--pid', '--', 'chroot', '/target', '/usr/lib/grub/grub-multi-install']
Exit code: 1
Reason: -
Stdout: ''
Stderr: Installing grub to /boot/efi
Installing for x86_64-efi platform
grub-install: warning: Cannot set EFI variable Boot000A.
grub-install: warning: efivarfs_set_variable: writing to fd 7 failed: Invalid argument.
grub-install: warning: _efi_set_variable_mode: ops->set_variable() failed: Invalid argument.
grub-install: error: failed to register the EFI boot entry: Invalid Argument.
根据我所做的研究,联想这个时代的机器(2011 年左右)可能存在一些 UEFI 固件问题?这个答案无法准备启动变量:设备上没有剩余空间 grub-install:错误:efibootmgr 无法注册启动项:输入/输出错误似乎建议我尝试“efi_no_storage_paranoia”内核选项,但我不确定如何设置此变量并继续安装程序。我也不确定这是否能解决问题。
我已经退出实时安装程序的交互式 shell 并尝试运行efibootmgr
(日志表明已安装)但我没有收到任何响应。
关于如何设置“efi_no_storage_paranoia”选项并成功完成引导加载程序安装,您有什么建议吗?或者关于如何安装它,您有其他想法吗?谢谢!
答案1
我可以使用该efi_no_storage_paranoia
参数来安装它!
要添加参数,请在实时 USB 启动菜单上按“e”。然后在开头efi_no_storage_paranoia
的行中添加最后一个参数linux
。按 F10 以现在设置的参数进行启动。
一旦实时 USB 启动,我建议进入 shell(通过帮助菜单或其他方式)并输入dmesg | grep "Command line"
。如果你正确输入了内核参数,你应该会efi_no_storage_paranoia
在命令末尾看到列出。
请注意,使用此参数可能很危险(并且会导致系统崩溃),因此请仅在确定这是问题所在时才使用它。
从这里我可以正常进行,并且 grub 安装过程顺利进行!
答案2
尝试在 Dell Wyse 7020 上安装 Ubuntu Server 21.10(几次)时,无论我在安装过程中尝试如何改变,安装总会在“配置 grub”阶段以错误结束。
efi_no_storage_paranoia
在启动屏幕上添加指令(按照 glorange 的提示),让我能够正常完成安装。
注意:我已确认分区表为 MBR 格式。设备的 BIOS/UEFI 屏幕中似乎没有任何与“安全启动”相关的选项。