Win10双系统删除Ubuntu:清理GRUB与EFI启动项避坑指南
2026/9/18 17:48:08 网站建设 项目流程

上周帮同事收拾他那台跑了两年多的旧笔记本,Win10 + Ubuntu 双系统,Ubuntu 那边基本不开了,他想删掉腾出几十个 G 还给 C 盘。他在磁盘管理里看到几个没有盘符的"未知分区",右键删掉,爽快重启——屏幕停在grub rescue>上,一个光标闪啊闪,Windows 也进不去了。最后花了两个多小时,从 Win10 安装U盘的修复模式里才爬回来。

这类翻车我见过太多次。Win10 和 Ubuntu 双系统删除 Ubuntu,表面看就是"删几个分区"这么简单,真正的坑集中在三件事上:启动方式是 UEFI 还是 Legacy、EFI 系统分区有没有被 Ubuntu 共用、固件里那个残留的 Ubuntu 启动项有没有清掉。这三件事里任何一件判断错,轻则每次开机多一个黑屏的 GRUB 菜单,重则 Windows 跟着一起无法启动。

下面这套流程是我自己走过几遍、也帮别人收拾过几次之后总结下来的。全程只用 Windows 自带工具加一个免费的分区软件,不需要进 Linux 系统,也不需要重装 Windows。适合正在用双系统、想把 Ubuntu 干净卸掉的人看;如果你只是好奇双系统怎么装的,也可以先看看第 1 节,那部分讲清楚了整条启动链路,对你理解后面所有操作都有帮助。

1. 删 Ubuntu 之前,先把这台机器的启动链路捋清楚

1.1 从按下电源键到看到桌面的几秒钟里发生了什么

开机那几秒钟其实是一条链子:主板固件(UEFI 或者老式的 BIOS)→ 读取启动配置 → 加载某个引导程序 → 引导程序再去加载操作系统。双系统之所以能共存,就是因为这条链子上被插进了第三方引导程序 GRUB。

UEFI 模式下,主板有一块小存储(NVRAM),里面存着一个启动顺序表,每一项都指向某个分区上的一个.efi文件。装 Ubuntu 的时候,安装器会往这张表里加一条叫ubuntu的记录,并且通常把它排到第一位。所以开机你先看到的是 GRUB 菜单,在里面选 Windows,GRUB 才会去调用 Windows 的bootmgfw.efi关键点在于:Windows 能不能启动,取决于 GRUB 有没有把接力棒交出去。

Legacy BIOS 模式下更粗暴——硬盘最前面那 446 字节的主引导记录(MBR)里只能放一小段代码。装 Ubuntu 时 GRUB 直接写进了 MBR,等于把整条链子的起点占了。Windows 自己的引导记录安安静静躺在分区里,等着 GRUB 来调它。

这就是为什么"只删分区不修引导"必然翻车:你把被调用的目标删了,调用者还在,一开机就掉进 GRUB 的错误提示里。

1.2 共用 ESP 和独立 ESP:两种布局,删法完全不同

EFI 系统分区(ESP)是 UEFI 模式下那个 100MB 到 500MB 的小分区,FAT32 格式,所有系统的引导文件都塞在里面。它有两种可能的布局,这一步判断错了,后面全错。

共用 ESP是最常见的情况。装 Ubuntu 时选"与 Windows 共存"或者手动分区时把/boot/efi指到了已有的 ESP,那么整台机器只有一块 ESP,里面的目录结构大致是:

S:\EFI\Microsoft\Boot\bootmgfw.efi ← Windows 的引导程序 S:\EFI\ubuntu\shimx64.efi ← Ubuntu 的引导程序 S:\EFI\ubuntu\grubx64.efi S:\EFI\Boot\bootx64.efi ← 兜底路径

这种情况下,这块 ESP 绝对不能删,删了 Windows 立刻不启动。你要做的是只删里面的ubuntu目录。

独立 ESP出现在手动分区的时候,给 Ubuntu 单独划了一块 100MB 到 500MB 的 FAT32 分区。这种机器上会有两块甚至三块 ESP。即使如此,动手之前也要确认 Windows 的bootmgfw.efi到底在哪一块上——真有人装系统时只挂了一块硬盘,结果 Windows 的引导文件落在了后来插上的那块盘上。

