我正在尝试从 Grub 启动到 USB 记忆棒,我找到了一些网站来解释如何操作,但当我按照这些说明操作时,似乎不起作用。我认为这些指南可能已经过时了。我确实发现https://askubuntu.com/a/436735,但其中似乎仅涵盖了当 grub 上已经有正在运行的工作系统时如何向其中添加条目。
https://blog.viktorpetersson.com/2014/07/29/how-to-boot-from-usb-with-grub2.html告诉我从 grub shell 运行以下命令:
grub> linux (hd1,msdos1)/install/vmlinuz root=/dev/sdb1
grub> initrd (hd1,msdos1)/install/initrd.gz
grub> boot
但是该记忆棒仅包含 /efi/boot/bootx64.efi 和 /efi/boot/grubx64.efi。我通过设置set root=(hd1,msdos2)
(即 USB 记忆棒)然后按 Tab 键找到了它find /
。所以我的问题是:如何从该 USB 记忆棒启动 grub?
附言:在这台电脑上,从 BIOS 启动到 USB 似乎不起作用。
答案1
从 grub 启动 USB 上的 ISO 文件
您可以使用桌面 grub 循环挂载来启动 USB 上的 ISO。将以下菜单项(或类似内容)添加到 /etc/grub.d/40_custom:
menuentry "Ubuntu-18.04.1-desktop-amd64.iso" {
set root=(hdx,1)
loopback loop /Ubuntu-18.04.1-desktop-amd64.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/Ubuntu-18.04.1-desktop-amd64.iso splash --
initrd (loop)/casper/initrd.lz
}
其中 x 是 USB 驱动器编号。
然后在终端运行:
sudo update-grub
如果想要持久性,可以添加一个标记为 casper-rw 的 ext4 持久分区,然后在 grub.cfg 的“splash --”后添加一个空格和单词“persistent”
从桌面 grub 启动完整安装 USB
您还可以使用桌面的 grub 启动完整安装 USB。
将您喜欢的菜单项从 USB 的 grub.cfg 复制到内部驱动器上的 /etc/grub.d/40_custom。
然后在终端运行:
sudo update-grub
答案2
如果您使用 balena Etcher 将 iso 映像刷入 USB,请使用 Windowz 磁盘工具再次查看。虽然 USB 的第一个分区有那些 bootx64.efi 文件,但您找不到 .iso 文件。
显然,balena Etcher 应用程序在创建某些发行版(例如 Kali)时遇到了问题。