我正在尝试从 GRUB 启动 Ubuntu .iso 映像。在Full Circle
杂志,#157 第 61 页,他们描述了如何做到这一点。它不起作用。
我编辑/etc/grub.d/40-custom
并添加了以下内容...
# Full Circle #157, page 61
menuentry "Ubuntu 20.04 ISO" {
insmod part_gpt
insmod ext2
set root=(hd0,gpt7)
set isofile="/ubuntu-20.04-desktop-amd64.iso"
loopback loop $isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
initrd (loop)/casper/initrd
}
我的 Ubuntu 根目录位于 /dev/sda7。
我的 .iso 文件位于 /。
我尝试启动 .iso 时遇到的错误是...
disk hd0,gpt7 not found
no server is specified
can't find command noprompt
you need to load the kernel first
关于如何使这项工作的任何想法?
在 HDD 上引导 ISO 文件(包括 20.04)
引导 ISO 的基本 GRUB 环回菜单项是:
hdX
磁盘在哪里,Y
是 ISO 位置的分区号。[path]
是 ISO 文件的路径,是 ISO 文件[name]
的名称。允许多个 ISO 文件,每个 ISO 文件需要一个或多个菜单项。(每个 ISO 可以有多个持久性文件)。
持久性(可选)
如果我们想要一个持久的操作系统,请将这个词添加
Persistent
到 GRUB 菜单项,(通过/etc/grub.d/40-custom
)。如果使用持久分区,请将其设置为 ext4 并将其标记
casper-rw
为 19.10 和以前的 ISO 文件。对于 20.04 ISO 文件,请标记持久分区
writable
。每个驱动器只允许一个持久分区,
如果使用持久性文件,每个 ISO 都可以拥有自己的持久性。
每个 ISO 可以有一个
writable
(或casper-rw
)最大 4GB 的文件和一个最大 4GB 的可选home-rw
文件。永久文件必须位于FAT32 分区上。
如果使用了多个持久性文件,则必须给出持久性路径。只需要持久文件文件夹的唯一名称。每个文件夹一个 casper-rw/writable 文件和一个 home-rw 文件。
GRUB 2.04 解决方法
Ubuntu 版本 18.04 和之前的版本使用 GRUB 2.02 进行引导。19.10 及更高版本使用 GRUB 2.04 在 UEFI 模式下引导。GRUB 2.04 在 UEFI 模式下启动 ISO 文件时出现问题。
在 GRUB 2.04 UEFI 模式下引导 ISO 文件的解决方法是在第一个菜单
rmmod tpm
项/boot/grub/grub.cfg
之前添加:如果主机系统是 19.10 之前的版本,则应该使用 GRUB 2.02,并且不需要变通方法。
最终菜单项可能如下所示:
显示
rmmod tpm
在备用位置。toram
该选项可用于在具有大量 RAM 的计算机上以高速启动到 RAM,但启动时间较长。fsck.mode=skip
选项停止文件系统检查。maybe-ubiquity
可以通过从 grub.cfg中删除来消除 Language/Try/Install 屏幕在菜单项中找到
rmmod tpm
备用位置,error: no such module
在 BIOS 模式下启动时会发出警告,请参阅帖子 60 错误报告https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1851311mkusb USB-pack-EFI 替换
rmmod tpm
为:所以这
rmmod tpm
只能在 UEFI 引导上运行。感谢@CSCameron 的修复!这是我的最终
/etc/grub.d/40-custom
文件。添加
rmmod tpm
(参见https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1851311)更改
set root=
为 hd0<->hd1 取决于是否连接了外部 USB 磁盘与上面类似。硬盘引导有几个问题。
我从我的硬盘驱动器或 SSD 启动 ISO。我通常有两个驱动器并为 ISO 创建一个单独的分区。然后我从一个驱动器启动 ISO 以安装到另一个驱动器。
我发现我现在必须添加
rmmod tpm
,但通常必须卸载 /isodrive 并更改 ESP 的安装,因此它不会覆盖我的主要工作安装。2.04 内存不足错误循环挂载
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1851311
所以它不会覆盖我的 ESP,我在添加名称和密码的屏幕上卸载 ESP。我稍后必须编辑 fstab,因为它仍然具有原始 ESP。我检查安装、卸载 ESP 并安装另一个 ESP,如我的 sdb 或外部闪存驱动器。
Ubuntu 安装程序使用错误的引导加载程序位置进行 USB/sdb UEFI 安装
https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1173457
我的 Groovy 的 ISO 启动,我现在使用标签,所以这是来自我的 SSD 上的分区和来自 sda 的 sdb 驱动器上的 Groovy 测试安装:
同样,这是来自 HDD 上的分区。这是 Focal 对我的 SSD 的新安装,现在是我的主要工作安装。我的 SSD 上还有 18.04。
发现使用标签挂载驱动器,分区避免了在插入另一个 USB 驱动器重新启动并将驱动器从 hd1 更改为 hd2 时更换驱动器的问题。
如何添加 GRUB2 菜单项以在 USB 驱动器上引导安装的 Ubuntu?