| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> QEMU--在主机上挂载镜像 -> 正文阅读 |
|
[系统运维]QEMU--在主机上挂载镜像 |
有时,能够在主机挂载映像会很有帮助。 例如,如果guest没有网络支持,则将文件传入和传出guest的唯一方法是通过它可以寻址的存储设备。还比如,如果/etc/default/grub文件的GRUB_TIMEOUT设为0,则不会进入到grub界面直接选择默认系统,要是默认系统损坏了不就没法进入系统了,那么可以挂载镜像然后直接修改 /etc/default/grub文件,设置GRUB_TIMEOUT为一定时长,从而允许选择其他系统。 raw格式镜像Linux 和其他Unix-like主机可以使用回环设备挂载raw格式的映像。 从 root 登录(或使用 sudo),挂载带偏移量(offset)的回环设备。 mount -o loop,offset=32256 /path/to/image.img /mnt/mountpoint 注意:映像必须是raw格式的! 要确定正确的偏移量offset,您可以运行 fdisk -l /path/to/image.img 您需要的偏移量是分区的开始乘以扇区大小。 例如,如果 start 为 128,扇区大小为 512,则偏移量为 65536。 例如,要将一些文件复制到 FreeDOS 硬盘映像: mkdir -p /mnt/freedos mount -o loop,offset=32256 freedos-c.img /mnt/freedos cp oldgames /mnt/freedos umount /mnt/freedos 注意:不要在 QEMU 使用 QEMU 映像时挂载它(除非使用 -snapshot),否则您可能会损坏映像上的文件系统。 详见下面这篇文章 挂载虚拟机映像文件img_play maker的博客-CSDN博客 qcow2格式镜像对于其他格式的 qemu 镜像,可以使用 qemu-nbd #加载nbd模块 modprobe nbd max_part=16 #注意如果不添加max_part=16参数,在挂载镜像分区时可能会无法看到磁盘里面的实际分区,例如/dev/nbd0p1 #连接qemu镜像到nbd设备 qemu-nbd -c /dev/nbd0 image.qcow2 ?注记:猜测这个操作对nbd设备进行了分区操作,创建新分区nbd0p1,但是该分区操作没有跟内核通信,因此需要partprobe命令来更新。 partprobe /dev/nbd0 ?将磁盘分区表变化信息通知内核,请求操作系统重新加载分区表。 #挂载nbd mount /dev/nbd0p1?/mnt/image 成功挂载如下!进入到虚拟机的文件系统里了。 ?使用 fdisk 您可以获得有关 nbd0 中不同分区的信息。 ? LVM 类型的分区不能使用“mount”命令挂载。 在这种情况下,映像如下挂载: $ vgscan ??Reading all physical volumes. This may take a while... ??Found volume group "ub1110server-qemu" using metadata type lvm2 $ vgchange -ay ???2 logical volume(s) in volume group "ub1110server-qemu" now active $ mount /dev/ub1110server-qemu/<LogicalVolumeName> /mnt/image 将 <LogicalVolumeName> 替换为卷组中存在的逻辑卷的名称。 最后,在使用后卸载映像并反转其他步骤(取决于映像的安装方式)很重要: $ umount /mnt/image $ qemu-nbd -d /dev/nbd0 $ vgchange -an VolGroupName $ killall qemu-nbd “nbd”代表“Network Block Device”。 这里我们在本地使用它们,但也可以导出映像供其他主机使用/挂载。 有关详细信息,请参阅 qemu-nbd(8)、nbd-client(8)。 对raw图像也可以这样做,但它的效率远低于上述使用回环设备的方法。 对vmdk 和raw映像的另一种替代方法是使用 vdfuse,它允许访问 VirtualBox 支持的任何映像。 virtualbox.org ? View topic - HOWTO: Mount any VBox-compatible disk image on the host |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 15:31:44- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |