ARM_Linux下基于 dump 和 restore 的文件系统制作

很多时候我们在使用Linux时需要拷贝当前的文件系统,或者是将当前文件系统放到别的机子上运行,下面介绍在ARM_Linux中基于 dump 和 restore 的文件系统的制作。

首先查看当前磁盘的使用情况

df -h

ARM_Linux下基于 dump 和 restore 的文件系统制作

可以看到所占空间最大的就是我们的文件系统,那么我们就是要把这一块的内容拷贝出来。

这里有一点要注意的是,我们要 dump 的对象不是 /dev/root,直接对这个对象进行 dump 操作会出现如下显示

ARM_Linux下基于 dump 和 restore 的文件系统制作

也就是说,这不是一个正规的文件系统,所以我们要先找到文件系统在哪一个分区,查看 /dev/mmc*

ARM_Linux下基于 dump 和 restore 的文件系统制作

可以看到这里有10个分区,继续查看 mount 指令的输出

ARM_Linux下基于 dump 和 restore 的文件系统制作

我们可以看到当前文件系统所处的分区位于 /dev/mmcblk1p6 下,下面开始使用 dump 指令,在终端中输入

sudo dump -0u -f - /dev/mmcblk1p6 >> /media/path/backup.fs   (/media/path 是你的U盘路径)

ARM_Linux下基于 dump 和 restore 的文件系统制作

制作一个镜像文件,并挂载

dd if=/dev/zero of=roofs.img bs=1M count=4300

这里的 count 根据你的文件系统大小来制定,笔者的是4.3G,所以设置4300

ARM_Linux下基于 dump 和 restore 的文件系统制作

格式化镜像文件,并加入 linuxroot 卷标

sudo mkfs.ext4 -F -L linuxroot rootfs.img

ARM_Linux下基于 dump 和 restore 的文件系统制作

新建一个文件夹,并挂载

ARM_Linux下基于 dump 和 restore 的文件系统制作

进入到挂载的文件夹中,执行 restore

 cd img_mount/

sudo restore -rf /media/path/backup.fs

ARM_Linux下基于 dump 和 restore 的文件系统制作

这里会提示几个失败,但没什么影响,完成后就可以在挂载的文件夹中看到拷贝的文件系统了

ARM_Linux下基于 dump 和 restore 的文件系统制作

卸载镜像

sudo umount img_mount/

至此,文件系统的镜像 roofs.img 就制作好了。

我们可以查看一下制作好的文件系统

sudo e2fsck -p -f roofs.img

ARM_Linux下基于 dump 和 restore 的文件系统制作

如果你设置的镜像大小比实际文件系统大很多,可以使用以下命令来减小镜像的大小

sudo resize2fs -M roofs.img

ARM_Linux下基于 dump 和 restore 的文件系统制作