怎么确认?给每块 ESP 临时挂个盘符,用资源管理器看看里面的目录名,谁有Microsoft目录,谁就是 Windows 在用的那块。具体挂盘符的命令在第 4 节里写。

1.3 "格式化 Ubuntu 分区"这个说法本身就不成立

很多人第一步就想错了。Windows 的文件系统驱动根本读不了 ext4,所以你在磁盘管理里对 Ubuntu 的分区点右键,看到的是"删除卷",不是"格式化"。删完之后它会变成一块"未分配"空间,不是"格式化好的空盘"。

而 ESP 是 FAT32,Windows 能读,但它默认没有盘符,在磁盘管理里的右键菜单也没有"删除卷"这一项,被你手动删掉的可能性反而不大——真正危险的是用 diskpart 的时候手滑。

所以整套流程的逻辑顺序是这样的:先删数据分区,再清 ESP 里的目录,最后清固件启动项。顺序反了不影响结果,但按这个顺序走,每一步出问题你都能立刻发现。

2. 动手前的三件准备:分区摸底、备份引导、备好救援U盘

2.1 用两套工具给每块分区"点名"

先按Win + R,输入diskmgmt.msc打开磁盘管理。这里能看到所有分区的大小和位置,但 Ubuntu 的分区只会显示成没有文件系统信息的"主分区",长什么样全靠猜。所以还需要第二个工具。

打开管理员权限的命令提示符,跑一遍:

diskpart list disk select disk 0 list partition

输出大概是这样的结构:

分区 ### 类型 大小 偏移量 ------------- ---------------- ------- ------- 分区 1 系统 260 MB 1024 KB 分区 2 保留 16 MB 261 MB 分区 3 主要 200 GB 277 MB 分区 4 主要 500 MB 200 GB 分区 5 主要 120 GB 201 GB 分区 6 主要 16 GB 321 GB

对照着看:260MB 的 FAT32 是 ESP,16MB 的是微软保留分区,200GB 的 NTFS 是 C 盘,500MB 的通常是恢复分区,后面几块没有文件系统信息的大分区就是 Ubuntu 的根分区、/home和 swap。把这张表抄下来,或者直接截个图。

更好的办法是装一个 DiskGenius,它能直接识别 ext4,在分区列表里能显示出 Ubuntu 分区的卷标和内容结构,比 Windows 自带工具直观太多。免费版够用了,看清楚就行,别用它去删——分区表的修改尽量只在一种工具里做完,两个软件来回切容易出岔子

2.2 备份整个 EFI 目录,再准备一个救援U盘

这一步很多人嫌麻烦跳过,然后出事的时候哭都来不及。

先给 ESP 挂个临时盘符(命令在第 4 节),然后整个目录复制走:

xcopy S:\EFI D:\efi_backup\ /E /H /K

这个备份只有几十兆,占不了多少地方,但万一你误删了Microsoft目录,这就是救命的。

救援U盘更简单:拿一个 8GB 以上的空U盘,去微软官网下载"媒体创建工具",按提示做一个 Win10 安装U盘。注意做的时候U盘会被格式化,里面的东西先挪走。这个U盘的作用不是重装系统,而是它的修复模式——里面有命令提示符,能在 Windows 完全起不来的情况下重建引导。没有这个U盘,你就只能靠另一台电脑现做,那个时间成本比现在花十分钟高得多。

顺手再建一个系统还原点:Win + R输入sysdm.cpl,系统保护选项卡,选 C 盘,点"创建"。分区操作类的问题还原点救不了,但能防住其他意外。

2.3 BitLocker 和快速启动:两个必须先关掉的开关

BitLocker 是第一大隐形杀手。如果你的 C 盘开了 BitLocker 或者设备加密,动了分区表和引导配置之后,开机大概率会跳出蓝色界面要你输入 48 位恢复密钥。密钥丢了,数据就真没了。

