将系统安装在U盘中随身携带使用已经很容易了,比如 Windows 就有 Windows To Go。将系统装在U盘上需要一个寿命长久的U盘,而且随机读写性能要强。

Linux 发行版都提供 Live ISO 镜像,也可以将系统直接装载 U盘上,但很多时候安装后的U盘可以在安装的 PC 上启动,换一个 PC 就无法启动了。这篇文章就讲述如何解决其他 PC 上启动的问题。

这里只考虑 UEFI 模式的启动,毕竟都2020年了。

安装后无法在其他 PC 上正常启动的原因,是 UEFI 启动的文件一般都会安装在 PC 的内部硬盘上,而不是目标U盘上。

解决方法:

  1. 安装前,在U盘上新建一个大于300MB的FAT32格式的 ESP 分区。
  2. 启动 Linux 发行版,安装系统到 U盘上。推荐根 / 和 主目录 /home 分别挂载在不同的U盘分区。
  3. 安装后进入PC主系统,如果是windows,推荐使用 DiskGenus 打开PC硬盘的 ESP 分区,拷贝 EFI\xxx\ 目录(xxx 一般为发行版名称,Debian 为 debian,Ubuntu 为 ubuntu),复制到 U盘的 ESP 分区 EFI 目录下(没有则新建),并重命名 xxxboot。主系统非 Linux 可以使用 PE 启动盘操作。
  4. 重命名 U盘 ESP 分区下 EFI\boot 目录的 grubx64.efi 文件为 bootx64.efi

完成以上步骤后,将U盘插在其他PC上,在 UEFI 模式下,手动选择启动盘为U盘,则可以顺利进入U盘Linux系统。

如果想在U盘上安装多个系统,可以考虑使用 refind 来代替 grub 进行启动管理,即将 refind 拷贝到U盘 ESP 分区下 EFI\boot 目录下,并重命名 refind_x64.efi 文件为 bootx64.efi。refind 会在启动时搜索所有可启动的 EFI 系统,提供用户选择。

(完)