使用 Ubuntu 19.10 制作持久的实时驱动器如何更容易?

sud*_*dus 19 live-usb partitioning boot persistence

具有持久性分区的持久性实时驱动器

有一些网站描述

  • 新工具
  • [新版本] 旧工具的新功能

可以从带有 Ubuntu 19.10 和相应 Ubuntu 系列风格的 iso 文件创建持久的实时驱动器。

  • 为什么以及如何运作?
  • 它与早期持久性实时驱动器的方法有何不同?
  • 克隆驱动器的默认设置不是live吗?

sud*_*dus 19

具有持久性分区的持久性实时驱动器

是的,有一些网站描述了 [新版本] 旧工具中的新工具和新功能,它们可以使用 Ubuntu 19.10 和相应的 Ubuntu 系列风格从 iso 文件创建持久的实时驱动器。

  • 新功能或修复的错误(根据此链接的“功能请求”或“错误修复” )使得在从 iso 文件的克隆或提取副本直接引导时,可以使用分区进行持久化。

    这使得在 Ubuntu 19.10 中创建带有分区的实时驱动器变得更加容易。

  • 在以前版本的 Ubuntu 中,可以使用 FAT32 文件系统中的文件进行持久化。其大小限制为 4 GiB。可以在单独的分区中通过 grub 引导(从 iso 文件的内容)并使用分区进行持久化。但这更复杂,因此不适合手动方法。

  • 在 19.10 和以后的版本中,用于持久性的分区大小仅受驱动器大小(USB 笔式驱动器、SSD、HDD、存储卡)的限制。

  • Debian 10 live iso 文件也具有此功能,可用于创建具有持久性分区的持久性实时驱动器。

  • 最新消息:在开发中的 Focal Fossa 中,将作为 20.04 LTS 发布,持久化分区的默认标签从 更改casper-rwwritable。这是在mkusb-plug2.5.5 版中实现的(在 PPA 中与 mkusb 12.4.3 版捆绑在一起)。

工具

Ubuntu 和 Debian

  • mkusb - 适用于所有当前版本的 Ubuntu

    如果您运行标准的 Ubuntu live,则需要额外的指令来获取存储库 Universe。(Kubuntu、Lubuntu ... Xubuntu 自动激活了存储库 Universe。)

    sudo add-apt-repository universe  # only for standard Ubuntu
    
    sudo add-apt-repository ppa:mkusb/ppa  # and press Enter
    sudo apt-get update
    sudo apt-get install mkusb mkusb-nox usb-pack-efi
    
    Run Code Online (Sandbox Code Playgroud)

    在此处输入图片说明

  • mkusb-minp - 可以在 Ubuntu 19.10 中使用此新功能的小型独立shellscript。它也适用于 Debian 10。

    当您尝试旧版本或重新旋转(基于 Ubuntu 的发行版)时,请阅读警告

    对话开始: 在此处输入图片说明

    对话结束: 在此处输入图片说明

  • mkusb-plug - 可以在 Ubuntu 19.10 中使用此新功能的一小组 shellscript。它也适用于 Debian 10。我想你会发现使用这个带有图形用户界面的新的、非常安全的工具会更容易。

    在此处输入图片说明

    在此处输入图片说明

    在此处输入图片说明

视窗

  • 更新: Rufus - 一个众所周知的工具,可以在 Ubuntu 19.10 中使用这个新功能。请务必使用当前版本(Rufus 3.9 或更高版本),

    • 可以很好地创建所有当前 Ubuntu 版本的实时驱动器,
    • 可以使用 Ubuntu 19.10 和未来版本创建持久的实时驱动器。请升级到3.9 版(或更新版本),这会创建一个良好的ext3文件系统,并且可以制作出良好的持久性实时驱动器。
    • 请阅读网站上的变更日志警告(弹出窗口),它们可以帮助您避免严重错误。

    • 编辑: Rufus 3.9 已经到了 :-)

      在此处输入图片说明

  • 克隆前编辑iso文件的简单方法

    Ubuntu 19.10 中的这个新功能也可以在 Windows 中使用,

    • 使用HxD(二进制编辑器)编辑 iso 文件,以便用“persistent”替换两个化妆品启动选项“quiet splash”(用 12 个字符替换 12 个字符)
    • 使用Win32 Disk Imager克隆编辑好的iso文件
    • 克隆驱动器第一次启动时,Ubuntu 系统会自动创建一个casper-rw带有ext4文件系统的分区。简单而坚固!

    • 这些链接中有详细说明:

      在此处输入图片说明

      在此处输入图片说明

