[分享] 將現有Win10 VM升級到Win11
前天M$正式發佈了Windows 11,雖然可能有些在很早之前的Preview版都知道怎麼操作
不過還是來分享一下怎麼把現有的Win10 VM在不重灌的情況下升級成Win11
目前大多數人都知道要升級成Win11,必須先滿足兩個條件
1. BIOS必須啟動並且OS已經是處在Secure Boot模式
2. 必須具備TPM,並且至少得是2.0版本
基於上述兩個需求,原Win10 VM也必須是在當初以UEFI模式安裝系統的情況下才可升級
當然網路上也可以查到怎麼樣不重灌從Legacy BIOS改成UEFI開機的方法
不過這不在本篇要介紹的範圍
1. 更新KVM相關驅動
VirtIO相關的Windows驅動在之前都是沒有經過WHQL認證的,這在Secure Boot上會有問題
不過最新的穩定版VirtIO驅動(0.1.208+)已經都有了WHQL認證
因此第一步是先更新這些驅動到最新版
2. 替換成支援Secure Boot的OVMF檔案
再來只要把現有的OVMF檔案換成secboot類型的即可
由於Win11的安裝ISO還有升級小幫手並不會偵測系統是否處在Secure Boot狀態
所以我們只要確保OVMF有Secure Boot功能即可,並不一定需要去啟用它
但有一點要留意,有些Linux distro所推送的OVMF_Sec並不會包含M$的簽章
目前知道的是Fedora與Ubuntu官方repo所提供的OVMF_Sec都已經包含簽章
其他的比如ArchLinux是沒有包含的,需要另外從其他distro上找
確定OK後,就可以直接替換檔案,方法是直接編輯VM的XML
把<loader>中的OVMF_CODE.fd改成OVMF_CODE.secboot.fd即可
另外除非你想要重置VM成啟用Secure Boot狀態,否則不需要去動xxx_VARS.fd
(xxx=VM名稱)
如果想啟用Secure Boot,則必須再做額外兩個修改
a. 將原先載入OVMF_CODE.secboot.fd的loader加入secure='yes'參數,變成:
<loader readonly='yes' type='pflash' secure='yes'>/path/of/OVMF_CODE.secboot.fd
</loader>
b. 找到OVMF_VARS.secboot.fd然後覆蓋掉原本的xxx_VARS.fd
3. 增加CPU features參數
之後還需要在XML內的<features>增加一個參數進去
<smm state='on'/>
加入後就像這樣 https://i.imgur.com/nmWHL3P.png
4. 加入TPM
TPM有兩種加入方式,一個是直接用KVM模擬的TPM,另一個是直接passthrough
後者的優點是日後比較不會遇到相容性問題,缺點是只能給一個VM使用
而且必須要先進BIOS清除前一筆TPM資料(如果有的話)
先講模擬TPM,KVM支援兩種模擬方式,分別是CRB及TIS
CRB僅支援TPM 2.0、TIS則支援大多數TPM版本
首先必須先安裝swtpm這個套件才可以使用模擬TPM,Fedora及Arch預設的repo可直接安裝
Ubuntu/Debian則要找第三方來源
裝好後,直接透過virt-manager或者是修改XML的方式加入:
<tpm module='tpm-crb'>
<backend type='emulator' version='2.0'/>
</tpm>
如果在使用CRB的情況下出現以下錯誤,則可以改用TIS試試
"qemu-system-x86_64: Requested buffer size of 3968 is smaller than host TPM's
fixed buffer size of 4096"
若要使用硬體TPM,在從BIOS啟用TPM功能後(AMD fTPM或是Intel PTT)
先看一下是否有在/dev內出現tpm0這個device
之後編輯XML加入TPM:
<tpm module='tpm-tis'>
<backend type='passthrough'>
<device path='/dev/tpm0'/>
</backend>
</tpm>
驅動、Secure Boot、與TPM都搞定後,便可以進到Win10 VM用M$的檢測工具
或者是Win11升級小幫手驗證是否可以升級
這些變動沒辦法改變原先Windows Update的判定狀態,所以沒辦直接用其升級
不過只要升級小幫手判定OK就可以直接做升級了
昨天經過這些修改後升級成功,目前VM內的系統已經是Win11
雖然用處不算大,還是給各位做一個參考
--
https://i.imgur.com/paUBacY.png
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.227.14.175 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1633575353.A.9EB.html
推
10/07 12:00,
3年前
, 1F
10/07 12:00, 1F
→
10/07 13:32,
3年前
, 2F
10/07 13:32, 2F
→
10/07 13:41,
3年前
, 3F
10/07 13:41, 3F
推
10/07 21:23,
3年前
, 4F
10/07 21:23, 4F
推
10/08 00:28,
3年前
, 5F
10/08 00:28, 5F
→
10/08 00:29,
3年前
, 6F
10/08 00:29, 6F
→
10/08 11:07,
3年前
, 7F
10/08 11:07, 7F
→
10/08 11:07,
3年前
, 8F
10/08 11:07, 8F
Linux 近期熱門文章
23
129
PTT數位生活區 即時熱門文章