是否可以在不运行 QEMU 的情况下将文件复制到 QEMU 映像?
Posted
技术标签:
【中文标题】是否可以在不运行 QEMU 的情况下将文件复制到 QEMU 映像?【英文标题】:Is it possible to copy files to QEMU image without running QEMU? 【发布时间】:2022-01-17 21:43:03 【问题描述】:我正在使用 QEMU 运行 CI。在我开始运行测试之前,我通过运行将文件复制到 QEMU 中,等待它完成启动,将文件从 HOST 复制到 QEMU 映像中,然后关闭会话(文件在映像中)。之后,我开始运行我的测试...... 是否可以在不运行 QEMU 的情况下将文件复制到 QEMU 映像并等待它启动?
【问题讨论】:
是的,您可以挂载映像并将文件复制到挂载的文件系统中。如何 - 取决于您的图像具有什么格式以及您使用的主机操作系统。 我在目标上使用 Ubuntu 20.04,在主机上使用 Ubuntu 18。 【参考方案1】:在此链接中找到答案 https://gist.github.com/shamil/62935d9b456a6f9877b5
第 1 步 - 在主机上启用 NBD
modprobe nbd max_part=8
第 2 步 - 将 QCOW2 连接为网络块设备
qemu-nbd --connect=/dev/nbd0 /var/lib/vz/images/100/vm-100-disk-1.qcow2
第 3 步 - 查找虚拟机分区
fdisk /dev/nbd0 -l
第 4 步 - 从 VM 挂载分区
mount /dev/nbd0p1 /mnt/somepoint/
第 5 步 - 完成后,卸载并断开连接
umount /mnt/somepoint/
qemu-nbd --disconnect /dev/nbd0
rmmod nbd
【讨论】:
以上是关于是否可以在不运行 QEMU 的情况下将文件复制到 QEMU 映像?的主要内容,如果未能解决你的问题,请参考以下文章
如何在不删除源文件的情况下将数据从 HDFS 加载到配置单元?
是否可以在不运行我自己的服务器的情况下将 opengraph 发布到用户的墙/feed/ticker 上?
是否可以在不使用 LoadLibrary 的情况下将函数“复制”到另一个进程中并在线程中执行它?
是否可以在不使用 jsp:include 的情况下将 jspf 文件添加到 jsp 页面?