安装Ubuntu 22.04.3后Windows 10双启动失效,如何在不重装Windows的情况下恢复双启动?
安装Ubuntu 22.04.3后Windows 10双启动失效,如何在不重装Windows的情况下恢复双启动?
看起来你的问题核心是启动模式不匹配:之前的Ubuntu和Windows都是用MBR(Legacy BIOS)模式启动的,但这次安装Ubuntu时创建了EFI分区,导致Ubuntu切换到了UEFI模式,而Windows还是MBR模式,GRUB自然找不到Windows,甚至连启动菜单都不对了。下面给你两种可行的解决方案,优先推荐第一种(不用碰Windows):
方案一:切换回Legacy BIOS模式,修复GRUB引导
这个方法不需要修改Windows,只需要调整BIOS设置并重新配置GRUB,步骤如下:
准备Ubuntu Live USB:用你之前安装Ubuntu的那个U盘(如果没了就重新制作一个22.04.3的Live USB),插入电脑后重启,选择“Try Ubuntu”进入试用模式。
挂载Ubuntu分区并进入chroot环境:
- 先挂载你的Ubuntu根分区(也就是
/dev/sdb3):sudo mount /dev/sdb3 /mnt - 挂载EFI分区(
/dev/sdb4):sudo mount /dev/sdb4 /mnt/boot/efi - 挂载系统必需的目录:
for dir in /dev /dev/pts /proc /sys /run; do sudo mount --bind "$dir" "/mnt$dir"; done - 切换到chroot环境(相当于在你的Ubuntu系统里操作):
sudo chroot /mnt
- 先挂载你的Ubuntu根分区(也就是
启用os-prober并更新GRUB:
- 编辑GRUB配置文件,确保os-prober工具能运行(它负责检测其他系统):
找到sudo nano /etc/default/grubGRUB_DISABLE_OS_PROBER这一行,把它改成GRUB_DISABLE_OS_PROBER=false,按Ctrl+O保存,Ctrl+X退出。 - 安装os-prober(如果没装的话):
sudo apt update && sudo apt install os-prober - 把GRUB安装到Windows所在的硬盘主引导记录(MBR)上(也就是
/dev/sda,注意是整个硬盘不是分区):sudo grub-install /dev/sda - 更新GRUB配置,让它识别Windows:
这时候你应该能看到类似sudo update-grubFound Windows 10 on /dev/sda2的提示,说明成功识别了。
- 编辑GRUB配置文件,确保os-prober工具能运行(它负责检测其他系统):
调整BIOS启动模式:
- 重启电脑,按对应的按键进入BIOS/UEFI设置(通常是F2、Del、F10,看你电脑品牌)。
- 找到“Boot Mode”或者“启动模式”选项,把它从“UEFI”改成“Legacy”(或“BIOS兼容模式”),保存设置后重启。
这时候GRUB菜单应该会正常弹出,你可以选择进入Ubuntu或者Windows了。
方案二:把Windows转换成UEFI模式(适合不想切换Legacy的情况)
如果你更想保留UEFI模式,可以把Windows从MBR转换成GPT并修复UEFI引导,不需要重装系统,但需要Windows安装介质(可以用微软官方工具制作):
制作Windows安装介质:去微软官网下载Windows 10镜像,用工具制作成U盘安装介质。
从Windows安装介质启动并进入命令提示符:
- 插入U盘重启,选择从U盘启动,进入安装界面后点击“修复计算机”,然后依次选择“疑难解答”→“命令提示符”。
转换硬盘为GPT格式:
diskpart list disk select disk 0 (这里的disk 0是你的Windows系统盘,也就是sda) convert gpt exit创建EFI分区:
diskpart select disk 0 create partition efi size=500 format quick fs=fat32 assign letter=Z exit修复Windows UEFI引导:
bcdboot C:\Windows /s Z: /f UEFI这里
C:是你的Windows系统分区(sda2),Z:是刚才创建的EFI分区。重新配置GRUB:
- 重启电脑,进入BIOS设置成UEFI模式,然后用Ubuntu Live USB进入试用模式,重复方案一中的chroot步骤,运行
sudo update-grub,这时候GRUB应该能识别到UEFI模式的Windows了。
- 重启电脑,进入BIOS设置成UEFI模式,然后用Ubuntu Live USB进入试用模式,重复方案一中的chroot步骤,运行
备注:内容来源于stack exchange,提问作者NublicPablo
相关产品推荐
相关产品推荐

