将系统安装在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 目录下(没有则新建),并重命名 xxx 为 boot。主系统非 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 系统,提供用户选择。

(完)