ubuntu 修复windows引导

老刘

Ubuntu 修复 Windows 引导:双系统开机进不去 Windows 的完整解决方案

目标关键词:Ubuntu 修复 Windows 引导

很多人装了 Ubuntu 和 Windows 双系统后,都会遇到一个很常见的问题:
开机只剩 Ubuntu,Windows 不见了;或者更新 Ubuntu 后,Windows 引导项消失;再或者 BiOS 里明明还有 Windows,却无法正常进入。

这类问题大多不是 Windows 真坏了,而是 引导顺序、GRUB 启动项、EFI 分区 出了问题。只要思路对,通常都能修回来。


一、先弄清楚问题到底出在哪

双系统启动,核心就是两件事:

  1. 主板 BIOS/UEFI 负责先选谁启动
  2. GRUB 或 Windows Boot Manager 负责继续引导系统

所以 Ubuntu 修复 Windows 引导,常见情况有下面几种:

1. 开机只进 Ubuntu,没有 Windows 选项

这通常是 GRUB 没识别到 Windows。

2. 选 Windows 直接黑屏或报错

这可能是 Windows 启动文件损坏,或者 EFI 引导项丢失。

3. BIOS 里 Windows 启动项还在,但顺序变了

这往往只是启动顺序被 Ubuntu 改了,改回去就行。

4. UEFI 和 Legacy 启动模式混装

这是最麻烦的一种。比如 Ubuntu 是 UEFI 装的,Windows 却是 Legacy 装的,或者反过来,就容易互相看不见。


二、先判断你的电脑是哪种启动方式

这是修复前最重要的一步。
因为 UEFI 和 Legacy 的修复方法不一样

查看方法 1:进 BIOS 看启动模式

重启电脑,按 DelF2F12Esc 等进入 BIOS/Boot Menu,看看有没有这些字样:

  • UEFI
  • Legacy
  • CSM
  • Secure Boot

如果现在是 UEFI 模式,修复引导主要操作 EFI 分区。
如果是 Legacy 模式,就更多是 MBR/传统引导。

查看方法 2:进入 Ubuntu 后检查

打开终端,输入:

[ -d /sys/firmware/efi ] && echo UEFI || echo Legacy

输出:

  • UEFI:说明你当前是 UEFI 启动
  • Legacy:说明你当前是传统模式

三、最简单的修复思路:先让 GRUB 重新识别 Windows

如果你现在还能正常进 Ubuntu,建议先试这个方法,成本最低。

第一步:更新 GRUB 配置

打开终端,执行:

sudo update-grub

然后看输出内容里有没有类似:

Found Windows Boot Manager on /dev/nvme0n1p1

或者:

Found Windows 10 on /dev/sda2

如果能识别到,重启后一般就会出现 Windows 启动项。


第二步:如果没识别到 Windows,先安装 os-prober

很多新版本 Ubuntu 默认不再自动扫描其他系统,需要手动启用。

执行:

sudo apt update
sudo apt install os-prober

安装完后,编辑 GRUB 配置:

sudo nano /etc/default/grub

找到这一行:

GRUB_DISABLE_OS_PROBER=true

改成:

GRUB_DISABLE_OS_PROBER=false

如果没有这一行,就手动添加一行:

GRUB_DISABLE_OS_PROBER=false

保存后退出。

然后再执行:

sudo update-grub

重启查看 Windows 是否回来。


四、如果 GRUB 还是找不到 Windows,手动检查 Windows 分区

有时候不是 Windows 没了,而是系统没有正确识别分区。

先查看磁盘分区:

lsblk -f

你要重点看这些内容:

  • 有没有 ntfs 分区
  • 有没有标记为 EFI 的分区,通常格式是 FAT32
  • Windows 分区是否还在

常见情况:

  • Windows 分区还在:说明系统没删,主要是引导坏了
  • Windows 分区没了:那可能是误删、重装覆盖或磁盘损坏

如果 Windows 分区还在,继续往下修。


五、UEFI 模式下,修复 Windows 引导的核心方法

如果你是 UEFI 模式,重点修复的是 Windows Boot Manager

