如何为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):

  1. 运行GParted。
  2. 格式化整个USB驱动器,删除所有分区。
  3. 在驱动器的开头创建一个新的FAT32分区,大小约为5500MB。
  4. 使用带有usb-creator-gtk的FAT32分区创建实时USB。
  5. 最后,当我运行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 }