在移动硬盘上安装Windows To Go+Linux双系统(EFI)

自己多出了一块128G的SSD,本着闲着也浪费的想法就用了一个老的硬盘盒装起来当移动硬盘使用,没想到新固件还支持Trim,便有了在上面安装Windows To Go,然后给Mac提供Windows的想法。可是,安装完Windows的我似乎还不满足,还希望在上面安装一个Ubuntu系统,几经辗转,终于找到了办法。

话不多说,直接入题。

  1. 首先,备份移动硬盘上的数据,使用WTG辅助工具写入Windows系统文件,记得勾选UEFI+GPT。
  2. 用压缩卷空出一部分空间留给Linux使用
  3. 至此,我们已经完成了Windows的安装,并且这时直接启动移动硬盘已经可以使用Windows了。
  4. 将移动硬盘挂在到虚拟机中,记得使用EFI模式,比如VirtualBox勾上“启用EFI”,Hyper-V选择第二代虚拟机即可,在虚拟机中安装好所选的Linux发行版
  5. 待Linux安装完成后,此时的系统并不能直接启动的,若直接启动出现的是一个蓝屏的Windows,因为之前安装的grub没有使用removable模式,因此,我们手动安装grub
  6. 将/boot分区挂载到任意目录,这里我选择/target/boot,若没有单独分出/boot就直接挂载/到任意目录即可。同时,将ESP分区挂载到/target/boot/efi,然后删除EFI/Boot/bootx64.efi文件
  7. 安装grub-efi软件包
  8. 使用grub-install安装grub,之后便得到了一个可启动的Linux
  9. 来看看成果吧!
  10. 可以看出,grub已经接管了Windows Boot Manager,我们可以在这选择操作系统启动。
  11. 同样,在Mac上也没有问题
  12. 效果如图

不过,如果使用MBR分区表安装的话,加入UEFI的Windows To Go引导需要加入以下grub代码

insmod part_msdos
insmod fat
search --no-floppy --fs-uuid --set=root 2EAF-F7C1
chainloader /efi/Microsoft/Boot/bootmgfw.efi

2EAF-F7C1需要改成自己EFI分区的UUID

发表评论

电子邮件地址不会被公开。 必填项已用*标注