重建Windows引导分区
windows+linux 双启动 卸载linux,重建windows引导(UEFI)
以下内容操作具有风险,操作前请提前备份数据。建议由有丰富经验的人使用,需要掌握diskpart。
背景
使用ubuntu+win10 dual boot后,需要重置回纯净win10系统。
BCD是Boot Config Data的缩写。
UEFI模式安装win10 + Ubuntu双系统后,由于Ubuntu会使用grub2托管启动项,所以卸载最大的难点在于如何重建windows启动索引。
步骤
- 重建windows启动
- 删除ubuntu安装分区并归入windows磁盘
- 删除bios menu
- 删除efi/ubuntu
卸载残留主要包括:
- bios的boot菜单,可以直接在bios的boot设置中,使用delete删除ubuntu启动项,
- efi/ubuntu中的残留文件。可通过DiskGenius图形化界面浏览分区中文件进行删除,
也可使用windows的diskpart挂载efi分区,删除efi/ubuntu目录,详细操作如下:
cmd #管理员权限运行,下同
diskpart
list volume
select volume x #选择efi对应卷,fat32的,x为卷id
assign letter=p
exit
p:
dir
cd efi
rd /s ubuntu
#去除efi分区加载点(不手动去除,重启后也会消失)
diskpart
list volume
select volume p
remove letter=p
重建引导推荐使用windows自带的命令行工具:bcdboot、bootrec。
bcdboot windows安装后都会携带,各类PE中也包含。使用也较为简单,但使用后高级启动选项中会丢失Windows RE(Recovery Environment,恢复环境)相关功能选项。
bootrec 恢复较为完整,不过必须进入完整的Windows RE才能使用。
UEFI引导方式,启动是由EFI分区控制的,EFI分区目录结构如下:
EFI
-Boot
--bootx64.efi
-Microsoft
-Ubuntu
-fedora
...
efi分区中的文件,可使用diskgenius工具直接管理,也可通过diskpart挂载管理。
bcdboot
bcdboot是重建 Windows 启动项的最简方式。找到windows安装卷,并在命令行中指定。即可重新生成 Boot 与 Microsoft 目录
diskpart
list volume
exit
#注意如果是PE启动,此处一般不是c盘而是d盘,需要使用list volume显示的系统分区所在盘符
bcdboot c:\windows
#完整命令,p:为efi分区盘符,需要使用diskpart挂载efi分区并分配盘符,在前文卸载残留内容中有命令行样例
bcdboot c:\windows /s p: /f UEFI
bcdboot执行后即可去除 Ubuntu 启动项,重启可通过Windows启动。