我正在尝试直接从 ISO 文件启动 Ubuntu 20.04(存储在我的硬盘上) 使用 Grub-customizer 但我想将我的更改保存在持久存储中。 有没有办法创建持久存储?
答案1
启动 HDD 上的 ISO 文件
用于引导 ISO 的基本 GRUB 环回菜单项是:
menuentry "isoname ISO" {
set root=(hdX,Y)
set isofile="/[path]/[name].iso"
loopback loop $isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile --
initrd (loop)/casper/initrd
}
其中 hdX 是磁盘,Y 是 ISO 位置的分区号。
[path] 是 ISO 文件的路径,[name] 是 ISO 文件的名称
允许多个 ISO 文件,每个 ISO 文件有一个或多个菜单项。(每个 ISO 可以有多个持久文件)。
如果我们想要一个持久的操作系统,请将单词“持久”添加到 GRUB 菜单项中。
如果使用持久分区,请将其设为 ext4,并将其标记为 casper-rw,以适用于 19.10 和以前的 ISO 文件。
对于 20.04 ISO 文件,将持久分区标记为“可写”。
每个驱动器只允许一个持久分区,
如果使用持久文件,每个 ISO 可以拥有自己的持久文件。
每个 ISO 可以有一个最大 4GB 的“可写”(“casper-rw”)文件和一个最大 4GB 的可选“home-rw”文件。
持久文件必须位于 FAT32 分区上。
如果使用多个持久文件,则必须指定持久路径。只需要提供持久文件文件夹的唯一名称。每个文件夹一组文件。
Ubuntu 18.04 及之前的版本使用 GRUB 2.02 进行启动,19.10 及之后的版本使用 GRUB 2.04 进行 UEFI 模式启动。GRUB 2.04 在启动 ISO 文件时存在问题。
在 GRUB 2.04 UEFI 模式下启动 ISO 文件的解决方法是,如果在 UEFI 模式下启动,则将“rmmod tpm”添加到菜单项。这可能会在 BIOS 模式下给出错误消息,请忽略它。
如果主机系统是 19.04 之前的版本,则应该使用 GRUB 2.02,不需要解决方法。
Ubuntu 20.04 每次启动时都会进行文件系统检查,可以通过在菜单项中添加“fsck.mode=skip”来禁用它。
可以通过添加“安静启动”来禁用启动期间的滚动。
最终的菜单项可能如下所示:
menuentry "Ubuntu 20.04 ISO" {
set root=(hd0,3)
set isofile="/isos/ubuntu-20.04-desktop-amd64.iso"
rmmod tpm
loopback loop $isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile fsck.mode=skip persistent persistent-path=/persist-1/ quiet splash --
initrd (loop)/casper/initrd
}