如何为UEFI / EFI系统创建实时USB安装程序,以读取和保存持久性更改?
我有一个16 GB的USB记忆棒,它运行Ubuntu 14.10的现场启动,安装了防病毒软件,显然需要保持最新状态,因为我用它来启动和清理受感染的Windows机器。
为了实现它,我使用了从官方站点下载的usb-creator-gtk
和用于Utopic x64桌面的ISO,以及当选择该选项时usb-creator-gtk
创建的4 GB持久性文件。 没什么好看的,也没有什么复杂的。
当它在BIOS系统上使用时,它就在那里。 我可以更新防病毒软件并将更改保存在用户持久性文件中(我相信casper-rw
)但是,当用于引导UEFI系统时,其中没有任何一个,并且不会保存所做的任何更改。
这就像我在这个棒上有两个环境:UEFI版本与默认ISO相同, 不保存更改并且是RO,而BIOS版本有我的调整和自定义应用程序,保存更改并且是RW。
那么 – 我如何获得实时环境的UEFI版本以保存所做的任何更改甚至更好,如何让实时环境的UEFI和BIOS版本共享相同的环境?
这是一个错误,特别是错误1159016 。 该AskUbuntupost中描述了该解决方案。 基本上你只需要在创建live USB后在boot/grub/grub.cfg
添加persistent
这个词:
menuentry "Try Ubuntu without installing" { set gfxpayload=keep linux /casper/vmlinuz.efi persistent file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash -- initrd /casper/initrd.lz }
编辑:
由于你有一个16GB的大驱动器,我还建议将USB驱动器分成两个分区,一个~6GB FAT32用于实时USB +持久性,一个10GB ext4
用于你想要存储在棒上的任何其他数据。 如果你需要超过4GB的持久性,你也可以使用一个单独的分区而不是一个casper-rw文件,但是usb-creator-gtk
将无法帮助你创建它。 (编辑:请看这里如何做到这一点。)
不幸的是,在调整FAT32分区大小时,你会遇到另一个bug( bug#1313600 ),所以我建议你在使用usb-creator-gtk
之前手动创建分区(6GB FAT32,10GB ext4):
- 运行GParted。
- 格式化整个USB驱动器,删除所有分区。
- 在驱动器的开头创建一个新的FAT32分区,大小约为5500MB。
- 使用带有
usb-creator-gtk
的FAT32分区创建实时USB。 -
最后,当我运行UEFI系统时,我需要通过在
boot/grub/grub.cfg
添加单词persistent
来修复此错误 :menuentry "Try Ubuntu without installing" { set gfxpayload=keep linux /casper/vmlinuz.efi persistent file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash -- initrd /casper/initrd.lz }