先在管理员命令提示符里看一眼:

manage-bde -status C:

如果显示"保护已开启",先把恢复密钥导出来存好:

manage-bde -protectors -get C:

记下那串 48 位数字,或者把它保存到文件、打印出来。然后临时暂停保护

manage-bde -protect C: -disable

这里要区分清楚:-protect -disable是暂停保护,硬盘依然是加密的,随时可以-protect -enable恢复;而manage-bde -off C:是彻底解密,会跑很久,不要用错。整套操作做完、确认系统正常启动了,再执行:

manage-bde -protect C: -enable

快速启动是第二个容易忽略的点。它的原理是关机时把内核状态写进hiberfil.sys,下次开机直接读回来。这意味着你点"关机"其实并没有真正关机,NTFS 分区还处在一个半挂载的状态,固件也没有完整走一遍初始化。关掉它:

控制面板 → 硬件和声音 → 电源选项 → 选择电源按钮的功能 → 更改当前不可用的设置 → 取消勾选"启用快速启动",保存。

或者直接一条命令搞定,顺带把休眠也关了,还能省出和内存差不多大的磁盘空间:

powercfg /h off

关掉之后,后面验证环节里的"关机再开机"才是真的冷启动,固件会重新读一遍启动项——这正是我们要检查的东西。等你确认 Ubuntu 删干净了,想恢复的话把休眠打开、快速启动勾回来就行。

3. 在 Windows 里删 Ubuntu 分区:哪些点一下没事,哪些点一下出事

3.1 图形界面能直接删的:ext4 根分区、/home、swap

回到磁盘管理,找到你在第 2 节里标记出来的那几块"未知分区",右键 → 删除卷 → 确认。

正常情况下 ext4 分区和 swap 分区都能这样删掉,因为 Windows 不需要理解文件系统内容,它只负责把分区表里的那条记录抹掉。删完之后那块位置会显示成黑色斜纹的"未分配"。

删之前再看一眼大小和位置,尤其注意别把恢复分区当成 Ubuntu 的 swap 删了。经验上 swap 分区的大小和你机器的内存大小接近(8G 或 16G),恢复分区通常是 500MB 到 1GB,而且恢复分区在磁盘管理里显示的文件系统是 NTFS,Ubuntu 的分区那一栏是空的。这个区别很明显,看清楚再动手。

另外提醒一句:删完一个分区之后,磁盘管理里的分区位置会重新排列。如果你一次删好几块,每删一块就按 F5 刷新一下,或者菜单"操作 → 重新扫描磁盘",确认剩下的还是你认识的那些。

3.2 图形界面删不动的:diskpart 的delete partition override

有些情况下右键菜单里的"删除卷"是灰的,或者你面对的是 ESP、MSR 这类受保护分区。这时候只能上 diskpart:

diskpart list disk select disk 0 list partition select partition 5 delete partition override

override这个参数的意思是"我确认了,别拦我"。它专门用来对付受保护分区。普通数据分区不加它也能删,但 ESP、MSR、OEM、恢复分区不加就是删不掉的。

也正因为它谁都拦不住,这一步是最容易出大事的地方。在执行delete partition override之前,把list partition的输出再看一遍,确认select partition N里的 N 对应的是 Ubuntu 那块。

还有个大坑:diskpart 里删掉一个分区之后,后面的分区号会重新编号。比如原来是 1 到 6,删掉 5 之后,原来的 6 就变成了 5。所以千万别背着一串编号一路select下去连删,删一个就重新list partition看一次。这个习惯能省掉很多眼泪。

3.3 一张"能删、不能删"的分区对照表

把这张表存下来,动手前对一遍:

分区外观常见大小文件系统归属处置方式
EFI 系统分区100–500 MBFAT32Windows / 共用绝对不能删,只清里面的 ubuntu 目录
Microsoft 保留分区16 MBWindows不能删,删了可能影响动态磁盘功能
主分区 C 盘几十到几百 GBNTFSWindows不能删
恢复分区500 MB – 1 GBNTFSWindows谨慎,删前要备份 Winre.wim
未知分区(无盘符)20–200 GB空白Ubuntu/可以删
未知分区(无盘符)约等于内存大小空白Ubuntu swap可以删
未知分区(无盘符)空白Ubuntu/home可以删
第二块 ESP100–500 MBFAT32可能是 Ubuntu 独有确认里面没有 Microsoft 目录后再删

