Qemu和宿主机不使用外网进行文件传输

简介

目前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)成功则会出现一个新的网络磁盘

相关推荐
千航@abc1 天前
虚拟机添加多块网卡,重启时,ip绑定错误如何解决
linux·服务器·网络·虚拟化·kvm
千航@abc2 天前
kvm虚拟机的基本使用
linux·运维·centos·虚拟化·kvm·virsh
itachi-uchiha3 天前
Huawei 鲲鹏(ARM/Aarch64)服务器安装KVM虚拟机(非桌面视图)
kvm·命令行·无桌面
迷茫运维路20 天前
麒麟V10-SP2-x86_64架构系统下通过KVM创建虚拟机及配置虚机的NAT、Bridge两种网络模式全过程
运维·虚拟机·kvm
黑马金牌编程1 个月前
CentOS 7操作系统部署KVM软件和创建虚拟机
linux·运维·centos·虚拟化·kvm
Hi202402172 个月前
KVM创建ubuntu20.04虚机,部署K8S,再克隆出二份,做为Worker节点加入集群,通过Helm创建2个Pod,让它们之间通过域名互访
云原生·容器·kubernetes·helm·kvm
码上飞扬3 个月前
深入探讨服务器虚拟化:架构、技术与应用
服务器·docker·k8s·虚拟化·kvm·xen
Hi202402173 个月前
ubuntu22.04上安装win10虚拟机,并采用noVNC+frp,让远程通过web访问桌面
运维·kvm·云桌面
团儿.5 个月前
KVM磁盘配置:构建高效虚拟环境的基石
linux·运维·centos·kvm·kvm磁盘
小哈里5 个月前
【虚拟化】内核级虚拟化技术KVM介绍,全/半虚拟化的区别,使用libvirt搭建虚拟化平台(go/java/c++)
java·c++·golang·虚拟化·kvm