如何让 live-USB 使用分区进行持久保存?

如何让 live-USB 使用分区进行持久保存?

我想将 Ubuntu 安装到 USB 硬盘上,这样它在所有可以运行 LiveCD 的系统上运行并将持久数据存储在常规 ext4 分区上,而不是文件中casper-rw。在其他方面,它应该表现得像常规的 Ubuntu 安装

问题

启动盘创建器可以将 LiveCD 映像放在 USB 设备上。可以进行以下更改:持久化,但存储在限制为几 GB 的文件中大小。所述持久文件(除了大小受限外)还存在以下问题:无法像普通分区上的数据那样读取.*

我的问题

那么,如何才能将 LiveCD 放到 USB 磁盘上,以便将更改存储在普通分区而不是持久文件中?此外,持久更改的大小不应限制在几 GB,如果需要,可以使用数百 GB 的整个分区。

我怀疑那里有一个关于此内容的教程,但我的谷歌能力不够好,无法找到它。

总结:

系统应该在所有硬件配置上运行,具有 LiveCD 的全部功能,并且存储在常规 ext4 分区上,而无需使用 ramdisk 和 casper-rw。FU 卡斯帕-rw。


*我知道可以从另一个操作系统安装 casper-rw 文件并以这种方式获取数据,但这很麻烦。

答案1

这很容易做到,尽管“casper-rw”名称仍然会出现一次:)

  1. 您的目标 USB 磁盘必须至少有两个分区;我建议使用分区创建一个新的分区表。

    • 第一个分区必须系统盘,最小大小为 750 MB(如果您使用的是实时 DVD 映像,则更大)。
    • 第二个分区应该是ext4,大小可以根据您的持久存储需求而定(没有限制),但是它必须带标签casper-rw(全部小写,无引号)

    在此处输入图片描述

    • 当然,如果您愿意,您可以添加第三、第四个扩展/逻辑分区等。

    注意:我更喜欢使用联合国网启动因为它使编辑系统Linux配置很简单。您可以使用自己的 USB 创建器,但随后应适当修改以下步骤。另请注意,GParted 0.18.0 似乎在对 USB 棒进行分区时存在问题。因此,如果您遇到此问题,请使用实时 GParted CD 进行分区。

  2. 使用 UNetbootin 将你选择的 Live CD ISO 写入第一个(真實踐)USB 分区。

    • 将 UNetbootin 的持久性选项设置为很小的尺寸(例如 10 MB),以使生活更轻松;不用担心,我们实际上不会使用它casper-rw文件。

    在此处输入图片描述

  3. 一切完成后,最后一步是删除小casper-rw 文件创建于vfat安装 live CD 的分区,这样就casper-rw可以使用较大的 ext4 分区。挂载此分区(此处为sdb1),然后删除/casper-rw

  4. persistent如果您使用了 UNetbootin,则应该已经设置了持久性(通过内核选项),因此可以安全弹出 USB,然后您就可以开始了!

PS:如果您不想使用 UNetbootin 并且正在使用 Ubuntu 中的“启动盘创建器”,那么您需要对文件进行syslinux/txt.cfg如下一些编辑:

默认直播
标签直播
  菜单标签 ^无需安装即可试用 Ubuntu
  内核/casper/vmlinuz.efi
  附加文件 = /cdrom/preseed/ubuntu.seed boot = casper cdrom-detect/try-usb = true执着的noprompt floppy.allowed_drive_mask=0 ignore_uuid initrd=/casper/initrd.lz quiet splash --
标签实时安装
  菜单标签 ^安装 Ubuntu
  内核/casper/vmlinuz.efi
  附加文件 = /cdrom/preseed/ubuntu.seed boot = casper only-ubiquity cdrom-detect/try-usb = true执着的noprompt floppy.allowed_drive_mask=0 ignore_uuid initrd=/casper/initrd.lz quiet splash --
标签检查
  菜单标签 ^检查光盘是否有缺陷
  内核/casper/vmlinuz.efi
  附加 boot=casper 完整性检查 cdrom-detect/try-usb=true执着的noprompt floppy.allowed_drive_mask=0 ignore_uuid initrd=/casper/initrd.lz quiet splash --
标签 memtest
  菜单标签测试^内存
  内核/安装/mt86plus
标签高清
  菜单标签 ^从第一个硬盘启动
  本地启动 0x80

答案2

自 14.04 版起,持久分区不再适用于 syslinux 类型的安装,例如 SDC、UNetbootin、Rufus 等(除非分区位于单独的驱动器上)。尝试启动将以 BusyBox 结束。

Syslinux 6.03 完全支持 NTFS(以及许多其他文件系统),因此不再需要满足 FAT32 的 4GB 持久文件大小限制。YUMI 使用 Syslinux 6.03,RUFUS 也是如此。

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

https://rufus.akeo.ie/

Mkusb 是一个 grub2 类型的可启动闪存驱动器制作器,它使用 FAT32 分区进行启动,使用只写 ISO9660 分区进行操作系统,使用 ext4 casper-rw 分区进行持久存储,并使用 Linux 和 Windows 均可访问的 NTFS 数据分区。

https://help.ubuntu.com/community/mkusb

它应该可以满足你的要求。

答案3

以下是我制作持久闪存驱动器的方法:

启动 Live CD 或 Live USB。插入闪存驱动器。启动 gparted。

创建 2 GB 的 FAT32 分区(在栏的左侧)。(大小可选,额外的空间可用于文件存储和传输到 Windows 机器)。

在其右侧创建一个 4 GB 的 ext2 分区,并将其标记为“casper-rw”。 (ext3 和 ext4 也可以使用)。

在剩余空间中创建一个分区并将其标记为“home-rw”。 (可选,创建一个单独的主分区)。

关闭 gparted。卸载并重新安装闪存驱动器。启动“创建实时 USB 启动盘”,(usb-creator)。选择“关机时丢弃”。按“制作启动盘”。当 usb-creator 完成后,转到 Live USB 的根文件夹输入 syslinux 目录,(或对于 UNetbootin,则输入根目录)。使 syslinux.cfg 文件可写将文件 syslinux.cfg 的内容替换为:

default persistent
label persistent
  say Booting a persistent Ubuntu session...
  kernel /casper/vmlinuz
  append  file=/cdrom/preseed/ubuntu.seed boot=casper persistent initrd=/casper/initrd.lz quiet splash noprompt --

关机,取出 CD,重新启动。

首次启动时,转到用户和组并创建一个以管理员身份的帐户,如果需要,可以使用密码。

注意:上述代码将绕过试用/安装和语言屏幕。

相关内容