![libvirt - 只能從 IDE 裝置啟動?](https://rvso.com/image/1575983/libvirt%20-%20%E5%8F%AA%E8%83%BD%E5%BE%9E%20IDE%20%E8%A3%9D%E7%BD%AE%E5%95%9F%E5%8B%95%EF%BC%9F.png)
我運行 Ubuntu 18.04 作為主機,Windows 10 作為來賓,使用 QEMU/KVM 作為我的虛擬機器管理程序,使用 libvirt 作為我的管理工具。
我有一個 nvme ssd /dev/nvmewin,我想將其傳遞給 Windows 來賓(來賓將從該裝置啟動)
我還使用 OVMF 在 UEFI 模式下啟動。
目前,它僅在設備作為 IDE 設備公開時才有效。如果裝置位於 SCSI、SATA 或 Virtio 下,用戶端將無法啟動(藍屏,錯誤代碼為 INACCESSIBLE_BOOT_DEVICE)
我使用不同總線的動機是我認為它會產生更好的 I/O 性能。
所以我的問題是:
- 使用不同的匯流排真的會產生更好的 I/O 效能嗎?
- 如果是這樣,我如何將設備暴露在不同的總線下並啟動?
這是我關於設備的網域配置部分:
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none' io='native'/>
<source dev='/dev/nvmewin'/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
答案1
使用不同的匯流排真的會產生更好的 I/O 效能嗎?
是的。我使用cache=none io=native
虛擬機器管理程式預設屬性的 virtio 總線接近本機速度,cache
並且io
在使用水晶磁碟標記進行基準測試時,設定似乎更快,但實際上快取已啟用,因此必須對測試結果持保留態度。
如果是這樣,我如何將設備暴露在不同的總線下並啟動?
只需要安裝virtio總線驅動程式即可。 Windows 核心沒有它們,因此如果未安裝驅動程序,Windows 將無法在啟動時找到磁碟。
更多資訊可以找到這裡