提示:如果一块 ESP 里同时有Microsoftubuntu两个目录,说明是共用布局。这种情况下无论你多想要那块空间,都只能删目录,不能删分区。ESP 本身只占一两百兆,留着没有任何影响。

4. 清掉 EFI 分区里的 GRUB 残余:挂盘符、删目录、回收盘符

4.1 给 ESP 临时挂一个盘符

数据分区删完了,接下来处理 ESP。它平时没有盘符,资源管理器里看不到,得手动挂一个:

diskpart list disk select disk 0 list partition select partition 1 assign letter=S exit

盘符选 S 只是习惯,避开已经占用的就行(C、D、E 一般都被占了)。挂上之后,用管理员权限的命令提示符执行dir S:\EFI看看内容。用资源管理器双击进去大概率会提示拒绝访问,这是权限问题,不是分区有问题,用命令行操作即可。

这里有个小细节值得说一下:网上有些老教程会让你用mountvol S: /s来挂载 ESP。这个命令在 Win10 1903 之后的版本上经常报"参数错误",原因是系统对 ESP 的挂载策略变严了。遇到这个报错别怀疑自己,直接用 diskpart 的assign letter就行,效果完全一样,还更稳。

4.2 删 ubuntu 目录,保住 Microsoft 和 Boot

dir S:\EFI的输出里,正常应该能看到这些目录:

S:\EFI\Microsoft S:\EFI\Boot S:\EFI\ubuntu

如果之前装过别的 Linux 发行版,可能还有debiancentos之类的目录。要删的只是 Linux 相关的:

rd /s /q S:\EFI\ubuntu

如果提示拒绝访问,多半是目录的属主不是当前管理员。先用 takeown 把所有权拿过来,再改权限:

takeown /f S:\EFI\ubuntu /r /d y icacls S:\EFI\ubuntu /grant administrators:F /t rd /s /q S:\EFI\ubuntu

删完再dir S:\EFI确认一次,MicrosoftBoot必须还在。

顺便说一个容易被忽略的点:S:\EFI\Boot\bootx64.efi这个文件是 UEFI 规范的兜底启动路径。有些 Ubuntu 安装器会把它替换成自己的shimx64.efi,导致你的兜底启动变成了 Linux。判断方法不好用文件大小,最稳妥的做法是用 bcdboot 重新生成一遍 Windows 的引导文件

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

这条命令会把bootmgfw.efi和兜底的bootx64.efi都重新写一遍,属于"无脑修一遍"的操作,跑完不影响已有配置。如果你的机器之前出现过"换了硬盘就启动不了"的怪现象,八成就是兜底路径被换过,这条命令能顺手修掉。

4.3 把临时盘符收回去

用完了别留着,不然以后挂载别的分区容易混:

diskpart select disk 0 select partition 1 remove letter=S exit

有些分区工具或者备份软件会主动去扫所有有盘符的分区,ESP 上挂着盘符偶尔会被它们误碰,所以还是收干净比较好。

5. 固件启动项里的"Ubuntu 幽灵":bcdedit 清理与启动顺序调整

5.1bcdedit /enum firmware的输出怎么读

分区和文件都删干净了,但主板的 NVRAM 里那条ubuntu记录还在。它指向一个已经不存在的.efi文件,如果它还排在第一位,开机就会黑屏或者掉进错误提示。先看一眼:

bcdedit /enum firmware

输出分成两部分。开头是"Windows 启动管理器",标识符是{bootmgr}。下面跟着一串"固件应用程序 (101fffff)",每一项都长这样:

固件应用程序(101fffff) ---------------- 标识符 {a1b2c3d4-5e6f-7890-abcd-ef1234567890} description ubuntu device partition=\Device\HarddiskVolume1 path \EFI\ubuntu\shimx64.efi

