適用於 Windows 10 VM 的 Virsh 控制台 (QEMU-KVM)

適用於 Windows 10 VM 的 Virsh 控制台 (QEMU-KVM)

我正在嘗試透過使用從我的 Linux 主機存取 Windows 10 虛擬機器virsh console

但當我這樣做時,我得到了許多其他人都經歷過的空控制台。

virsh console win10
Connected to domain 'win10'
Escape character is ^] (Ctrl + ])

而且我根本不會打字。不管怎樣,我可以在虛擬機器中進行配置來允許這種情況,特別是對於Windows嗎?謝謝

答案1

virsh console是一個 TTY 控制台,它是串口在虛擬機器中(又稱「COM 連接埠」)。您的 Windows 10 是否會向此 COM 連接埠輸出任何內容?

Windows 需要 VGA 硬體輸出,因此為 VM 配置 VNC 並連接 VNC Viewer 以與 VM 互動。為了實現這一點,您需要在libvirtxml 域配置中進行如下配置:

    <input type='tablet' bus='usb'/>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='5901' autoport='no'/>
    <video>
      <model type='cirrus' vram='5120' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>

(您可能需要使用另一個 PCI 插槽位址和 TCP 連接埠來透過 VNC 連接到該電腦)。

然後重新啟動(停止然後開始) 一個虛擬機,並確認 qemu 正在偵聽所選連接埠:

vh1 ~ # netstat -lnpt | grep 590
tcp        0      0 127.0.0.1:5900          0.0.0.0:*               LISTEN      1774/qemu-system-x8 
tcp        0      0 127.0.0.1:5901          0.0.0.0:*               LISTEN      13692/qemu-system-x 
tcp        0      0 127.0.0.1:5902          0.0.0.0:*               LISTEN      2526/qemu-system-x8 
tcp        0      0 127.0.0.1:5903          0.0.0.0:*               LISTEN      3755/qemu-system-x8 

注意,在我的例子中它監聽本機,為了安全。

若要透過 SSH 隧道連線到此,請使用 TCP 連接埠轉送。它內建於標準 Linux VNC 用戶端套件中:

vncviewer -via virtualization.host.name localhost:1

(若要連接到 5901 的 VNC,請使用 VNC 螢幕 1)。它將根據我們的需要透過 SSH 連接到伺服器virtualization.host.name並將一些本地連接埠轉發到伺服器;localhost:5901然後將 VNC 用戶端連接到此轉送的連接埠。因此您的 VNC 將透過 SSH 得到保護。

或者,您可以監聽任何 IP 位址(安全性較低)。或者您可以透過其他方式設定此 TCP 隧道。但我這裡介紹的這種方式比較方便。或者,我忘了這一點,用於virt-viewer連接到螢幕,已經很久沒有使用它了。

另外,Windows Server 支援(至少在不久前支援過)特殊管理控制台 (SAC)運行在COM連接埠上,可用於執行一些操作(任務終止等)。可以透過 存取此控制台virsh console。但我懷疑 Windows 10 有這個功能。

答案2

virsh console開啟VM的序列控制台,如果有的話。如果沒有,就像 Windows 的一般情況一樣,那麼什麼事也不會發生。

您應該使用virt-viewer圖形控制台來查看虛擬機,或者更好的是,使用集成良好的virt-manager.

相關內容