支持从 persistence 的 Linux livecd 启动。
基本步骤 (以Debian 10 为例)
0. 用 easy2boot (v2+) 创建启动 U盘。
1. _ISO\docs\Sample mnu Files\Linux 里 debian-live-9.1.0-amd64-gnome_Persistent.mnu 复制一份,和 Debian 的 livecd 一起放到 U盘 _ISO\LINUX\MNU 目录下 (_ISO\LINUX\MNU目录需要手工创建)
\_ISO\LINUX\MNU
-- debian-live-10.4.0-amd64-standard.iso
-- debian-live-10.4.0-amd64-standard.mnu
修改 debian-live-10.4.0-amd64-standard.mnu 里的 iso 文件名, 虚拟分区文件名和 vmlinuz, initrd 参数名。主要修改几处:
iftitle [if exist $HOME$/debian-live-10.4.0-amd64-standard.iso] debian-live-10.4.0-amd64-standard.iso iso PERSISTENT\nBoot using .mnu file with persistence
set ISO=$HOME$/debian-live-10.4.0-amd64-standard.iso
set PER=/linux-rw
#...
#find boot files inside ISO
set vml=/live/vmlinuz-4.19.0-9-amd64 && set init=/live/initrd.img-4.19.0-9-amd64
2. windows 下用 RMPrepUSB v2.1.732+ 这个工具在 U盘里创建一个虚拟分区文件:
filename: linux-rw # 和 mnu 文件里的要一致
volumn label: persistence # do not change!
fs: ext3
这个文件将被 Easy2Boot 和 Linux livecd 挂载为可写的分区,作为 / 根目录的 overlay。选择 ext3 因为 ext4 是日志文件系统,默认每次读取文件都会更新文件 atime 属性,可能影响u盘寿命。(不要使用 ext2,不可靠)
最后运行1次 U 盘根目录的 MAKE_THIS_DRIVE_CONTIGUOUS.cmd,保证 U 盘里文件连续。
3. 启动到U盘里的 Linux
# The persistence 'volume' needs a persistence.conf file added
# Boot to linux and then run following commands in terminal as root
# See which is the USB device 3rd ptn - it will always be sd(something)3
fdisk -l
mount /dev/sdb3 /mnt/usb
echo "/ union" > /mnt/usb/persistence.conf
umount /mnt/usb
4. reboot
再次重启进入 U盘 livecd 时, Linux 会自动挂载虚拟分区文件作为 persistence,可以用 fdisk 和 mount 确认。