解决:双硬盘双系统(Windows + Ubuntu)引导修复操作步骤
1. 问题现象
-
电脑有两块 NVMe 固态硬盘:
nvme0n1(YMTC 1TB):预装 Windows。nvme1n1(SL7000 512GB):安装了 Ubuntu 22.04.5 LTS。
-
开机后进入 GRUB 菜单,但菜单中的 Ubuntu 选项实际指向第一块硬盘(可能是残留的引导),无法启动第二块硬盘上的 Ubuntu。

-
进入 UEFI 固件设置(BIOS),启动顺序列表中只有 Windows Boot Manager 和一个指向第一块硬盘的 ubuntu 条目,没有第二块硬盘的 Ubuntu 启动项。

2. 准备工作
- 准备一个 Ubuntu Live USB(与已安装的 Ubuntu 版本相同或更新),例如使用 Ventoy 制作启动盘,放入 Ubuntu 22.04 的 ISO 文件。
- 确保电脑网络连接正常(修复过程中可能需要下载软件包)。
3. 进入 UEFI 固件设置检查硬件
- 重启电脑,开机时连续按 F2(或 Fn+F2)进入 BIOS 设置。
- 切换到存储设备列表,确认两块硬盘均被识别:
- 第一块:YMTC
- 第二块:SL7000 PCIe4.0 512G
- 检查启动顺序,确认没有第二块硬盘的 UEFI 启动项。
- 确保 Secure Boot 处于 Disabled(关闭)状态(已在你的界面中看到为关闭)。
- 按 Esc 退出 BIOS(不保存更改)。
4. 从 U 盘启动进入 Ubuntu 试用环境
-
插入 Ubuntu Live USB,重启电脑。
-
开机按 F12(或其他快捷键)选择从 U 盘启动。
-
在 Ventoy 菜单中,找到 Ubuntu 22.04 ISO 文件,按回车启动。

-
在 GRUB 菜单选择 Try Ubuntu(试用 Ubuntu),进入桌面环境。

5. 安装并运行 Boot-Repair 工具
-
打开终端(Ctrl+Alt+T)。
-
添加 Boot-Repair 的 PPA 仓库(注意命令正确拼写):
sudo add-apt-repository ppa:yannubuntu/boot-repair
按回车确认添加。
-
更新软件源:
sudo apt update -
安装 Boot-Repair:
sudo apt install boot-repair -
运行 Boot-Repair:
boot-repair

这里选择Yes,原因如下:
- 两块 NVMe 硬盘都是独立使用的(nvme0n1 装 Windows,nvme1n1 装 Ubuntu),并没有组成 RAID磁盘阵列。
- dmraid 的作用:dmraid 主要用于管理“假 RAID”(主板 BIOS 层级的 RAID),而你并没有这种 RAID
配置。 - MD RAID 的作用:MD RAID 是 Linux 原生的软件 RAID 工具,两者共存时可能产生干扰。
- 不影响系统:卸载 dmraid 不会影响正常启动和使用 Ubuntu。
然后按 OK。Boot-Repair 在扫描硬盘时,会检查是否存在 RAID 配置。由于我的两块 NVMe 硬盘都是独立使用的,没有组成 RAID,所以它提示“No active RAID”。这不是错误,只是告知当前没有 RAID 阵列。
6. 执行推荐修复
- 在 Boot-Repair 主界面,点击 Recommended repair(推荐修复)。
- 程序会自动扫描硬盘,并可能提示需要执行一些手动命令。根据屏幕提示操作。

7. 手动执行命令(根据 Boot-Repair 的提示)
提示:Boot-Repair 会弹出一个窗口,列出需要手动执行的命令。请打开一个新的终端(保持原终端不变),逐条复制粘贴执行。注意命令中的挂载路径应为
/mnt/boot-sav/nvme1n1p4(若之前挂载路径不同,需统一)。
典型命令序列如下(实际以 Boot-Repair 给出的为准):
第一步:打开一个新的终端窗口
在 Ubuntu 试用桌面中,按 Ctrl + Alt + T 打开一个新的终端。
保持原来的终端窗口不动(里面有这些命令),在新的终端里逐条执行下面的命令。
第二步:逐条复制粘贴执行命令
注意:每条命令执行完后,等待它完成再执行下一条。
修复软件包配置
sudo chroot "/mnt/boot-sav/nvme1n1p4" dpkg --configure -a
修复依赖关系
sudo chroot "/mnt/boot-sav/nvme1n1p4" apt-get install -fy
安装 mdadm(RAID 管理工具,可选但按提示做)
sudo chroot "/mnt/boot-sav/nvme1n1p4" apt-get install -y mdadm
尝试组装 RAID(即使没有 RAID 也无妨)
sudo chroot "/mnt/boot-sav/nvme1n1p4" mdadm --assemble --scan
安装 dmraid(可能不需要,但按提示做)
注意原图写的是 dmaid 是笔误,应为 dmraid。
sudo chroot "/mnt/boot-sav/nvme1n1p4" apt-get install -y dmraid
激活 dmraid(如果有)
sudo chroot "/mnt/boot-sav/nvme1n1p4" dmraid -ay
第三步:清除旧的 GRUB 相关包(关键步骤)
按顺序执行以下清除命令,每执行一条都可能弹出确认对话框,需要你手动选择。
sudo chroot "/mnt/boot-sav/nvme1n1p4" apt-get purge --allow-remove-essential -y grub-pc*
sudo chroot "/mnt/boot-sav/nvme1n1p4" apt-get purge --allow-remove-essential -y grub-common*
sudo chroot "/mnt/boot-sav/nvme1n1p4" apt-get purge --allow-remove-essential -y grub2-common*
sudo chroot "/mnt/boot-sav/nvme1n1p4" apt-get purge --allow-remove-essentia
在执行清除命令时,可能会出现以下对话框:
-
“Remove GRUB 2 from /boot/grub?” → 选择
<Yes>。 -
“GRUB install devices”(选择安装目标)→ 保持两个 EFI 分区(
/dev/nvme1n1p2和/dev/nvme0n1p1)都被选中,按回车确认。
回车直接ok。
选择:Yes原因:这个操作是在重新安装 GRUB 之前清理旧的引导文件,是正常的修复流程的一部分。选择 Yes 后,旧的 GRUB 文件会被删除,然后新的 GRUB 文件会立即被写入(因为 Boot-Repair 正在后台继续安装)。之前已经执行过清除 grub-pc 等软件包的命令,这个对话框是软件包配置过程中的二次确认,保持选择 Yes 即可。
8. 继续自动修复
-
手动命令执行完毕后,回到 Boot-Repair 窗口,点击 Next(图中右下角)。