重点看descriptionpath两行。凡是path指向\EFI\ubuntu\的,都是要清掉的对象。把它的标识符那串花括号里的内容完整复制下来。

5.2 删除 Ubuntu 项,把 Windows 顶到第一位

bcdedit /delete {a1b2c3d4-5e6f-7890-abcd-ef1234567890}

如果提示"找不到元素"或者拒绝执行,加上/f强制:

bcdedit /delete {a1b2c3d4-5e6f-7890-abcd-ef1234567890} /f

极少数情况下 bcdedit 会拒绝删固件项,那就退一步,只把它从显示顺序里摘掉:

bcdedit /set {fwbootmgr} displayorder {a1b2c3d4-5e6f-7890-abcd-ef1234567890} /remove

然后把 Windows 启动管理器加到最前面:

bcdedit /set {fwbootmgr} displayorder {bootmgr} /addfirst

{bootmgr}是 Windows 启动管理器的固定标识符,不用你去查。这条命令的意思就是"开机第一个加载 Windows"。

5.3 进固件设置再确认一遍

bcdedit 改的 NVRAM 和你在 BIOS 界面里看到的启动顺序是同一份数据,但不同主板的固件实现有差异,改完最好再进 BIOS 看一眼。

开机时狂按Del或者F2(不同品牌按键不同,联想常见的是 F2 或 Fn+F2,惠普是 F10,戴尔是 F2,华硕是 Del),进到 Boot 或者"启动"页面,确认Windows Boot Manager 排在第一位。如果列表里还能看到残留的ubuntu项,用键盘上的 Delete 键或者右键菜单直接删掉。

保存退出一般是 F10,有些机器是 F10 之后还要选 Yes。

有个心理准备:部分主板的固件里,那个 ubuntu 项删了还会再出现,或者根本删不掉。这属于固件的小毛病,只要它排在 Windows 后面,而且它指向的.efi文件已经被删了,开机时固件会自动跳过它去找下一个可启动项,属于无害残留。不用为了这个反复折腾,更不要因此去动 NVRAM 的清理工具——那些工具的风险远大于收益。

6. 老机型走 Legacy + MBR 路线:bootrec、bcdboot、bootsect 的正确打开方式

6.1 修复环境怎么进

如果你的机器是十几年前的老机型,或者虽然支持 UEFI 但硬盘用的是 MBR 分区表(分成主分区、扩展分区、逻辑分区那种),那整个引导链条完全不同,得走这一套。

把之前做好的 Win10 安装U盘插上,开机从U盘启动(一般是 F12 或者 Esc 进启动菜单)。出现安装界面后,不要点"现在安装",点左下角的"修复计算机"。然后按这个路径进去:

疑难解答 → 高级选项 → 命令提示符。

这一步有个很容易踩的坑:在 Legacy 模式的机器上,从U盘启动时启动菜单里通常会有两项,一项带UEFI:前缀,一项不带。一定要选不带前缀的那一项。因为如果你用 UEFI 方式启动了修复环境,bcdboot生成出来的会是 UEFI 引导文件,写成 MBR 格式的硬盘根本用不了,修复完还是启动不了,会让人怀疑人生。

6.2 命令顺序,以及/fixboot报"拒绝访问"怎么办

按这个顺序敲:

bootrec /fixmbr bootrec /fixboot bootrec /scanos bootrec /rebuildbcd

逐条解释一下各自在干什么。/fixmbr是把 MBR 里那段被 GRUB 占掉的引导代码换成 Windows 的标准代码,这一步是解决"开机掉进 GRUB"的关键。/fixboot是往活动分区写一份新的引导扇区。/scanos是扫描硬盘上所有的 Windows 安装,/rebuildbcd根据扫描结果重建启动配置数据。

实际执行的时候,bootrec /fixboot有很大概率报"拒绝访问"。这是 Win10 上的老毛病了,跟权限无关,是因为引导扇区被写保护了。不用纠结,绕过去用 bcdboot:

bcdboot C:\Windows /s C: /f BIOS