方法 1:用 Ubuntu 直接挂载 EFI 分区,检查引导文件

先找到 EFI 分区,通常是一个小容量的 FAT32 分区,比如:

  • /dev/sda1
  • /dev/nvme0n1p1

挂载它:

sudo mkdir -p /mnt/efi
sudo mount /dev/sda1 /mnt/efi

/dev/sda1 换成你自己的 EFI 分区。

查看里面内容:

ls /mnt/efi/EFI

正常情况下应该能看到:

  • Microsoft
  • ubuntu

如果 Microsoft 文件夹还在,说明 Windows 引导文件大概率还没坏。


方法 2:用 efibootmgr 检查启动项

安装工具:

sudo apt install efibootmgr

查看启动项:

sudo efibootmgr

你会看到类似:

Boot0000* ubuntu
Boot0001* Windows Boot Manager

如果有 Windows Boot Manager,但不是默认启动,可以改启动顺序。

比如把 Windows 调到第一位:

sudo efibootmgr -o 0001,0000

注意:数字要根据你机器实际显示的编号来填。


方法 3:Windows 启动项丢失时,用 bcdboot 修复

如果你还能进入 Windows 安装 U 盘,或者临时进入 Windows 恢复环境,可以直接修复引导。

进入命令提示符后,执行:

diskpart
list vol

找到:

  • Windows 所在分区
  • EFI 分区(FAT32,小容量)

然后给 EFI 分区分配盘符,例如 S

select vol X
assign letter=S
exit

假设 Windows 安装在 C: 盘,执行:

bcdboot C:\Windows /s S: /f UEFI

这条命令会重新写入 Windows 引导文件。

如果是双系统,修复后有时 GRUB 会被 Windows 覆盖,之后再进 Ubuntu 执行一次:

sudo update-grub

让 GRUB 把 Windows 重新加回来。


六、Legacy 模式下,修复 Windows 引导的方法

如果你是 Legacy/MBR 启动,修复方式和 UEFI 不一样。

这时常见问题是:

  • Windows MBR 引导损坏
  • GRUB 被覆盖
  • 主引导记录丢失

方法 1:先重装 GRUB 到硬盘主引导

如果现在只能进 Ubuntu,可以先把 GRUB 修好。

先确认硬盘名,比如 /dev/sda,然后执行:

sudo grub-install /dev/sda
sudo update-grub

注意这里是硬盘名,不是分区名,比如不是 /dev/sda1


方法 2:用 Windows 安装盘修复 MBR

如果想修 Windows 引导,建议使用 Windows 安装 U 盘进入修复环境。

依次选择:

  • 修复计算机
  • 疑难解答
  • 命令提示符

然后执行:

bootrec /fixmbr
bootrec /fixboot
bootrec /rebuildbcd

如果 bootrec /fixboot 报拒绝访问,可以继续试:

bootsect /nt60 sys
bootrec /fixboot

修复完成后,重启看看 Windows 是否能进。


七、如果你想保留双系统,最稳妥的做法

很多人修好 Windows 后,又会遇到 Ubuntu 不见了。
这是因为 Windows 更新经常会改启动顺序,把自己放到第一位。

解决办法

进 BIOS/UEFI 设置,把启动顺序改成:

  1. Ubuntu / GRUB
  2. Windows Boot Manager

这样每次开机先进入 GRUB,再从 GRUB 里选 Windows,更稳定。

如果你想开机默认进 Windows,也可以把 Windows Boot Manager 调到第一位。


八、修复后还是进不去 Windows 的常见原因

1. Windows 快速启动没关

Windows 开了快速启动后,双系统切换可能出问题。
建议在 Windows 里关闭:

路径:

控制面板 → 电源选项 → 选择电源按钮的功能 → 更改当前不可用的设置

取消勾选:

  • 启用快速启动

2. Windows 分区被挂成只读或有错误

如果 NTFS 分区有文件系统错误,Ubuntu 可能无法正确识别。

可以在 Ubuntu 下查看磁盘健康:

sudo ntfsfix /dev/sda3

注意这不是完整修复,只是临时处理。
更彻底的方法还是进 Windows 执行:

chkdsk /f

