从实时 USB 启动时,我需要禁用 uefi 变量。我该怎么做?
我认为这是通过设置来完成的noefi
,所以如果这是正确的方法,我该怎么做?我尝试过从grub-edit
临时设置开始nomodeset
,但没有改变任何东西。
答案1
为什么需要禁用 EFI 变量?可能还有另一种方法可以实现您的最终目标,而无需弄乱 EFI 变量。
内核noefi
选项确实应该禁用 EFI 变量。如果您只尝试过一次,您可以再试一次;也许您输入错了。我刚刚在 VirtualBox 中尝试安装 Ubuntu 12.04,并noefi
禁用了 EFI 变量支持。(efibootmgr
不再起作用并且/sys/firmware/efi
丢失了。)您也可以尝试将其放在内核选项中的其他地方。
另一种选择是使用 BIOS 模式引导加载程序而不是 EFI 模式引导加载程序进行引导。如果您使用的 USB 设备是 Ubuntu 安装程序,我相信它包含两种类型的引导加载程序,因此您应该能够使用固件的引导选项,或者可能重新索引0.4.6 或更高版本来选择您的启动模式。如果您使用的是自定义 USB 闪存驱动器,则需要手动安装 BIOS 版本的 GRUB。
最后一种选择可能是删除efivars
内核模块,例如rmmod efivars
,后启动。我尝试测试这一点,但我的测试系统使用自定义内核,该模块直接编译进去,而不是作为模块,所以我不能保证您能够删除该模块。
答案2
任何一个:
noefi
通过内核选项从 GRUB 禁用它- 或者让您的固件(BIOS)以传统模式启动 USB。
- 或者使用不兼容 EFI 的 ISO。例如,Ubuntu32bit 无法在 UEFI 模式下启动。