Shared Folder in QEMU/KVM between Linux Host and Windows Guest.
如果想要與QEMU/KVM虛擬機共享資料夾,可考慮用SSHFS掛載Linux Host的目錄給虛擬機存取,方便傳輸檔案。
SSHFS是透過網路掛載的檔案系統,適用於各大作業系統,安全性也比較高。
本文以Linux Host OS + Windows 11 Guest OS為例子。
請先在Linux安裝 Windows 11虛擬機,網路使用預設的NAT模式。
1. 設定虛擬機靜態IP#
Virt Manager界面無法直接改,需要用到Libvirt的virsh指令。
將虛擬機關機
查詢虛擬機的mac地址
sudo virsh list --all
sudo virsh dumpxml "Windows11" | grep 'mac address'
- 編輯預設網路,這裡是NAT網卡
sudo virsh net-list
sudo virsh net-edit default
- 找到
<dnsmasq>
這段,在<range>
下方填寫虛擬機的mac地址、虛擬機名稱,與想要賦予的靜態IP
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'/>
<host mac='虛擬機的mac地址' name='Windows11' ip='192.168.122.234'/>
</dhcp>
- 重新啟動網路
sudo virsh net-destroy default
sudo virsh net-start default
2. 設定SSHFS服務#
- 於Linux Host安裝SSH服務
sudo pacman -S openssh
sudo systemctl enable --now sshd
- 安裝SSHFS套件
sudo pacman -S sshfs
接著開機進入Windows虛擬機,安裝圖形化程式 SSHFS-Win Manager。該程式為指令版SSHFS-Win的前端封裝。
點選Add Connection
首先在
IP
填入Linux OS的區域IP(區域IP可以用ip addr
指令查看)。User
填寫Linux Host的使用者名稱,Password
填寫密碼,Remote PATH
則是要掛載的目錄,例如Linux Host的Downloads
按下電源插頭的圖示,它就會將Linux的目錄掛載為本機硬碟
參考資料#
KVM/libvirt: How to configure static guest IP addresses on the virtualisation host