/s C:的意思是"把这套引导写到 C 盘",前提是 C 盘本身就是活动分区。如果你看到的是一个单独的 100MB 到 500MB 的"系统保留"分区(它才是活动分区),那就先给它挂盘符,再指定它,比如bcdboot C:\Windows /s S: /f BIOS

如果还是不放心,可以再补一条:

bootsect /nt60 SYS /mbr

这条是强制把系统分区的引导扇区刷成 NT60(Win7 之后的引导码),/mbr表示顺带把 MBR 也刷一遍。跑完这些,exit退出命令提示符,重启。

6.3 BIOS 模式下 BCD 里的 Ubuntu 菜单项怎么去掉

Legacy 模式和 UEFI 模式有个重要区别:Legacy 模式下 GRUB 会把自己写进 Windows 的 BCD 文件里,形成一条启动菜单项。所以你把 Ubuntu 分区删了之后,开机菜单里可能还留着一个"Ubuntu"选项,选了只会报错。

进系统之后用msconfig清掉:Win + R输入msconfig,切到"引导"选项卡,选中那条 Ubuntu 记录,点"删除",确定,重启。图形界面操作最直观。

命令行版本是这样,先看一眼有哪些项:

bcdedit /enum

找到对应的标识符,删之前先确认默认项是 Windows:

bcdedit /default {current} bcdedit /delete {那一串标识符}

{current}表示当前正在运行的系统,这条命令把 Windows 设为默认启动项。如果那条 Ubuntu 项是被设成默认的,删除前不先改默认项,又会有一次开不了机。

7. 把空间还给 C 盘:恢复分区挡在中间时的三种做法

7.1 为什么"扩展卷"是灰色的

删完 Ubuntu 之后,那些空间变成了"未分配"。理论上在 C 盘上右键"扩展卷"就能把它吞掉,但你会发现那个选项是灰的。

原因很直接:Windows 自带的磁盘管理,只能把紧挨在分区右侧的未分配空间并进来。而绝大多数机器上,C 盘右边依次是"恢复分区"和"微软保留分区"(位置因机器而异),再过去才是 Ubuntu 删出来的空地。中间隔着东西,合并功能就不可用。

看一眼你的磁盘管理布局,如果 C 盘和未分配空间之间隔着任何一块分区,"扩展卷"就一定是灰的,这不是权限问题也不是驱动问题。

7.2 方案A:用第三方工具搬移恢复分区

DiskGenius 免费版就有无损调整分区位置的功能。操作逻辑是:选中那个挡路的恢复分区,用"调整分区大小/位置"把它整体往右挪,挪到未分配空间的另一端,这样 C 盘右边就空出来一块连续的未分配空间,再回来用磁盘管理扩展 C 盘就行了。

用这类工具必须注意几件事。第一,动手前一定要接上电源,笔记本电池不满的时候别做,移动分区是大量读写操作,中途断电分区表就废了。第二,操作前先在工具里做一次分区表备份,DiskGenius 有"备份分区表"功能,出问题了能一键还原。第三,整个过程不要在工具和 Windows 磁盘管理之间来回切,一个工具改完,重启确认系统正常了,再用另一个工具做下一步。

说实话,这条路能走通,但风险是所有方案里最高的。除非你对丢掉那几百兆特别介意,否则我一般不建议走这条。

7.3 方案B:不扩 C 盘,直接新建一个数据分区(推荐)

在未分配空间上右键 → 新建简单卷 → 一路下一步,分配一个盘符比如 D,NTFS 格式。

这是最省事的做法:不动任何现有分区,不搬数据,零风险,一分钟搞定,得到一块干干净净的数据盘,放电影、放素材、放虚拟机文件都行。对于"我只是想把 Ubuntu 那块空间利用起来"的绝大多数人来说,这就是正确答案。

如果那块空间比较大(比如 120GB),而 C 盘本身就紧张,那可以分两部分处理:先新建一个 80GB 的数据盘,剩下的 40GB 先留着别动,等哪天想扩 C 盘了再说。

7.4 方案C:删掉恢复分区再重建

