我从一个闪存中干净地安装了13.04,但是在重新引导之后,我唯一的uefi引导选项是基本的efi shell条目和闪存驱动器
所以我做的第一件事就是用闪存盘启动现场环境,把chroot安装到13.04中,然后用grub和efibootmgr完成它。
我注意到的第一件事是,在chroot环境下复制resolv.conf似乎没有给我提供wifi访问权限。
第二件事,尝试创建一个新的efibootmgr条目什么也不做--我尝试过一些假条目,但是验证总是只显示默认的efi shell条目。
所以我的主要问题是:他们是否改变了efibootmgr的任何内容?有没有其他人设法用uefi启动13.04?
PS:这很大程度上显示了我所使用的命令(如果有帮助的话)。这似乎表明了测试版中存在的问题。
发布于 2013-04-29 16:43:02
我听说过efibootmgr的某些版本中有可能导致这个问题的bug。您可以尝试在较旧版本的Ubuntu中使用efibootmgr,或者在系统救援光盘这样的救援系统中使用它来绕过这个bug,如果这是原因的话。
如果这不起作用,您可以尝试将ESP上的EFI/ubuntu/grubx64.efi文件复制到EFI/BOOT/bootx64.efi。如果没有安装其他操作系统,这应该可以让它正常工作。开机修理工具将自动完成这项工作,甚至更多;即使安装了Windows,它也应该可以工作。
如果安装了Windows,另一种选择是在Windows中使用bcdedit:启动管理员命令提示符,然后键入bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi。(如果您具有安全引导活动,则需要激活shim.efi或shimx64.efi 我不知道在Ubuntu叫什么而不是grubx64.efi。)
发布于 2013-05-12 13:41:18
3.8系列内核中的一个bug阻止了EFI变量的创建(至少在许多Asus和千兆字节主板上如此),因此efibootmgr无法创建任何引导选项(该实用程序本身只是静悄悄地退出而不显示任何消息,但您可以在dmesg或strace efibootmgr中找到此错误)。
不幸的是,尽管这个问题已经知道,但在发布前还没有修复,而且它似乎仍然没有发布一个可以工作的内核,也没有提供能够打印出正确的错误消息的efibootmgr。我希望这件事能尽快解决。否则,我的建议是使用旧版本,例如3.5系列内核在13.04上工作,或者您可以使用12.10 LiveUSB。
破坏它的上游内核补丁:http://lkml.indiana.edu/hypermail/linux/kernel/1303.0/00887.html
我不知道上游是否也解决了这个问题,但肯定有讨论过。
Ubuntu仍然是坏的,相关的bug报告:https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1167622
https://askubuntu.com/questions/286462
复制相似问题