简介
目前Qemu虚拟机和宿主机交互,最方便的方式是进行网络传输,但也有不能使用外网的情况,这时候使用挂载是比较好的方式。
Linux使用
宿主机:Linux
Qemu:Linux
传输方式:挂载
参考:在QEMU虚拟机和宿主机之间传输文件
1、启动时加入命令
qemu-system-x86_64 … -virtfs local,path=/mnt/shared,mount_tag=host0,security_model=passthrough,id=host0
-virtfs:选项指定了共享文件夹的参数
local:表示共享文件夹是本地文件夹
path:指定了共享文件夹的路径
mount_tag:指定了共享文件夹在虚拟机中的挂载点
security_model:指定了安全模型
id:是共享文件夹的标识符
2、Qemu的内部创建一个文件夹并挂载
mkdir -p /mnt/shared
mount -t 9p -o trans=virtio,version=9p2000.L host0 /mnt/shared
-t:指定了文件系统类型
9p:是QEMU支持的文件系统类型
trans:指定了传输协议
version:指定了文件系统版本
host0:是共享文件夹的标识符
/mnt/shared:是共享文件夹在虚拟机中的挂载点
此时,Qemu的/mnt/shared目录将指向宿主机上的/mnt/shared目录,可以在两者之间传输文件。
Windows使用
宿主机:Linux
Qemu:Windows
传输方式:Samba
注:宿主机需要安装samba服务
参考:Qemu官方文档
1、启动时加入命令
-nic user,id=nic0,smb=/share_directory
例如如下语句,将宿主机的/opt目录共享到了Qemu内
qemu-system-x86_64 -name win7-Lite-1 -m 2048M -smp cpus=1,sockets=1 -enable-kvm -machine smm=off -boot order=c -drive file=/data/gns3/data/GNS3/images/QEMU/win7-Lite.qcow2 -vnc 0.0.0.0:2 -nic user,id=nic0,smb=/opt -machine usb=on -device usb-tablet
2、在Windows机器内添加网络映射
(1)首先查看当前的ip
(2)添加网络映射(samba默认使用x.x.x.4的地址
)
(3)成功则会出现一个新的网络磁盘