You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

无Windows激活码时,如何移除GRUB恢复Windows 10单独引导并将MBR磁盘转为GPT分区

无Windows激活码时,如何移除GRUB恢复Windows 10单独引导并将MBR磁盘转为GPT分区

先别慌,你完全不需要重装Windows(也不用找激活码)就能搞定这些事——Windows 10的激活是绑定硬件哈希的,只要核心硬件没换,转分区表、修复引导都不会影响激活状态。下面一步步帮你实现目标:

一、先恢复Windows独立引导(清除GRUB影响)

你之前克隆Windows失败,大概率是引导记录没同步更新。先把原MBR盘上的Windows引导修好,让它能自己启动:

  1. 制作Windows 10安装U盘:找另一台正常电脑,用微软官方的媒体创建工具做个安装U盘(不需要激活码就能制作)。
  2. 从U盘启动进入修复模式:把U盘插你电脑,重启后按BIOS快捷键(F2/F10/Del等,看主板提示)选择U盘启动,然后点击「修复计算机」→「疑难解答」→「高级选项」→「命令提示符」。
  3. 定位Windows系统分区
    • 输入diskpart回车,再输入list disk列出所有磁盘,找到你的原MBR盘(记为Disk X)。
    • 输入select disk X,接着list volume,找到带Windows文件夹的NTFS分区(一般是C盘,记好它的盘符)。
  4. 修复MBR引导
    • 退出diskpart:exit
    • 依次执行以下命令:
      bootrec /fixmbr  # 清除MBR上的GRUB引导记录
      bootrec /fixboot
      bootrec /scanos
      bootrec /rebuildbcd
      
    执行完重启,应该能直接进入Windows了。

二、将原MBR磁盘转为GPT分区(不重装系统)

转GPT不需要格式化Windows分区,只要先清理掉Linux的逻辑分区(你本来就打算把Linux移到另一个盘,放心删就行):

  1. 清理MBR盘上的Linux分区:进入Windows后,打开「磁盘管理」,找到原MBR盘上的Linux逻辑分区(不是Windows的前3个分区),右键「删除卷」,直到磁盘上只剩Windows的3个主分区。
  2. 用diskpart转GPT
    • 打开管理员命令提示符(右键开始菜单→Windows终端(管理员))。
    • 输入diskpartlist diskselect disk X(X是原MBR盘)。
    • 输入convert gpt回车,等待转换完成。
  3. 创建GPT必需的引导分区
    • 继续在diskpart里执行:
      create partition efi size=100  # 创建100MB的EFI系统分区(ESP)
      format quick fs=fat32
      assign letter=S:
      create partition msr size=16  # 创建16MB的MSR微软保留分区
      
  4. 修复EFI引导
    • 退出diskpart后,执行:
      bcdboot C:\Windows /s S: /f UEFI
      
    这里C:是你的Windows系统分区,S:是刚创建的ESP分区。执行完后,Windows就能通过GPT的EFI引导启动了。

三、把GRUB移到另一块GPT磁盘

现在把Linux系统克隆到目标GPT盘,然后重新安装GRUB到这个盘:

  1. 克隆Linux到目标GPT盘:用GParted或者Clonezilla把原MBR盘上的Ubuntu/Fedora分区克隆到另一块GPT盘。克隆完成后,记得在GParted里给目标盘创建一个100-500MB的FAT32分区,标记为bootesp(这是EFI引导必需的)。
  2. 修复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

火山引擎 最新活动