MacOS 和 Windows 和 Linux

  • Unetbootin - 您必须casper-rw 手动创建持久性分区并删除或重命名casper-rw文件

    请参阅此链接,描述如何将持久分区添加到 UNetbootin live/persistent USB (Ubuntu 19.10+)

    请注意“用于在重新启动后保留文件的空间......”

    在此处输入图片说明

  • 压缩图像文件

    您可以直接根据以下链接提取和克隆压缩图像文件,

    Xubuntu Core 20.04 LTS 和 mkusb 12.4.5(mkusb-dus 和 mkusb-plug)

    这适用于您拥有的所有操作系统

    • 一个可以提取压缩文件的工具 xz
    • 克隆工具

    . 在此处输入图片说明

手动方式

当您运行 Ubuntu 时,您只需要几个手动步骤即可创建带有持久性分区的持久性实时驱动器。

  • 编辑 iso 文件以替换quiet splashpersistent. 是的,您可以编辑二进制 iso 文件并将 12 个字符替换为 12 个其他字符,并将输出闪存到目标设备(通常是 USB 闪存盘)。sed可以做到。

  • 在已编辑的 iso 文件的闪存副本“后面”创建一个分区。fdisk可以做到。

  • ext2在这个分区中创建一个文件系统,并将标签casper-rw 放在这个分区上。mkfs.ext2可以做到。

  • 冲洗缓冲区。sync可以做到。

这就是mkusb-minp正在做的事情,加上大量的检查,在整个过程中系上安全带。换句话说,您可以获得写入正确目标设备的帮助,并在可能出现问题时收到警告。

可以自己动手,感受每一步,也可以阅读shellscript的代码,mkusb-minp了解细节。

请注意,我dus在以下示例中使用并选择了“克隆”。您可以使用其他克隆工具,但如果您使用简单的工具,如dd,请 仔细检查您是否克隆到当前设备,并且该设备上的所有分区都已卸载。

strings lubuntu-19.10-desktop-amd64.iso |grep 'quiet splash'  # check that 'quiet splash' is there to be replaced by 'persistent  ' (12 characters)
sed 's/quiet splash/persistent  /' lubuntu-19.10-desktop-amd64.iso > persistent-lubuntu-19.10-desktop-amd64.iso  # yes, sed works with binary files
ls -l *19.10*  # check that the size is the same
strings persistent-lubuntu-19.10-desktop-amd64.iso |grep 'persistent  '  # check that 'persistent' is there now
dus persistent-lubuntu-19.10-desktop-amd64.iso  # I use mkusb-dus, you can use the Ubuntu Startup Disk Creator or another cloning tool
sudo lsblk -fm  # It is important to check the device letter of the target drive (the USB drive, that you want persistent live
sudo fdisk /dev/sdx  # x is the device letter of the target drive, please double-check that you have the correct letter
n           # new partition
p           # primary
<Return>    # default: 3
<Return>    # default: next free sector
<Return>    # default: last addressable sector
w           # write and quit
sudo lsblk -fm  # check that things look good and verify that partition #3 is the correct partition to be used to store the persistent data
sudo mkfs.ext2 -L casper-rw /dev/sdx3  # put label and file system into the partition of persistence
sudo lsblk -fm  # check that things look good
sync  # flush the buffers and wait for prompt
Run Code Online (Sandbox Code Playgroud)

链接

有一些通用的手动方法可以很容易地从使用文件进行持久化修改为使用分区进行持久化。看下面的链接,

克隆的 Ubuntu 19.10+ 实时驱动器并不是真正的实时驱动器

克隆驱动器的默认设置不是 live 吗?

嗯,它曾经是,并且它仍然是实时的,但不是仅在 19.10 中可用。

如果你想制作一个纯粹的 live-only 驱动器,在关机和重启后不会保留任何东西,你可以

  • 使用带有选项的mkusb-minp-nmkusb-plug并选择“No-persistent live drive”。

  • 或手动修改内置启动选项以将 'quiet splash' 替换为 'nopersistent'

关联

  • 这看起来像是对将获得大量页面浏览量的规范问题的权威答案。出于这个原因,我认为添加屏幕截图是合适的。 (2认同)