3. UEFI Secure Boot 导致引导异常

有些机器开了 Secure Boot 后,Ubuntu 和 Windows 的启动链会出问题。

可以进 BIOS 试试:

  • 临时关闭 Secure Boot
  • 看 Windows 是否能恢复正常启动

如果关闭后正常,说明问题大概率和签名验证有关。


4. Windows 启动文件真的损坏了

如果 EFI 分区里连 Microsoft 文件夹都没有,或者 bcdboot 也失败,那就需要 Windows 安装盘重新写引导。


九、推荐的实战修复顺序

如果你现在已经遇到问题,建议按这个顺序排查,效率最高:

第 1 步:在 Ubuntu 下执行

sudo update-grub

第 2 步:安装并启用 os-prober

sudo apt install os-prober
sudo nano /etc/default/grub

把:

GRUB_DISABLE_OS_PROBER=false

写进去后再执行:

sudo update-grub

第 3 步:检查 EFI 启动项

sudo efibootmgr

第 4 步:如果 Windows 引导缺失,进 Windows 恢复环境执行

bcdboot C:\Windows /s S: /f UEFI

第 5 步:必要时在 BIOS 里调整启动顺序

把 Ubuntu/GRUB 或 Windows Boot Manager 调整到合适位置。


十、最容易踩坑的地方

1. 把分区写错

很多人把 /dev/sda/dev/sda1 搞混。
记住:

  • /dev/sda 是整块硬盘
  • /dev/sda1 是第一个分区

grub-install 通常写硬盘名,mount 通常挂分区名。


2. UEFI 和 Legacy 混装

这是双系统最大坑之一。
装系统前最好统一:

  • 要么都用 UEFI
  • 要么都用 Legacy

不要一个 UEFI,一个 Legacy。


3. 误删 EFI 分区

EFI 分区很小,但很关键。
它一般是:

  • FAT32
  • 100MB 到 500MB 左右
  • EFI 标记

这个分区不能随便格式化。


4. 重装 Windows 后 Ubuntu 消失

这不是 Ubuntu 真没了,而是 Windows 把默认启动项改了。
多数情况下,进 BIOS 改回启动顺序,或者在 Ubuntu 里重新 update-grub 就能恢复。


十一、给不同水平用户的快速建议

新手用户

如果你只想快速恢复双系统,按这个顺序做:

  1. 先进入 Ubuntu
  2. 执行 sudo update-grub
  3. 安装 os-prober
  4. 再次执行 sudo update-grub
  5. 还不行就进 BIOS 看启动顺序
  6. 再不行用 Windows 安装盘执行 bcdboot

进阶用户

如果你熟悉命令行,建议直接检查:

lsblk -f
sudo efibootmgr
sudo update-grub

再根据 EFI 分区内容判断是否需要重建 Windows Boot Manager。


专业用户

如果是多系统、RAID、BitLocker、Secure Boot、独显直连或自定义 EFI 启动链环境,建议优先确认:

  • 启动模式是否统一
  • EFI 分区是否完整
  • BCD 是否损坏
  • GRUB 是否被覆盖
  • 是否存在多个 ESP 分区冲突

必要时直接用 Windows PE 或安装介质重建 BCD,再回 Ubuntu 侧重建 GRUB 菜单。


十二、总结

Ubuntu 修复 Windows 引导,核心就一句话:

先判断是 GRUB 没识别 Windows,还是 Windows 引导文件真的坏了。

大多数情况,按下面流程就能解决:

  1. sudo update-grub
  2. 启用 os-prober
  3. 检查 efibootmgr
  4. 进 Windows 恢复环境执行 bcdboot
  5. BIOS 调整启动顺序

如果是 UEFI 双系统,重点是 EFI 分区和 Windows Boot Manager
如果是 Legacy 双系统,重点是 MBR 和 bootrec

只要分清启动模式,再按步骤排查,Windows 引导一般都能修回来。

文章版权声明:文章内容均来源于各大短视频平台搜集以及修改和删减新增,如有侵权或者违规,请联系站长进行删除,如需转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
验证码
评论列表 (暂无评论,3人围观)

还没有评论,来说两句吧...

目录[+]