无Windows激活码时,如何移除GRUB恢复Windows 10单独引导并将MBR磁盘转为GPT分区
无Windows激活码时,如何移除GRUB恢复Windows 10单独引导并将MBR磁盘转为GPT分区
先别慌,你完全不需要重装Windows(也不用找激活码)就能搞定这些事——Windows 10的激活是绑定硬件哈希的,只要核心硬件没换,转分区表、修复引导都不会影响激活状态。下面一步步帮你实现目标:
一、先恢复Windows独立引导(清除GRUB影响)
你之前克隆Windows失败,大概率是引导记录没同步更新。先把原MBR盘上的Windows引导修好,让它能自己启动:
- 制作Windows 10安装U盘:找另一台正常电脑,用微软官方的媒体创建工具做个安装U盘(不需要激活码就能制作)。
- 从U盘启动进入修复模式:把U盘插你电脑,重启后按BIOS快捷键(F2/F10/Del等,看主板提示)选择U盘启动,然后点击「修复计算机」→「疑难解答」→「高级选项」→「命令提示符」。
- 定位Windows系统分区:
- 输入
diskpart回车,再输入list disk列出所有磁盘,找到你的原MBR盘(记为Disk X)。 - 输入
select disk X,接着list volume,找到带Windows文件夹的NTFS分区(一般是C盘,记好它的盘符)。
- 输入
- 修复MBR引导:
- 退出diskpart:
exit - 依次执行以下命令:
bootrec /fixmbr # 清除MBR上的GRUB引导记录 bootrec /fixboot bootrec /scanos bootrec /rebuildbcd
- 退出diskpart:
二、将原MBR磁盘转为GPT分区(不重装系统)
转GPT不需要格式化Windows分区,只要先清理掉Linux的逻辑分区(你本来就打算把Linux移到另一个盘,放心删就行):
- 清理MBR盘上的Linux分区:进入Windows后,打开「磁盘管理」,找到原MBR盘上的Linux逻辑分区(不是Windows的前3个分区),右键「删除卷」,直到磁盘上只剩Windows的3个主分区。
- 用diskpart转GPT:
- 打开管理员命令提示符(右键开始菜单→Windows终端(管理员))。
- 输入
diskpart,list disk,select disk X(X是原MBR盘)。 - 输入
convert gpt回车,等待转换完成。
- 创建GPT必需的引导分区:
- 继续在diskpart里执行:
create partition efi size=100 # 创建100MB的EFI系统分区(ESP) format quick fs=fat32 assign letter=S: create partition msr size=16 # 创建16MB的MSR微软保留分区
- 继续在diskpart里执行:
- 修复EFI引导:
- 退出diskpart后,执行:
bcdboot C:\Windows /s S: /f UEFI
- 退出diskpart后,执行:
三、把GRUB移到另一块GPT磁盘
现在把Linux系统克隆到目标GPT盘,然后重新安装GRUB到这个盘:
- 克隆Linux到目标GPT盘:用GParted或者Clonezilla把原MBR盘上的Ubuntu/Fedora分区克隆到另一块GPT盘。克隆完成后,记得在GParted里给目标盘创建一个100-500MB的FAT32分区,标记为
boot和esp(这是EFI引导必需的)。 - 修复Linux的GRUB引导:
- 用Linux安装U盘启动,选择「试用Ubuntu/Fedora」(不要点安装)。
- 打开终端,先挂载Linux的根分区,比如:
sudo mount /dev/sdb2 /mnt # 假设sdb是目标GPT盘,根分区是sdb2 sudo mount /dev/sdb1 /mnt/boot/efi # sdb1是目标盘的ESP分区 - 挂载必要的系统目录:
sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys - 切换到根分区环境:
sudo chroot /mnt - 安装GRUB到目标GPT盘:
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB - 更新GRUB配置:
update-grub - 退出chroot并重启:
exit sudo reboot
最后调整启动顺序
重启后进入BIOS,在启动选项里会看到两个EFI引导项:一个是Windows Boot Manager,另一个是GRUB。你可以设置默认启动Windows,需要进Linux时再手动选择GRUB,完全符合你的需求。
关于激活的补充:如果转GPT后Windows提示未激活,直接去「设置→更新和安全→激活」,点击「疑难解答」,选择「我最近更换了这台电脑的硬件」,登录你的微软账号(如果之前绑定过),就能重新激活——全程不需要激活码。
备注:内容来源于stack exchange,提问作者4Dummies




