克隆Win10磁盘后出现GRUB命令行的原因及解决方法咨询
克隆Win10磁盘后出现GRUB命令行的原因及解决方法咨询
问题描述
我遇到了一个很困惑的问题,想请大家帮忙分析下:
- 我的台式机只有一块内置NVMe盘,上面装的是Windows 10系统
- 平时我会用一个装有Ubuntu 22.04的USB盘来启动这台机器
- 最近我尝试把NVMe盘的内容克隆到一个空的256GB USB盘,试过两种方式:用GParted逐个复制分区,或者用
dd命令直接克隆整个磁盘
但不管用哪种方式,当我尝试从这个克隆后的USB盘启动时,最后都会进入GRUB的命令行界面,显示:
GNU GRUB version 2.06
Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists possible
device or file completions.
grub>
我本来以为如果克隆过程有问题,应该会出现Windows的报错或者自动修复界面,完全没想到GRUB会跳出来。而且这些磁盘从来没用来做过双系统——虽然那个256GB USB盘之前可能做过Ubuntu安装介质,但每次使用新系统前我都会删除磁盘上的所有分区,实在搞不懂GRUB是怎么残留下来并触发的。
我想弄明白:为什么理论上和源盘完全一致的克隆,启动时会出现源盘没有的GRUB命令行错误?如果有解决办法的话,也麻烦大家指导一下。
原因分析
结合你的操作场景,GRUB出现的原因大概率是以下几种情况之一:
- BIOS/UEFI引导顺序优先级问题:你的主板可能优先保留了之前Ubuntu USB盘的GRUB启动条目,当你插入克隆后的USB盘时,BIOS没有正确识别它的Windows引导,反而加载了旧的GRUB条目。
- 磁盘引导扇区残留GRUB信息:虽然你删除过256GB USB盘的分区,但MBR(主引导记录)或者UEFI的ESP(EFI系统分区)里可能还残留着GRUB的引导代码,克隆过程中这些残留信息没有被完全覆盖,导致启动时触发GRUB。
- 克隆工具的隐性问题:用GParted复制分区时,如果没有同步复制并修复Windows的引导分区,或者
dd克隆时不小心把Ubuntu启动环境的部分信息带了进去(比如你的Ubuntu USB盘和克隆目标盘同时挂载时的误操作),也可能导致引导异常。
解决办法
1. 调整BIOS/UEFI引导顺序
重启电脑进入BIOS/UEFI设置界面(快捷键一般是Del、F2、F10,根据主板品牌而定),找到启动选项列表:
- 找到克隆后的USB盘对应的Windows Boot Manager条目,把它设为第一启动项
- 禁用或删除所有和Ubuntu/GRUB相关的旧启动条目
- 保存设置后重启,尝试从克隆USB盘启动
2. 修复Windows引导记录
如果调整引导顺序没用,需要用Windows安装介质修复克隆盘的引导:
- 找一台正常的Windows电脑,制作Windows 10安装USB盘
- 将克隆后的USB盘和安装USB盘都插入你的台式机,从安装USB盘启动
- 进入安装界面后,点击「修复计算机」→「疑难解答」→「命令提示符」
- 在命令提示符中依次执行以下命令(注意替换对应的磁盘/分区号):
# 进入磁盘分区工具 diskpart # 列出所有磁盘,找到克隆USB盘的编号(比如Disk 1) list disk select disk 1 # 列出该磁盘的分区,找到EFI系统分区(一般是100MB左右的FAT32分区) list partition select partition X # X替换为EFI分区的编号 # 给EFI分区分配一个盘符 assign letter=Z: exit # 修复MBR引导 bootrec /fixmbr # 修复引导扇区 bootrec /fixboot # 扫描系统分区 bootrec /scanos # 重建BCD引导配置 bootrec /rebuildbcd - 执行完成后重启电脑,选择从克隆USB盘启动
3. 彻底清除克隆盘的旧引导痕迹
如果怀疑磁盘里残留了GRUB的顽固信息,可以在Ubuntu里彻底擦除引导扇区后重新克隆:
- 用Ubuntu 22.04 USB盘启动电脑
- 打开终端,先确认克隆目标USB盘的设备名(比如
/dev/sdb,一定要核对准确,避免误删其他磁盘):lsblk - 擦除磁盘的MBR引导扇区:
sudo dd if=/dev/zero of=/dev/sdb bs=512 count=1 - 擦除完成后,重新用
dd或GParted克隆Win10的NVMe盘,再尝试启动
备注:内容来源于stack exchange,提问作者Ray Woodcock