想扩 C 盘又不想用第三方工具,只有一条路:把挡路的恢复分区删掉,让未分配空间和 C 盘贴在一起,扩完再重新建一个恢复分区。

这条路能走通,但步骤多、细节琐碎,走错一步就会失去系统的恢复环境。大致流程是这样:先用reagentc /info看恢复环境的位置,用 diskpart 给恢复分区挂个盘符,把里面的\Recovery\WindowsRE\Winre.wim复制到 C 盘根目录留个底,然后reagentc /disable关掉恢复环境,接着用delete partition override删掉恢复分区,扩展 C 盘,最后在 C 盘尾部重新划一个 500MB 的 NTFS 分区,把类型 ID 设成de94bba4-06d1-4d40-a16a-bfd50179d6ac(这是恢复分区的专用类型 GUID),再执行reagentc /setreimage加上reagentc /enable把恢复环境装回去。

这套操作里最容易出错的是分区类型 ID 和 GPT 属性那两步,设错了 Windows 就不认它是恢复分区,reagentc /enable会一直报错。如果你不是特别熟悉这些命令,老老实实走方案B。失去恢复环境的代价,和你省下的那点 C 盘空间比起来,不太划算。

8. 重启验证与异常对照:这几步做完才算真的删干净

8.1 四步验证清单

别删完就直接用,按这个清单过一遍:

第一步,清点固件启动项。

bcdedit /enum firmware

搜一遍输出里还有没有ubuntu字样。有的话回到第 5 节继续清。

第二步,看磁盘管理。所有"未知分区"都变成了"未分配",没有任何残留的空白文件系统分区。

第三步,连续冷启动三次。注意是"关机→开机",不是"重启"。重启有时候不走完整的固件初始化流程,验证不出真实情况。而我们在第 2 节已经把快速启动关掉了,所以关机是真正的关机。三次冷启动应该每次都直接进 Windows,中间不出现任何 GRUB 菜单、黑屏等待或者启动设备选择界面。

第四步,检查临时盘符。diskpartlist volume,确认没有多余的 S 盘之类的挂载残留。

8.2grub rescue>no such partition、黑屏,各自是怎么回事

如果验证的时候出现了异常,对着这张表找原因:

现象成因处理方式
停在grub rescue>Legacy 模式下 GRUB 的代码还在 MBR 里,但它要加载的分区没了进 BIOS 把硬盘设为第一启动设备,用安装U盘跑bootrec /fixmbr
error: no such partitionGRUB 在 UEFI 模式下被固件加载了,但找不到\EFI\ubuntu\下的文件进 BIOS 把 Windows Boot Manager 设第一,回系统后清 NVRAM
开机黑屏无任何提示固件启动了残留的 ubuntu 项,加载.efi失败后卡住同上,重点是改启动顺序
提示找不到操作系统\EFI\Microsoft\Boot\bootmgfw.efi被误删用安装U盘进修复模式,bcdboot C:\Windows /s S: /f UEFI
开机要求输入恢复密钥BitLocker 检测到引导配置变化输入第 2 节里保存的 48 位密钥,进系统后重新启用保护

黑屏这一类里,有一个办法能快速判断问题出在哪:进 BIOS 看启动顺序页。如果 Windows Boot Manager 排在第一位却还是启动不了,那是引导文件的问题,得用U盘修;如果 Ubuntu 项排在第一位,那纯粹是顺序问题,改一下就好。

8.3 BitLocker 恢复界面和引导彻底丢失的应急处理

BitLocker 那个蓝色界面出现了别慌。密钥有三个地方能找:登录微软账户后到设备管理页面里查、公司电脑找 IT 管理员、或者你当初打印/保存的那张纸质密钥。三处都没有的话,那就只能重装了,这也是为什么第 2 节里要强调先把密钥导出来。

Windows 引导彻底丢失(连修复模式都提示找不到系统)的情况下,应急流程是这样:安装U盘启动 →选带UEFI:前缀的那一项(UEFI 机器)→ 修复计算机 → 命令提示符 → 确认盘符。这里要注意,修复环境里的盘符可能和系统里不一样,C 盘可能变成 D。用dir C:\挨个看,找到有Windows目录的那个。然后:

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

