Win10修复Linux引导
我遇到的问题
原本我的电脑是通过systemd-boot引导ArchLinux和Win10的,但是由于Win10创意者更新之后,启动管理器被设置为Win10的了,开机直接跳过systemd-boot,启动Win10了,因此我的ArchLinux就无法启动了,下面给出解决办法。
我的电脑
- 操作系统:Win10创意者版本(1703),ArchLinux;
- BIOS:UEFI BIOS;
解决步骤
- 以管理员身份运行CMD,注意是CMD,因为PowerShell对命令的特殊字符要做一些处理,这里不展开;
- 在CMD中键入
bcdedit
,查看当前引导情况: - 在CMD中键入
mountvol g: /s
挂在EFI分区到g盘; - 在CMD中键入
g:
进入g盘并查看EFI分区: - 在CMD中键入
bcdedit /set {bootmgr} path \EFI\systemd\systemd-bootx64.efi
替换掉Win10自带的启动管理器,注意参数path后面的路径要根据你的具体情况填写,我的Linux的引导程序路径是\EFI\systemd\systemd-bootx64.efi,不过你的路径应该类似\EFI\ …,开头应该是一样的; - 如果上述操作成功,此时在CMD中再次键入
bcdedit /enum
应该会看到{bootmgr}的path改变了,下图是我电脑的情况:
我遇到的其他问题
在解决问题的过程中,我不小心把{bootmgr}删除了,导致开机直接进不了系统,最后通过Win10PE修复了引导,这个Win10PE非常纯净,只有一个命令行窗口,还是挺不错的,我是通过bcdboot
命令修复的,至于如何制作Win10PE启动U盘以及如何通过这命令修复Win10引导,网上有很多教程就不展开了。
写在最后
由于时间仓促,如果这篇博文有什么错漏的地方,希望各位同学斧正!