Loading

挂载镜像

最近在折腾树莓派。从官方网站下载下来的2015-05-05-raspbian-wheezy.zip中的2015-05-05-raspbian-wheezy.img,把它用dd命令写入SD卡后,SD卡就有两个分区,一个是/boot,一个是/。所以可以得知,这个img文件其实就是一个磁盘镜像文件。

现在我有一个需求,就是不写入SD卡,就查看这个磁盘镜像文件中到底有哪些文件。大致想到的办法就是mount挂载。但是到底怎么挂载呢?

其实,挂载一个img磁盘镜像是分为两步的:

1、使用fdisk命令得知这个img磁盘镜像中各个分区的起始位置,也就是偏移量;

2、使用mount把磁盘镜像以回环设备的形式挂载到文件系统的某个目录上,需要指定分区的偏移量。

假设2015-05-05-raspbian-wheezy.img已经存在于/home/zjs目录下。

可以查看这个回环设备的分区信息:

cd ~
sudo fdisk -lu 2015-05-05-raspbian-wheezy.img

运行结果如下:

可以得知第一个分区的起始位置是在整个磁盘的第8192扇区(从0计数),而每一个扇区大小是512字节,所以,第一个分区的偏移量是8192*512=4194304。

其实,如果你预先已经知道了各个分区的偏移量,那么之前的这些操作都可以跳过,直接进行下面的操作。上面的这些操作,就是为了获知分区的偏移量的。

为了挂载第一个分区,使用如下命令:

mkdir myloop1
sudo mount -o loop,offset=4194304 2015-05-05-raspbian-wheezy.img myloop1

执行之后,img文件中的第一个分区就已经挂载在了myloop1目录上了。挂载第二个分区也是类似的。

posted @ 2021-01-11 16:35  王树燚  阅读(604)  评论(0编辑  收藏  举报