linux直接挂载虚拟机磁盘镜像文件

简介: 一、通过mount加上偏移 首先需要确认下镜像分区开始的偏移: [cce lang=”bash”] fdisk -l vm-xp-qa-new.img [/cce] 这个文件的输出为: Disk vm-xp-qa-new.img: 21.5 GB, 21474836480 bytes

一、通过mount加上偏移
首先需要确认下镜像分区开始的偏移:
[cce lang=”bash”]
fdisk -l vm-xp-qa-new.img
[/cce]
这个文件的输出为:

Disk vm-xp-qa-new.img: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = 扇区 of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4dcc4dcc
设备 Boot Start End Blocks Id System
vm-xp-qa-new.img1 * 63 41913584 20956761 7 HPFS/NTFS/exFAT

从这里可以看见,这个windows分区,是从第63个块开始的,每个块的大小是512字节,最后得出的挂载偏移为32256字节。
因此,最终挂载的命令就是:
[cce lang=”bash”]
mount -o loop,offset=32256 -t ntfs vm-xp-qa-new.img /mnt/
[/cce]
这里指定了挂载分区的格式为ntfs,挂载偏移为32256字节。
然后就可以在/mnt目录中看见这个虚拟机磁盘镜像,直接修改里面的文件了。

二、通过映射成loop设备
首先获取最近一个可用的loop设备:
[cce lang=”bash”]
losetup -f –show vm-linux-qa-master.img
[/cce]
这里会输出一个loop设备,如果之前没有映射过,应该是/dev/loop0
然后生成对应的块设备:
[cce lang=”bash”]
kpartx -a /dev/loop0
[/cce]
执行之后,会在/dev/mapper/中多出一个loop0p1文件,也就是刚那个磁盘镜像的分区块文件了(对应硬盘的sda和sda1这样的关系)。
然后就可以直接将/dev/mapper/loop0p1文件mount到指定位置,就可以读写里面的文件了。
清理的时候,除了umount /dev/mapper/loop0p1这个文件的挂载点之外,还要清除loop0的使用:
[cce lang=”bash”]
kpartx -d /dev/loop0
losetup -d /dev/loop0
[/cce]

ps:在gentoo中,losetup应该已经在的,在sys-apps/util-linux这个包中;kpartx由sys-fs/multipath-tools这个包提供,直接emerge即可


转载自:https://coolex.info/blog/385.html

会影
+关注
目录
打赏
0
0
0
0
9
分享
相关文章
虚拟机数据恢复—XenServer虚拟机磁盘文件丢失的数据恢复案例
虚拟机数据恢复环境: 某品牌服务器通过同品牌某型号的RAID卡,将4块STAT硬盘为一组RAID10阵列。上层部署XenServer虚拟化平台,虚拟机安装Windows Server系统,每台虚拟机有两个虚拟机磁盘(系统盘 + 数据盘),虚拟机作为Web服务器使用。 虚拟机故障&分析: 机房异常断电导致服务器中一台VPS(XenServer虚拟机)不可用,虚拟磁盘文件丢失。
vsan数据恢复—vsan缓存盘故障导致虚拟机磁盘文件丢失的数据恢复案例
VMware vsan架构采用2+1模式。每台设备只有一个磁盘组(7+1),缓存盘的大小为240GB,容量盘的大小为1.2TB。 由于其中一台主机(0号组设备)的缓存盘出现故障,导致VMware虚拟化环境中搭建的2台虚拟机的磁盘文件(vmdk)丢失。
虚拟化数据恢复——Hyper-V虚拟化故障导致虚拟机文件丢失的数据恢复案例
在Windows Server上部署的Hyper-V虚拟化环境中,因存储中虚拟机数据文件丢失导致服务瘫痪。北亚企安数据恢复工程师通过物理检测、操作系统及文件系统检测,确定为人为格式化造成,并通过镜像硬盘、重组RAID、分析并恢复文件索引项等步骤,成功恢复数据,最终在新Hyper-V环境中验证并迁移所有虚拟机,确保用户业务恢复正常运行。
|
7月前
|
linux开机挂载镜像
【10月更文挑战第1天】在 Linux 系统中,开机挂载镜像通常涉及几个关键步骤,包括创建挂载点、编辑配置文件以及重新加载配置
247 0
解决虚拟机文件因快照占用硬盘空间较多的情况(压缩虚拟机文件,节省硬盘空间)
解决虚拟机文件因快照占用硬盘空间较多的情况(压缩虚拟机文件,节省硬盘空间)
380 1
|
8月前
|
kvm虚拟机磁盘管理
文章详细介绍了KVM虚拟机磁盘管理,包括磁盘格式概述、创建虚拟机时如何指定磁盘格式、以及磁盘工具的常用命令,旨在帮助用户更好地理解和操作KVM虚拟机的磁盘管理。
223 1
kvm虚拟机磁盘管理
虚拟化数据恢复—VMware虚拟机vmdk文件被误删除的数据恢复案例
虚拟化数据恢复环境: 某品牌服务器(部署VMware EXSI虚拟机)+同品牌存储(存放虚拟机文件)。 虚拟化故障: 意外断电导致服务器上某台虚拟机无法正常启动。查看虚拟机配置文件发现这台故障虚拟机除了磁盘文件以外其他配置文件全部丢失,xxx-flat.vmdk磁盘文件和xxx-000001-delta.vmdk快照文件还在。管理员联系VMware工程师寻求帮助。VMware工程师尝试新建一个虚拟机来解决故障,但发现ESXi存储空间不足。于是将故障虚拟机下的xxx-flat.vmdk磁盘文件删除,然后重建一个虚拟机并且分配固定大小的虚拟磁盘。
解决删除快照后启动虚拟机显示指定的文件不是虚拟磁盘 打不开磁盘“路径”或它所依赖的某个快照磁盘。 模块“disk”启动失败。 未能启动虚拟
解决删除快照后启动虚拟机显示指定的文件不是虚拟磁盘 打不开磁盘“路径”或它所依赖的某个快照磁盘。 模块“disk”启动失败。 未能启动虚拟
530 0
|
9月前
|
内核实验(四):Qemu调试Linux内核,实现NFS挂载
本文介绍了在Qemu虚拟机中配置NFS挂载的过程,包括服务端的NFS服务器安装、配置和启动,客户端的DHCP脚本添加和开机脚本修改,以及在Qemu中挂载NFS、测试连通性和解决挂载失败的方法。
514 0
内核实验(四):Qemu调试Linux内核,实现NFS挂载
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等