ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Win10双系统删除Ubuntu:清理GRUB与EFI启动项避坑指南

Win10双系统删除Ubuntu:清理GRUB与EFI启动项避坑指南 上周帮同事收拾他那台跑了两年多的旧笔记本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 菜单在里面选 WindowsGRUB 才会去调用 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 是 FAT32Windows 能读但它默认没有盘符在磁盘管理里的右键菜单也没有删除卷这一项被你手动删掉的可能性反而不大——真正危险的是用 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 是 ESP16MB 的是微软保留分区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而且恢复分区在磁盘管理里显示的文件系统是 NTFSUbuntu 的分区那一栏是空的。这个区别很明显看清楚再动手。另外提醒一句删完一个分区之后磁盘管理里的分区位置会重新排列。如果你一次删好几块每删一块就按 F5 刷新一下或者菜单操作 → 重新扫描磁盘确认剩下的还是你认识的那些。3.2 图形界面删不动的diskpart 的delete partition override有些情况下右键菜单里的删除卷是灰的或者你面对的是 ESP、MSR 这类受保护分区。这时候只能上 diskpartdiskpart list disk select disk 0 list partition select partition 5 delete partition overrideoverride这个参数的意思是我确认了别拦我。它专门用来对付受保护分区。普通数据分区不加它也能删但 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 MB无Windows不能删删了可能影响动态磁盘功能主分区 C 盘几十到几百 GBNTFSWindows不能删恢复分区500 MB – 1 GBNTFSWindows谨慎删前要备份 Winre.wim未知分区无盘符20–200 GB空白Ubuntu/可以删未知分区无盘符约等于内存大小空白Ubuntu swap可以删未知分区无盘符大空白Ubuntu/home可以删第二块 ESP100–500 MBFAT32可能是 Ubuntu 独有确认里面没有 Microsoft 目录后再删提示如果一块 ESP 里同时有Microsoft和ubuntu两个目录说明是共用布局。这种情况下无论你多想要那块空间都只能删目录不能删分区。ESP 本身只占一两百兆留着没有任何影响。4. 清掉 EFI 分区里的 GRUB 残余挂盘符、删目录、回收盘符4.1 给 ESP 临时挂一个盘符数据分区删完了接下来处理 ESP。它平时没有盘符资源管理器里看不到得手动挂一个diskpart list disk select disk 0 list partition select partition 1 assign letterS exit盘符选 S 只是习惯避开已经占用的就行C、D、E 一般都被占了。挂上之后用管理员权限的命令提示符执行dir S:\EFI看看内容。用资源管理器双击进去大概率会提示拒绝访问这是权限问题不是分区有问题用命令行操作即可。这里有个小细节值得说一下网上有些老教程会让你用mountvol S: /s来挂载 ESP。这个命令在 Win10 1903 之后的版本上经常报参数错误原因是系统对 ESP 的挂载策略变严了。遇到这个报错别怀疑自己直接用 diskpart 的assign letter就行效果完全一样还更稳。4.2 删 ubuntu 目录保住 Microsoft 和 Bootdir S:\EFI的输出里正常应该能看到这些目录S:\EFI\Microsoft S:\EFI\Boot S:\EFI\ubuntu如果之前装过别的 Linux 发行版可能还有debian、centos之类的目录。要删的只是 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确认一次Microsoft和Boot必须还在。顺便说一个容易被忽略的点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 letterS 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重点看description和path两行。凡是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 或 FnF2惠普是 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 上的老毛病了跟权限无关是因为引导扇区被写保护了。不用纠结绕过去用 bcdbootbcdboot C:\Windows /s C: /f BIOS/s C:的意思是把这套引导写到 C 盘前提是 C 盘本身就是活动分区。如果你看到的是一个单独的 100MB 到 500MB 的系统保留分区它才是活动分区那就先给它挂盘符再指定它比如bcdboot C:\Windows /s S: /f BIOS。如果还是不放心可以再补一条bootsect /nt60 SYS /mbr这条是强制把系统分区的引导扇区刷成 NT60Win7 之后的引导码/mbr表示顺带把 MBR 也刷一遍。跑完这些exit退出命令提示符重启。6.3 BIOS 模式下 BCD 里的 Ubuntu 菜单项怎么去掉Legacy 模式和 UEFI 模式有个重要区别Legacy 模式下 GRUB 会把自己写进 Windows 的 BCD 文件里形成一条启动菜单项。所以你把 Ubuntu 分区删了之后开机菜单里可能还留着一个Ubuntu选项选了只会报错。进系统之后用msconfig清掉Win R输入msconfig切到引导选项卡选中那条 Ubuntu 记录点删除确定重启。图形界面操作最直观。命令行版本是这样先看一眼有哪些项bcdedit /enum找到对应的标识符删之前先确认默认项是 Windowsbcdedit /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 盘直接新建一个数据分区推荐在未分配空间上右键 → 新建简单卷 → 一路下一步分配一个盘符比如 DNTFS 格式。这是最省事的做法不动任何现有分区不搬数据零风险一分钟搞定得到一块干干净净的数据盘放电影、放素材、放虚拟机文件都行。对于我只是想把 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 菜单、黑屏等待或者启动设备选择界面。第四步检查临时盘符。diskpart里list volume确认没有多余的 S 盘之类的挂载残留。8.2grub rescue、no such partition、黑屏各自是怎么回事如果验证的时候出现了异常对着这张表找原因现象成因处理方式停在grub rescueLegacy 模式下 GRUB 的代码还在 MBR 里但它要加载的分区没了进 BIOS 把硬盘设为第一启动设备用安装U盘跑bootrec /fixmbrerror: 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 UEFIS 是给 ESP 挂的盘符需要先用 diskpart 挂上。跑完这条命令Windows 的引导文件就全部重建了重启即可恢复。9. 几个容易搞混的边界场景9.1 双硬盘双系统别顺手把另一块盘送走Ubuntu 装在第二块硬盘上这种情况看着简单——把整块盘删了不就行了但有个隐藏风险你的 Windows 引导文件不一定在第 0 块盘上。装系统的时候如果只接了一块盘Windows 的bootmgfw.efi就会落在那一块盘的 ESP 上。后来插上第二块盘装 UbuntuUbuntu 默认会复用第一块盘的 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 盘等下次重装系统的时候重新规划分区表比现在动刀安全得多。
返回列表