克隆和Debian持久化
克隆(按原样复制每个字节,创建一对一副本)是一种非常简单且可靠的方法,可以从linux混合iso文件创建启动驱动器(活动驱动器或安装驱动器)。
没有使克隆的Debian iso文件持久化的常规方法,因为它具有只读文件系统ISO9660(和只读“分区表”)。
使用mkusb(BIOS / UEFI)
可能(并且我会说很简单)使用mkusb从Debian live iso文件创建持久的活动驱动器。mkusb支持Debian 8或更高版本,并且您应该使用当前版本的mkusb(12.3.3或更高版本)。
mkusb创建一个分区表和5个分区:
- NTFS分区,用于与Windows计算机交换数据(可选大小)
- 扩展分区或
bios_grub
分区
- 用于启动的FAT32引导分区
grub
(在UEFI和BIOS模式下)
- ISO9660分区,包含iso文件的克隆
ext
持久性分区,存储您的修改(和文件)
mkusb自动执行以下调整:
- 引导选项
persistence
(persistent
与Ubuntu不同)
persistence
分区#5上的标签(casper-rw
与Ubuntu中不同)
persistence.conf
内容/ union
位于分区#5顶层的文件。
dus-persistent
当您使用mkusb版本12,alias时,该结构由bash shellscript 创建mkusb-dus
。如果需要所有详细信息,请安装mkusb并阅读的内容dus-persistent
,或直接通过phillw.net/isos/linux-tools/mkusb/dus-persistent进行阅读。
mkusb的默认设置可用于Debian 8、9和10,并且在BIOS模式和UEFI模式(但不能安全启动)下启动时,永久活动驱动器将起作用。
(在先前版本的mkusb 12.3.2中,必须在UEFI模式下的Debian 10的“设置”菜单中手动设置“ usb-pack-efi”。)
使用手动设置(仅UEFI)
如果只需要UEFI引导闪存驱动器,则根本不需要安装程序。
您只需要使用FAT32格式化闪存驱动器并设置启动标志即可。然后使用您喜欢的任何提取工具(如7zip)将ISO提取并复制到FAT32分区。有关更多详细信息,请参见“自己动手做”。
我使用标准的实时iso文件(较小,没有图形桌面环境)验证了此方法,
debian-live-10.0.0-amd64-standard.iso
因此,您可以使用Debian 10(64位)制作USB启动驱动器。它将仅处于活动状态,并以UEFI模式启动。
- 创建一个足以存储iso文件中文件的FAT32分区(将iso文件的大小增加大约5%)
- 挂载FAT32分区
- 将iso文件的内容(包含所有文件的目录树)提取到FAT32分区
现在,您有了一个只能使用的USB启动驱动器
将单词编辑persistence
到linux
文件开头的行末
/path/to/mountpoint/boot/grub/grub.cfg
ext2
在未分配空间中创建一个分区(在FAT32分区之后)
- 将标签
persistence
放在ext2
分区上
- 挂载
ext2
分区
写入/ union
到文件persistence.conf
的ext2
文件系统
卸载闪存驱动器上的所有分区,你拔掉它之前,或重启
现在,您可以使用Debian 10拥有持久的实时USB驱动器。
从永久活动驱动器中看到的命令输出:
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 7.8G 0 7.8G 0% /dev
tmpfs 1.6G 9.0M 1.6G 1% /run
/dev/sdb1 4.0G 826M 3.2G 21% /run/live/persistence/sdb1
/dev/loop0 610M 610M 0 100% /run/live/rootfs/filesystem.squashfs
tmpfs 7.8G 0 7.8G 0% /run/live/overlay
/dev/sdb2 11G 38M 11G 1% /run/live/persistence/sdb2
overlay 11G 38M 11G 1% /
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
tmpfs 7.8G 0 7.8G 0% /tmp
tmpfs 1.6G 0 1.6G 0% /run/user/1000
$ lsb_release -a
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
$ lsblk -fm /dev/sdb
NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT SIZE OWNER GROUP MODE
sdb 14.8G brw-rw----
├─sdb1 vfat USBBOOT 7176-C538 3.2G 20% /usr/lib/live/mount/persistence/sdb1 4G brw-rw----
└─sdb2 ext2 persistence 2b324439-d63e-4a19-bf57-d49ecb881828 10G 0% /usr/lib/live/mount/persistence/sdb2 10.8G brw-rw----
您可以看到overlay
匹配的大小/dev/sdb2
表明持久性正在起作用。
使用mkusb-minp
(BIOS / UEFI)
可以使用mkusb-minp从Debian live iso文件创建持久的实时驱动器(我会说很简单)。mkusb-minp支持Debian 10或更高版本。这个简单的shellscript是从mkusb-min开发的。两者都在克隆过程中“系上安全带”,以帮助避免写入错误的设备。
如果您不想通过PPA添加软件,或者通常只希望使用可以理解的工具,那么这是一个不错的选择。