快轉到主要內容

Libvirt QEMU虛擬機直接從實體硬碟分割開機

Linux系統 虛擬機與容器技術 Libvirt QEMU
🗓️ 民國111年 壬寅年
✍ 切換正體/簡體字
目錄

Linux QEMU: Boot Windows 10 VM from physical hard drive.

我想要製作既可以從Linux QEMU虛擬機開機,又能從實體機開機的Windows。

把Windows的虛擬硬碟釋放到實體硬碟後,現在硬碟是這樣:

- SSD: openSUSE Tumbleweed Linux
- HDD: Windows 10

如果在Linux系統下想臨時使用Windows的話該怎麼辦?我可以把裝有Windows的HDD當虛擬機的硬碟拿來開機嗎?

可以,Virt Manager支援直接掛載實體機硬碟,並作為開機裝置。

因為我沒有安裝太多虛擬機專屬的驅動,不論是從虛擬機還是實體機開機,Windows都會自己調整,不至於混亂。

1. 尋找Windows掛載點
#

  1. lsblk檢查掛載點,發現/dev/sdb就是Windows 10的HDD。
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sdb      8:16   0 465.8G  0 disk
├─sdb1   8:17   0   100M  0 part
├─sdb2   8:18   0    16M  0 part
└─sdb3   8:19   0 465.6G  0 part /run/media/ivon/7A78849B78845831
  1. 取消掛載
umount /run/media/ivon/7A78849B78845831

2. QEMU掛載實體硬碟開機
#

  1. 新建或者利用現有的 Windows 10開機組態,設定使用Q35 + UEFI。

  2. 開啟Virt Manager,編輯→偏好設定,啟用XML編輯。

  3. 編輯虛擬機,點選左下角的「新增硬體」。

  4. 點選 新增「儲存」。雖然說應該能直接加入實體硬碟,但會出現'/dev/sdb' does not match the expected format 'dos'的錯誤。因此點選旁邊的「編輯XML」,直接加入以下內容後確認:

<disk type="block" device="disk">
  <driver name="qemu" type="raw"/>
  <source dev="/dev/sdb"/>
  <target dev="sda" bus="sata"/>
  <address type="drive" controller="0" bus="0" target="0" unit="0"/>
</disk>
  1. 點選確定,虛擬機的裝置列表會多出實體硬碟。

  2. 給虛擬機開機,等待緩慢的HDD開機完成。

3. 參考資料
#

相關文章

如何將Libvirt的QEMU虛擬機轉換複製到實體機器上
Linux系統 虛擬機與容器技術 Libvirt QEMU
如何在ARM架構的裝置執行x86架構的Docker Image
Linux系統 虛擬機與容器技術 Docker QEMU User Mode
如何自架Whoogle搜尋引擎,防範隱私被Google搜尋窺探
Linux系統 Self-hosting自架 Search Engine Google Search

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur連結。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。