软盘镜像和硬盘镜像的制作
软盘镜像和硬盘镜像均可以通过命令 bximage 来制作。
注意完成后需要格式化。
软盘镜像
根据镜像的文件类型将文件挂载到 linux 下的文件夹,从而访问文件镜像中的内容。
对于软盘镜像来说,软盘由于容量限制,软盘只能包含一个分区,即只能包含一个文件系统,故直接挂载软盘镜像就可以。
$ sudo mount -t minix rootimage /mnt -o loop
$ cd /mnt
$ ls
-o loop 是指定通过 loop 设备来加载文件系统。
硬盘镜像
硬盘镜像是对整个硬盘的镜像,众所周知,硬盘可以分为多个分区,每个分区上都可以存在一个不同的文件系统。故硬盘镜像的挂载必须按照分区进行。
那么,让我们看看如何来查看硬盘镜像的分区。查看硬盘镜像分区也需要借助 loop 设备来实现:
$ losetup /dev/loop1 hdc.img
$ fdisk /dev/loop1
Command(m for help): x //进入扩展功能菜单
Expert command(m for help): p
Device Boot Start End Sectors Id Type Start-C/H/S End-C/H/S Attrs
/dev/loop1p1 2048 20159 18112 83 Linux 2/33/0 19/63/15
/dev/loop1p2 20160 163295 143136 5 Extended 20/1/0 161/63/15
/dev/loop1p5 * 22208 60479 38272 99 unknown 22/33/0 59/63/15 80
/dev/loop1p6 62528 90719 28192 83 Linux 62/33/0 89/63/15
/dev/loop1p7 93744 133055 39312 83 Linux 93/1/0 131/63/15
/dev/loop1p8 135104 163295 28192 83 Linux 134/33/0 161/63/15
Expert command(m for help): q //退出
从上述分区打印中可以看到各个分区的开始扇区。要查看某个分区内容就使用该分区的开始扇区号。用此开始扇区号乘以512计算出开始字节。然后对目标分区(/dev/loop1p1)进行挂载。
$ sudo losetup -d /dev/loop1 //解除硬盘镜像与设备的关联关系
$ sudo losetup -o 512*2048 /dev/loop1 hdc.img //指定关联开始位置
$ sudo mount -t minix /dev/loop1 /mnt
$ cd /mnt
$ ls
即可查看对应分区的内容。
注意查看完后记得卸载和解除关联
$ umount /dev/loop1
$ losetup -d /dev/loop1