记一次windows 10 无法升级问题的处理(系统盘MBR转GPT)

4 篇文章 0 订阅
4 篇文章 0 订阅

问题出现

当前点系统是win10的17134版本,感觉已经很久没更新了,打算更新下系统,开了电脑系统的更新,结果
提示一个更新失败无法正常安装,然后给个提示
“Windows can’t be installed because this PC has an unsupported disk layout for UEFI”
意思是Windows无法安装,因为这台电脑有一个UEFI固件不支持的磁盘分区
百度找了下,原因据说是

在Build 10041中,Windows安装团队添加了一项检查步骤,目的是为了确保在用户升级之前系统已正确配置UEFI。这项我们添加的检查程序过于激进,因此阻碍了无辜用户的升级。我们会在下次Build更新中解决这一问题。

这个是微软官方社区论坛的信息,但是这个是10041版本的事,理论上来说17134应该修复了才对,也不知道为什么我还会出这个问题,其他搜索了下没找到相关的。我电脑之前是换SSD的时候直接安装的win10,也不是win7升级上来的,直接单独安装在SSD的硬盘上,目前该硬盘是MBR的分区。
 
 
 

处理过程

然后根据解决办法,我需要建立一个MSR分区(微软保留分区Microsoft Reserved Partition)
打开搜索,输入cmd,找到命令提示符,右键命令提示符“使用管理员模式运行”
之后输入diskpart回车,进入DISKPART工具
如果只是一个硬盘,那么找到卷之后直接敲命令:create partition msr就可以了,不过我电脑有好几个硬盘,所以需要选择硬盘之后再创建。
首先,需要确认硬盘,输入以下命令

select disk 0 
list partition
select partition 1
detail partition

第一个命令是选择硬盘,接着查看分区,然后再选择分区1,再列出详细信息,之后就看信息里面LTR是否有C的磁盘
在这里插入图片描述
如果没有就要继续找了,例如:

select partition 2
detail partiton

依次增加select partition后面的数字,直到找到,如果都找不到,那就得退出去换个磁盘

select disk 1 

类似这样,再重复去找的步骤,直到找到C盘。
找到之后执行命令

shrink desired=50 minimum=40
create partition msr

最后使用list partition命令检查有没有创建出来就可以退出了,上面那个命令可以创建一个隐藏的为50M的MSR分区————理论上是这样!然而系统又特么的报错了,无法正常创建MSR分区,说不是GPT格式的没办法创建。

于是我又去找如何无损的将硬盘从MBR格式转换为GPT格式。试过 在命令提示符转换,但是不靠谱,又是报错。最后我选择了使用DiskGenius。
使用PE启动电脑,然后打开DiskGenius,备份了分区表,右键点SSD,选择转换分区表为GUID格式
在这里插入图片描述
转换之后就是建立ESP和MSR了,右键硬盘下面的系统盘,选择建立ESP/MSR分区,对齐就使用4096的对齐。建立完成之后就重启了。
在这里插入图片描述

结果重启之后给我来了个蓝屏 “错误代码:0xc000000e” 文件丢失或者包含错误 文件是“winload.efi”
在这里插入图片描述
下面几个提示并没有什么卵用,要么按了之后就只是刷新下,要么就重启了。
这个其实挺误导的,我一度以为真的是winload.efi出现问题了,我尝试下载这个文件然后去修复,但是没用,也想过拿win10的启动盘去修复,但是不知道为什么win10启动U盘引到进去向导之后,在向导里面没办法找到当前的系统。

 
 

另一种方法

这下就比较蛋疼了,我后来才在百度找到一篇文章“如何把系统盘从MBR转换成GPT”
这个文章大意就是使用dsim工具先备份系统镜像,例如:

dism /capture-image /imagefile:"e:\OS\win10.wim" /capturedir:c:\ 

这个就是将c盘的系统备份至e盘OS文件夹下的win10.wim文件,其中c盘是系统盘盘符,两个盘不要在同一个硬盘上,最好使用移动硬盘或者大点的U盘。
然后就是使用命令行去把硬盘转换为gpt格式,假设这里要转换的是磁盘0:
运行diskpart:

list disk
select disk 0
clean
convet gpt
create partition efi size=100
format quick fs=fat32 label="System"
assign letter="S"
create partition msr size=128
create partition primary
format quick fs=ntfs label="Windows"
assign letter="C"

转换gpt,创建msr分区等一气呵成。
转换完成之后,再使用命令恢复镜像

Dism /Apply-Image /ImageFile:“e:\OS\win10.wim” /Index:1 /ApplyDir:c:\

之后就是进入PE,命令提示符里面使用bcdboot 工具创建引导。

\windows /l zh-cn 

看到这里,我非常怀疑我那蓝屏根本不是文件问题而应该是引导问题。于是我又进PE,将SSD上除了C盘、ESP、MSR之外的那些盘都删除了,然后使用UEFI引导修复工具,选择系统盘以及ESP盘进行了启动修复。然后重启电脑。
结果仍然蓝屏。但是我发现系统启动项目中,有多个启动项目,硬盘都是我的SSD。于是我就把全部启动项都试了一遍……结果最后一个成功进入系统。看来是之前的一些引导项目还在,影响了启动。

那么如何删除那些启动项呢?
常规方法是运行“MSConfig”,在“引导”菜单下删除多余的启动项目,然而我打开MSConfig之后启动项目里面只有一项,看来是系统看不到那些硬盘上的其他启动项目。
最后我找到一个工具————“EasyUEFI”,软件界面如图
在这里插入图片描述
这工具挺不错的,功能齐全,免费。用这个工具很方便的可以看到你哪个引导是指向哪个分区,在哪里(其实这软件也可以创建引导等等,只是我用不上而已)。
使用工具我顺利找到了多余的启动项目并且删除了相关项目。
再次重启电脑,正常进入系统。

 
 
 

总结

折腾了2、3个小时,终于搞定了。
大致总结一下,如果再来一次应该是这么个步骤:

  1. 做好备份(数据以及分区表)
  2. 进PE,拿DiskGenius删除当前保留分区,转换磁盘分区表为GUID
  3. 创建ESP和MSR ,ESP要给个盘符
  4. 使用UEFI引导修复工具,选择好系统分区以及ESP分区,修复引导
  5. 重启进入系统,拿EasyUEFI删掉多余的启动项(删错了就重新进PE修复引导吧,哈哈)

基本以上5步搞定,不用格式化什么的,C盘保存完好,没丢数据。基本也不用什么命令行。
 
 
 

结局

然后回到升级的问题上来………………
尝试更新了下,没有再报那个坑爹的错误,可以正常安装升级了。
在这里插入图片描述

呼,总算是搞定了。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值