前幾章中的操作過程中,我們已經可以順利的將 Windows 10 在虛擬客體機當中安裝起來運作,但是這個過程中僅是提供穩定的基本使用能力,實際上我們還有許多可以調整改善的項目。
這些改善的項目當中,最重要的肯定是磁碟與網路這兩大區塊。先前我們在安裝過程中,磁碟是 IDE
網路則是 Intel E1000
,這兩種都是僅提供相容而效能有限的模式。
為了解決這些問題,Proxmox VE 中的虛擬機 KVM 套件開發者們提供了一系列的驅動程式與軟體工具,分別對應了不同的 Windows 作業系統版本,我們需要先行下載完成後再做安裝。來到 VirtIO 的下載頁面,取得最新的 Stable 版本 ISO 映像檔案連結,再到 Proxmox VE 的 從網址下載
功能取得 ISO 檔案。
下載最新的 VirtIO 穩定版本
要啟用 Windows 的 Qemu Agent 功能,請先切換至客體機的 選項
頁籤,到 QEMU Guest Agent
上連點兩下,或是按上方的 編輯
按鈕進行修改。
準備啟用 Qemu Agent 選項
請勾選 使用 QEMU Guest Agent
這個核取方塊,再按下 完成
存入變更。
啟用 Qemu Agent
咦?為什麼按下確定之後,選項後的值仍然是 預設 (停用)
,而且下方多出一行褐色的 啟用
字樣?
Qemu Agent 仍然未啟用
這個原因是在於某些設定的變更,必須經過 關機
後再 啟動
才能生效 (又或者稱為 冷開機
),而這部虛擬機他仍然是在運作中所以會產生這個狀況。當我們正確的關機再啟動之後,這個設定已經正確的套用進去:
Qemu Agent 選項已經啟用
技巧:
若該虛擬機有正確安裝且可以連線的 Qemu Agent 或者支援 ACPI 協定,我們除了正常的先
關機
再啟動
的兩段式操作之外,我們也可以利用 Proxmox VE 介面上提供的重新啟動
功能,它會自動先送出關機指令,確認關機後自動啟動,協助我們簡化這些操作。
下一步,我們要進到 Windows 客體機裡面安裝 Qemu Agent 程式,它才能正確的與節點管理平台順利溝通。
選擇虛擬客體機後,切換至 硬體
頁籤,在 CD/DVD 裝置
上點兩下開啟設定視窗。
準備掛接 VirtIO 安裝映像檔
點選 使用 CD/DVD 光碟映像檔案 (ISO)
,並在 ISO 映像
下拉清單選擇稍早前下載好的 virtio-win-0.1.208.iso
映像檔,再按下 完成
。
選擇掛接 VirtIO 安裝映像檔
回到清單後已經在 CD/DVD 裝置處看到掛接成功,它會顯示檔案名稱以及容量。
確認掛接 VirtIO 安裝映像檔成功
接著,我們開啟主控台進入 Windows 10 客體機,進入裝置管理員。
技巧:
若要快速開啟,可以直接按下
Win + R
,再輸入devmgmt.msc
。
進入裝置管理員
展開 其他裝置
,在 PCI 簡單通訊裝置
上連點兩下,彈出內容視窗後按下 更新驅動程式
按鈕,下一步再選擇 瀏覽電腦上的驅動程式
,以準備從光碟機安裝來自 VirtIO 映像檔裡的驅動程式。
選擇驅動程式位置
在瀏覽資料夾的視窗中,請將目錄展開至 D:\vioserial\w10\amd64
,再按下確定
。
若您的作業系統為其它版本,請依據所選用的作業系統選擇不同的路徑,列舉如下:
D:\vioserial\2k19\amd64
D:\vioserial\2k16\amd64
D:\vioserial\2k12R2\amd64
D:\vioserial\2k12\amd64
D:\vioserial\2k8R2\amd64
D:\vioserial\2k8\amd64
D:\vioserial\2k3\amd64
D:\vioserial\w8.1\amd64
D:\vioserial\w8\amd64
D:\vioserial\w7\amd64
D:\vioserial\xp\amd64
提醒:
若您客體機裡安裝的作業系統是 32 位元,最後一層資料夾則要選擇 x86 而非 amd64。
VirtIO Serial 驅動程式安裝完成
開啟檔案總管來到光碟機的位置,切換到 D:\guest-agent
資料夾,點選 qemu-ga-x86_64
兩下進行安裝,它在安裝完成後會自動結束安裝程式。
安裝 Qemu Agent 程式
安裝完成後,請到 服務
裡面確認 QEMU Guest Agent
服務是否正在 執行中
,若無請手動啟動。
技巧:
若要快速開啟,可以直接按下
Win + R
,再輸入services.msc
。
確認 Qemu Agent 服務啟經啟動
確認服務正在運作之後,可以來到 Proxmox VE 管理介面查看該客體機的概觀頁面,下方的 IPs
後如果有顯示 IP 位址,即表示成功了。
確認客體機與節點管理平台溝通成功
在上圖可以發現,在右方的 備註
欄位裡面多了不少內容,這個是什麼東西呢?這是一個相當實用的功能,我們可以將一些與該客體機有關的注意事項或筆記填寫在此,以方便隨時提醒以及取用。
要編輯備註裡的文字,請直接點選該區塊兩下,或是點選該區塊右上方的 齒輪
圖示。
編輯備註內容
這個備註功能更棒的地方是它支援 Markdown
語法!這讓我們可以很方便的呈現出我們想要的重點提示與清單、或是標題與超連結等等。
編輯備註內容完成
Windows 10 安裝完成以後,查看資源使用狀況的時候會發現一個問題...在客體機內看的記憶體使用量與 Proxmox VE 管理平台上看的差距很大。
管理平台查看記憶體使用量
客體機查看記憶體使用量
在客體機 Windows 10 的工作管理員中,顯示可用記憶體為 5GB;而在 Proxmox VE 管理平台中看到的可用記憶體是約 1GB (8.00GB-6.99GB),差異甚大,這是怎麼回事呢?
在 Windows 10 裡還需要安裝 VirtIO Balloon 的驅動程式,才能讓記憶體管理與 Proxmox VE 管理平台正確的連動。
VirtIO Balloon 是一種虛擬機記憶體管理的技術,它除了可以讓管理平台取得正確的記憶體使用狀況外,還可以讓虛擬機尚未使用到的空間「借」其它需要記憶體的虛擬機使用,從而讓整個節點的記憶體使用更加靈活。
進入 裝置管理員
,展開 其他裝置
,在 PCI 裝置
上連點兩下,在裝置內容視窗點選 更新驅動程式
,再按下 瀏覽電腦上的驅動程式
。
準備安裝 VirtIO Balloon 驅動程式
按下 瀏覽
進入檔案選擇視窗,並點選至資料夾 D:\Balloon\w10\amd64
,再按下 確定
。
安裝 VirtIO Balloon 驅動程式
若您的作業系統為其它版本,請依據所選用的作業系統選擇不同的路徑,列舉如下:
D:\Balloon\2k19\amd64
D:\Balloon\2k16\amd64
D:\Balloon\2k12R2\amd64
D:\Balloon\2k12\amd64
D:\Balloon\2k8R2\amd64
D:\Balloon\2k8\amd64
D:\Balloon\2k3\amd64
D:\Balloon\w8.1\amd64
D:\Balloon\w8\amd64
D:\Balloon\w7\amd64
D:\Balloon\xp\amd64
提醒:
若您客體機裡安裝的作業系統是 32 位元,最後一層資料夾則要選擇 x86 而非 amd64。
VirtIO Balloon 驅動程式安裝完成
請用檔案總管開啟 D:\Balloon\w10\amd64
資料夾,將它複製為 C:\Balloon
資料夾。
複製 VirtIO Balloon 服務程式
請按下開始功能表後輸入 cmd
,在上方比對結果的 命令提示字元
按下滑鼠右鍵,再點選彈出功能表的 以系統管理員身分執行
。
以系統管理員開啟命令提示字元
輸入 C:\Balloon\blnsvr.exe -i
,將服務註冊起來運作,最後一行顯示 Service RUNNING.
表示成功。
註冊 VirtIO Balloon 服務程式成功
當這些程序完成以後,當我們回頭比對 Windows 工作管理員及 Proxmox VE 管理平台看到的記憶體資訊就會一致。
管理平台查看記憶體使用量
客體機查看記憶體使用量
WindowsGuestDrivers/Download Drivers - KVM
https://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers
Index of /groups/virt/virtio-win/direct-downloads/stable-virtio/
https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/
Windows VirtIO Drivers - Proxmox VE
https://pve.proxmox.com/wiki/Windows_VirtIO_Drivers
Qemu-guest-agent - Proxmox VE
https://pve.proxmox.com/wiki/Qemu-guest-agent
請教Jason大大:
我直接在Windows內安裝Virtio-win-guest-tools,是否就已經包含上述的Agent及驅動?
若為否?Virtio-win-guest-tools的用途為和?