有没有办法通过grub菜单从USB启动?

我正在使用双系统,Ubuntu 16.04 和 Windows 10。出现了一个问题,我无法正常启动 Windows,并尝试通过 USB 驱动器来恢复它。然而,即使我改变了启动顺序,grub 菜单仍然显示,我没有选择从 USB 启动的选项。


https://superuser.com/questions/349633/boot-from-usb-using-grub - Shayan
1个回答

是的,有一种方法。 首先确保从固件设置中禁用了安全启动。(按下启动时打开的f2键)
然后按照以下步骤操作:

  • 在grub菜单中按c键打开命令行
  • 输入ls以列出所有硬盘上的分区

我的输出如下:

grub>ls 
(hd0) (hd0,gpt1) (hd1) (hd1,gpt8) (hd1,gpt7) (hd1,gpt6) (hd1,gpt5) (hd1,gpt4) (hd1,gpt3) (hd1,gpt2) (hd1,gpt1)

这清楚地显示出我的USB驱动器是hd0。
  • 输入ls (hd0,gpt1)以确认:

输出如下:

grub>ls (hd0,gpt1) 
Partition hd0,gpt1: Filesystem type fat - Label `CES_X64FREV`, UUID 4099-DBD9 Partition start-512 Sectors...

请在(hd0,gpt1)的位置输入USB磁盘的第一个分区地址,例如:(hd1,gpt1)(hd2,gpt1)。根据ls命令的输出确定。
我们需要上述行中显示的UUID。
请注意您的USB驱动器的UUID。
逐个输入以下命令。
insmod part_gpt insmod fat insmod search_fs_uuid insmod chain search --fs-uuid --set=root 409-DBD9
请在4099-DBD9的位置写入您之前记下的UUID。
现在我们选择要从中引导的 efi 文件。键入以下内容: chainloader /efi/boot/bootx64.efi 最后键入 boot

就是这样,应该能启动USB驱动器。


1Google就是答案! - The_Loud.Speaker
1在其他多种尝试失败后,终于成功启动了Mint 19 Tara的USB启动盘!太神奇了! - jcandy
应该标记为正确答案。 - Yakko Majuri
1它成功了!但我不得不跳了一些舞才能达到这点。不确定ls命令“清晰地”显示出哪个是哪个。最后我使用了"ls (hd0)",它给出了与我的USB磁盘大小相匹配的大小以确认。然后我再次使用了"ls"命令并通过Tab补全找到(hd0,msdos2)包含/efi/boot/bootx64.efi路径的情况:"ls (hd0,msdos2)/efi/boot/bootx64.efi",接着我可以获取UUID并按照其余步骤进行操作。 - Noremac
1/efi/boot/bootx64.efi ... 文件未找到 ... 请帮忙 - Rafael
1谢谢,兄弟。终于在整整一天尝试了很多方法后成功了。 - Mohsin Amjad
如果你收到“文件未找到”的错误,可能是因为全大写。执行ls命令查看。 - Squirrel