如何在Arch Linux环境下恢复Windows Boot Manager中的Windows 10启动项?
如何在Arch Linux环境下恢复Windows Boot Manager中的Windows 10启动项?
兄弟,我完全懂你这种误删Windows启动项后被锁在系统外的崩溃感!好在你还能正常进入Arch Linux,咱们可以直接在Linux环境下修复Windows Boot Manager的配置,不用折腾重装系统,一步步来:
第一步:找到并挂载EFI分区
Windows Boot Manager的配置文件和启动文件都存在EFI分区里,咱们先把它挂载到Arch里:
- 先查看你的磁盘分区信息,用
lsblk或者sudo fdisk -l命令,找到那个格式为FAT32、大小通常在100MB-500MB之间的EFI分区(比如/dev/sda1)。 - 创建一个挂载点:
sudo mkdir -p /mnt/efi - 挂载EFI分区:
sudo mount /dev/sda1 /mnt/efi(把sda1换成你实际的EFI分区编号) - 验证挂载是否成功:
ls /mnt/efi/EFI/Microsoft/Boot/,如果能看到bootmgfw.efi这个文件,说明找对分区了。
第二步:用efibootmgr添加Windows启动项
Arch自带的efibootmgr工具可以直接管理EFI启动项,这是最靠谱的方法:
- 先查看当前已有的启动项,确认没有Windows 10的条目:
sudo efibootmgr -v - 添加Windows 10启动项,执行以下命令(注意替换参数):
参数解释:sudo efibootmgr -c -d /dev/sda -p 1 -L "Windows 10" -l \\EFI\\Microsoft\\Boot\\bootmgfw.efi-d /dev/sda:你的Windows系统所在的磁盘(比如sda、sdb,不要加分区号)-p 1:EFI分区的编号(比如你挂载的是sda1,这里就填1)-L "Windows 10":启动项显示的名称,可自定义-l \\EFI\\Microsoft\\Boot\\bootmgfw.efi:Windows启动文件的路径,注意用双反斜杠格式
- 再次用
sudo efibootmgr -v查看,应该能看到新添加的Windows 10启动项了。
第三步:修复Windows BCD(如果上述方法无效)
如果添加启动项后,Windows Boot Manager里还是找不到Windows 10,那可能是Windows的BCD存储损坏了。这时候你可以试试用Windows安装介质的命令行手动修复:
- 插入Win10 ISO制作的启动盘,从它启动,进入「修复计算机」→「命令提示符」
- 依次执行以下命令:
执行bootrec /fixmbr bootrec /fixboot bootrec /scanos bootrec /rebuildbcdbootrec /rebuildbcd时,会扫描到Windows系统,按提示输入Y添加到启动列表里即可。
额外提醒
- 操作磁盘分区时一定要仔细核对编号,别搞错了磁盘或分区,不然可能弄坏其他系统的引导。
- 如果你之前用Grub能看到Windows Boot Manager选项,修复后应该就能通过它正常启动Windows了。
备注:内容来源于stack exchange,提问作者Troy




