Win10修复Linux引导

我遇到的问题

原本我的电脑是通过systemd-boot引导ArchLinux和Win10的,但是由于Win10创意者更新之后,启动管理器被设置为Win10的了,开机直接跳过systemd-boot,启动Win10了,因此我的ArchLinux就无法启动了,下面给出解决办法。

我的电脑

  1. 操作系统:Win10创意者版本(1703),ArchLinux;
  2. BIOS:UEFI BIOS;

解决步骤

  1. 以管理员身份运行CMD,注意是CMD,因为PowerShell对命令的特殊字符要做一些处理,这里不展开;
  2. 在CMD中键入 bcdedit,查看当前引导情况:
    Win10修复Linux引导_第1张图片
  3. 在CMD中键入mountvol g: /s 挂在EFI分区到g盘;
  4. 在CMD中键入 g: 进入g盘并查看EFI分区:
    Win10修复Linux引导_第2张图片
  5. 在CMD中键入 bcdedit /set {bootmgr} path \EFI\systemd\systemd-bootx64.efi 替换掉Win10自带的启动管理器,注意参数path后面的路径要根据你的具体情况填写,我的Linux的引导程序路径是\EFI\systemd\systemd-bootx64.efi,不过你的路径应该类似\EFI\ …,开头应该是一样的;
  6. 如果上述操作成功,此时在CMD中再次键入bcdedit /enum 应该会看到{bootmgr}的path改变了,下图是我电脑的情况:
    Win10修复Linux引导_第3张图片

我遇到的其他问题

在解决问题的过程中,我不小心把{bootmgr}删除了,导致开机直接进不了系统,最后通过Win10PE修复了引导,这个Win10PE非常纯净,只有一个命令行窗口,还是挺不错的,我是通过bcdboot 命令修复的,至于如何制作Win10PE启动U盘以及如何通过这命令修复Win10引导,网上有很多教程就不展开了。

写在最后

由于时间仓促,如果这篇博文有什么错漏的地方,希望各位同学斧正!

你可能感兴趣的:(日记)