記一次windows 10 無法升級問題的處理(系統盤MBR轉GPT)

問題出現

當前點系統是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盤保存完好,沒丟數據。基本也不用什麼命令行。
 
 
 

結局

然後回到升級的問題上來………………
嘗試更新了下,沒有再報那個坑爹的錯誤,可以正常安裝升級了。
在這裏插入圖片描述

呼,總算是搞定了。

發佈了11 篇原創文章 · 獲贊 1 · 訪問量 4437
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章