在Linux系统中,映像文件(Image File)是指存储了完整数据结构的二进制文件,通常是对存储设备(如磁盘、光盘、USB等)或文件系统的逐扇区/逐块复制。映像文件保留了原始数据的完整布局和元信息,常用于备份、分发或虚拟化场景。
磁盘映像
.img
、.iso
、.dmg
)。disk.img
:原始磁盘映像(可用dd
命令创建)。ubuntu-22.04.iso
:光盘ISO映像(标准ISO 9660格式)。文件系统映像
ext4
映像),不含分区表或引导扇区。bash
mkfs.ext4 -q myfs.img 1G # 创建一个1GB的ext4文件系统映像
虚拟化映像
.qcow2
、.vmdk
)。vm.qcow2
:QEMU的动态分配空间映像。内存映像
/proc/kcore
或调试用的内存快照)。创建映像
dd
克隆磁盘或分区:bash
dd if=/dev/sda of=backup.img bs=4M # 备份整个磁盘
bash
genisoimage -o output.iso /path/to/files # 从目录创建ISO
挂载映像
bash
mount -o loop ubuntu.iso /mnt/iso
bash
mount -o loop,offset=$((512*2048)) disk.img /mnt # 假设分区从2048扇区开始
转换格式
qemu-img
转换虚拟磁盘格式:bash
qemu-img convert -f qcow2 -O raw vm.qcow2 vm.img
验证与修改
bash
isoinfo -l -i ubuntu.iso
bash
kpartx -av disk.img # 映射分区后,通过/dev/mapper访问
.img
文件以便恢复。qcow2
映像作为虚拟机磁盘。sd_card.img
烧录到设备。root
权限。dd
生成)会占用与源设备相同的空间,考虑压缩或使用稀疏文件。通过理解映像文件的类型和操作,可以高效管理Linux中的存储、备份和虚拟化需求。