You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在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系统所在的磁盘(比如sdasdb,不要加分区号)
    • -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安装介质的命令行手动修复:

  1. 插入Win10 ISO制作的启动盘,从它启动,进入「修复计算机」→「命令提示符」
  2. 依次执行以下命令:
    bootrec /fixmbr
    bootrec /fixboot
    bootrec /scanos
    bootrec /rebuildbcd
    
    执行bootrec /rebuildbcd时,会扫描到Windows系统,按提示输入Y添加到启动列表里即可。

额外提醒

  • 操作磁盘分区时一定要仔细核对编号,别搞错了磁盘或分区,不然可能弄坏其他系统的引导。
  • 如果你之前用Grub能看到Windows Boot Manager选项,修复后应该就能通过它正常启动Windows了。

备注:内容来源于stack exchange,提问作者Troy

火山引擎 最新活动