S 是给 ESP 挂的盘符,需要先用 diskpart 挂上。跑完这条命令,Windows 的引导文件就全部重建了,重启即可恢复。

9. 几个容易搞混的边界场景

9.1 双硬盘双系统:别顺手把另一块盘送走

Ubuntu 装在第二块硬盘上,这种情况看着简单——把整块盘删了不就行了?但有个隐藏风险:你的 Windows 引导文件不一定在第 0 块盘上。

装系统的时候如果只接了一块盘,Windows 的bootmgfw.efi就会落在那一块盘的 ESP 上。后来插上第二块盘装 Ubuntu,Ubuntu 默认会复用第一块盘的 ESP(也就是共用布局),软件层面它是"Ubuntu 所在硬盘"和"系统盘"重合,看着没问题。但反过来,如果你当初装 Windows 时插了两块盘,而 ESP 落在第二块上,那么删掉第二块盘等于把 Windows 的引导也删了。

确认方法很简单:给两块盘的 ESP 都挂盘符,看哪一块里面有Microsoft\Boot\bootmgfw.efi。那一块就是不能动的。如果发现在 Ubuntu 那块盘上,就得先用bcdboot C:\Windows /s S: /f UEFI把引导文件搬到 Windows 所在盘的 ESP 上,再动第二块盘。

另外,有些主板在你拔掉或删除某块系统盘之后,磁盘编号会变,导致原来排在第一的启动设备失效。稳妥做法是删完先别急着拆盘,重启验证几次,确认没问题再处理硬件。

9.2 WSL2 里的 Ubuntu 和这个 Ubuntu 完全是两回事

有朋友删完分区重启,发现"Ubuntu 还在",打开开始菜单还有个 Ubuntu 图标,以为没删干净。这基本可以确定他装的是 WSL2。

WSL2 里的 Ubuntu 是跑在 C 盘用户目录下的一个ext4.vhdx虚拟磁盘文件里的,跟物理分区一点关系都没有。卸载它用一条命令:

wsl --list --verbose wsl --unregister Ubuntu

第一条看看装了哪些发行版,第二条把它注销掉,对应的vhdx文件会一起删除。也可以从"设置 → 应用 → 应用和功能"里找到 Ubuntu 卸载,但那样卸载有时会残留虚拟磁盘文件,还是wsl --unregister干净。

如果你想彻底关掉 WSL 功能,还要去"控制面板 → 程序 → 启用或关闭 Windows 功能"里,把"适用于 Linux 的 Windows 子系统"和"虚拟机平台"两项取消勾选,重启。

9.3 虚拟机里的 Ubuntu:直接删文件夹就行

VMware 或者 VirtualBox 里跑的 Ubuntu 更简单,它整个系统就是几个文件,通常是一个.vmx配置文件加一堆.vmdk虚拟磁盘。关机之后直接把整个虚拟机目录删掉,或者在软件里右键"从磁盘删除"。

之所以单独提这一句,是因为经常有人在"删除 Ubuntu"这件事上把三件事混起来:真机双系统的 Ubuntu、WSL2 的 Ubuntu、虚拟机里的 Ubuntu。这三者的清理方式完全不同,动错了地方,要么白忙活一场,要么把真机分区表搞坏。动手之前先确认自己面对的是哪一种——最简单的方法就是看磁盘管理里有没有那几块"未知分区",有就是真机双系统,没有就是另外两种。

我个人在这件事上最大的体会是:硬盘空间永远是最不值钱的东西,分区表的稳定才是最值钱的。那几十个 G 的空间,删干净之后哪怕暂时不合并,留着做数据盘也完全够用;但为了多合并出几百兆去搬移恢复分区,一旦中途断电或者工具出bug,损失的是整块盘的可用性。我自己现在的做法是,删完 Ubuntu 之后在剩下的空间上建一个 NTFS 分区,装个 D 盘,把虚拟机和素材都扔进去,C 盘反而更清爽了。真要扩 C 盘,等下次重装系统的时候重新规划分区表,比现在动刀安全得多。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询