-
Boot-Repair 可能会再次要求执行一条命令,例如:
sudo chroot "/mnt/boot-sav/nvme1n1p4" apt-get install -y grub-efi
在终端中执行该命令。然后再点击Next(图中右下角)。
-
等待软件包安装完成,期间可能会再次出现设备选择对话框,保持默认并确认。


选择No,不上传报告。
-
最后 Boot-Repair 会显示 “Boot successfully repaired”,并提示重启。

点击OK。
9. 重启并调整 BIOS 启动顺序
- 关闭所有窗口,在终端执行:
sudo reboot - 在重启过程中拔掉 U 盘,让电脑从硬盘启动。
- 如果直接进入黑屏且左上角光标闪烁,说明启动顺序仍不正确。此时长按电源键强制关机。
- 再次开机,连续按 F2 进入 BIOS 设置。
- 进入启动顺序(Boot Order)列表,应该能看到一个新的
ubuntu启动项(可能对应第二块硬盘 SL7000)。使用 F5/F6 将其移动到第一位。 - 如果启动项列表中没有
ubuntu,则需手动添加:- 选择类似 “Boot from file” 的选项。
- 浏览到第二块硬盘(SL7000)的 EFI 分区(通常显示为硬盘型号),进入
\EFI\ubuntu\目录,选择grubx64.efi文件。 - 保存为一个新的启动项,命名为
ubuntu,并将其设为第一启动项。
- 按 F10 保存并退出。
10. 验证启动
- 重启后应出现 GRUB 菜单,显示 Ubuntu 和 Windows 的启动选项。
- 选择 Ubuntu 进入系统,检查是否能正常登录。
- 如果仍无法启动或 GRUB 菜单不出现,可能需进一步排查(见下文“故障排除”)。
11. 故障排除(如果仍无法启动)
情况 A:重启后直接进入 Windows
- 再次进入 BIOS,确认 Ubuntu 启动项是否在第一位。
- 如果 BIOS 无法调整顺序,可以在 Windows 中以管理员身份打开命令提示符,执行:
bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
情况 B:黑屏光标闪烁
- 重新从 U 盘启动进入试用环境。
- 挂载 Ubuntu 的根分区和 EFI 分区:
sudo mount /dev/nvme1n1p4 /mnt sudo mount /dev/nvme1n1p2 /mnt/boot/efi - 检查 EFI 分区中是否有 GRUB 文件:
应看到ls /mnt/boot/efi/EFI/ubuntu/grubx64.efi、shimx64.efi等文件。如果缺失,重新安装 GRUB:sudo grub-install --target=x86_64-efi --efi-directory=/mnt/boot/efi --bootloader-id=ubuntu --recheck sudo update-grub - 重启并再次调整 BIOS 启动顺序。
情况 C:出现 GRUB 菜单但无法进入 Ubuntu
- 在 GRUB 菜单选择 Ubuntu 启动项后,如果出现错误,可以按
e编辑启动参数,检查root=参数是否正确(应为/dev/nvme1n1p4或UUID=...)。 - 若无法解决,可考虑在 Ubuntu Live 环境下重新安装 GRUB 或使用 Boot-Repair 再次修复。
重要提示
- 整个修复过程中,确保网络连接稳定,以便下载必要的软件包。
- 执行清除 GRUB 包的命令时,务必仔细阅读对话框提示,避免误操作。
- 如果遇到任何未预期的对话框或错误信息,建议截图保存,以便进一步分析。
通过以上步骤,应该能够成功修复双硬盘双系统的引导,并正常启动 Ubuntu 22.04。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)