将 casper-rw 移动到另一个分区

将 casper-rw 移动到另一个分区

我正在创建一个多启动闪存驱动器,上面有多个 Linux 发行版,我从 grub2 启动它。我目前有一个实时 Ubuntu 安装设置,其中 casper-rw 与 Ubuntu live 位于同一分区;因为我有几个不同的具有持久性的发行版,所以我使用持久路径启动参数将它们分开,这很有效。

但是,安装 Ubuntu 的分区是 FAT32 分区,我想将 casper-rw 移动到单独的 ext2 分区以绕过 4Gb 文件大小限制。我不知道该怎么做。我尝试执行类似 persistence-path=/dev/sdb2/ubuntu 的操作(并将 casper-rw 放在该目录中),但 persistence-path 似乎不知道如何导航设备(当我执行此操作时,我收到一个错误,看起来像是来自 overlayfs,关于 lowerdir 无效)。

在其他发行版中,我可以告诉它将持久性文件放在哪个设备上,并且可以将其与 vmlinuz 所在的设备分开。Ubuntu 可以做到这一点吗?如果可以,怎么做?需要说明的是,我不想创建 casper-rw 分区(因为我希望每个发行版都有单独的 casper-rw 文件)。我只想告诉 grub 在哪个分区中查找我的持久性文件,该分区与我的 Ubuntu 系统文件所在的分区不同。

答案1

YUMI 多重启动

由美将制作一个包含多个大于 4GB 的持久文件的多启动 USB。Persistent=path 不是必需的。

有一个用于 BIOS 启动的版本和一个用于 UEFI 启动的版本。

对于大于 4GB 的 casper-rw 文件,请从 NTFS 格式的驱动器开始。

如果我没记错的话,UEFI 版本仅适用于 FAT32,并且不适用于大型 casper-rw 文件。

https://www.pendrivelinux.com/yumi-multiboot-usb-creator/

也可以看看:Casper-rw 文件大于 4GB - 请确认

多启动完整安装 USB BIOS/UEFI

如今,USB 闪存驱动器越来越大,节省空间来启动压缩文件系统和 ISO 已经不再那么重要。

姆库斯布为自定义多启动 USB 奠定了良好的基础。下面介绍如何制作一个可同时启动 BIOS 和 UEFI 的完整安装 USB,然后进一步将其修改为多启动器(甚至使用 grub2 启动 ISO)。

  • 使用韓國在安装程序 USB(2GB 或更大)上制作 Live 系统。

  • 使用韓國使用默认设置在目标 USB 上创建持久系统,持久性大于 25GB(剩余的 NTFS 分区用作 Windows 可访问数据分区)。选择 upefi 以确保 grub 2.02 进行 ISO 启动。

在此处输入图片描述

  • mkusb 完成后,立即打开 GParted 并删除 sdx4(ISO9660 分区)并将 sdx5 扩展到恢复的空间,sdx 是目标驱动器的设备名称。

在此处输入图片描述

  • 在继续操作之前,请拔下或移除 HDD(可选,但在 UEFI 模式下强烈推荐)。

  • 启动安装程序驱动器,选择尝试。

  • 插入目标驱动器

开始安装 Ubuntu...

  • 选择其他。

  • 选择 sdx5(在目标驱动器上),然后单击“更改”。

在此处输入图片描述

  • 选择使用为:ext4,格式和挂载点:/。

不要触碰任何其他分区(除非添加 /home 分区)。

  • 选择 sdx5 作为引导加载程序安装设备

  • 完成安装。

  • 从 sdx5/boot/grub 剪切 grub.cfg 并粘贴到 sdx3/boot/grub,覆盖现有的 grub.cfg 文件。

  • 启动目标驱动器并运行 sudo update-grub 将所有驱动器添加到启动菜单。

多重启动

可以将多个操作系统(完整安装和实时/持久安装)添加到 USB。

按照上述建议创建一个驱动器,然后将扩展分区分成几部分(在本例中为 sdx5、sdx6、sdx7...)。

然后您可以在一个分区上安装 Ubuntu,并在其他分区上安装其他操作系统。

  • 将 sdx5 划分为与操作系统数量相同的 ext4 分区。每个分区大小应为 8GB 左右或更大。

  • 启动 Live mkusb 安装程序并插入目标驱动器。

  • 在分区时选择“其他”。

  • 对于 /,选择 sdx5。

  • 将引导加载程序安装到 sdx5。

  • 不要选中所有其他分区的格式框。

  • 对 sdx6、sdx7 等以及您选择安装的操作系统重复此操作。

  • 最后一次安装后,从 sdx6/boot/grub 剪切 grub.cfg 并粘贴到 sdx3/boot/grub,覆盖现有的 grub.cfg 文件。

  • 启动闪存驱动器并执行更新 grub。这会将所有操作系统添加到 grub。

如果愿意的话,你可以添加一些 OS ISO:

  • 在 NTFS 分区 sdx1 中创建一个名为 isos 的文件夹。

  • 添加一些 ISO。

  • 编辑 sdx3/boot/grub 添加类似以下内容的菜单项:

    menuentry "xubuntu-18.04.1-desktop-amd64 Partition 6" {
     set isofile="/isos/xubuntu-18.04.1-desktop-amd64.iso"
     set root='(/dev/sdx,msdos2)'
     search --no-floppy --fs-uuid --set=root XXXX-XXXX
     loopback loop ($root)$isofile
     linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
     initrd (loop)/casper/initrd.lz
    }
    
  • 将第六个(第七个和第八个)分区的 UUID 替换为 XXXX-XXXX

  • 对于某些版本,vmlinuz 可能需要是 vmlinuz.efi。

  • 如果需要,每个 ISO 都可以有自己的 casper-rw 和 home-rw 持久文件,但由于您需要向每个菜单项添加“持久路径”,因此它会变得有点复杂。

如果预计要进行 ISO 启动,请使用 19.10 之前的 grub 2.02,因为 grub 2.04 不适用于启动 ISO

相关内容