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

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

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

df -h

ARM_Linux下基于 dump 和 restore 的文件系统制作_第1张图片

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

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

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

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

ARM_Linux下基于 dump 和 restore 的文件系统制作_第2张图片

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

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

ARM_Linux下基于 dump 和 restore 的文件系统制作_第3张图片

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

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

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

ARM_Linux下基于 dump 和 restore 的文件系统制作_第4张图片

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

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

ARM_Linux下基于 dump 和 restore 的文件系统制作_第5张图片

新建一个文件夹,并挂载

sudo mkdir img_mount

sudo mount roofs.img img_mount/

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

 cd img_mount/

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

ARM_Linux下基于 dump 和 restore 的文件系统制作_第6张图片

这里会提示几个失败,文件的一些功能没有执行,这没什么影响,但是如果有提示一些其他错误或者选择的时候,有可能是你的镜像文件空间不足造成的,这个时候最好重新建立一个大点的镜像文件。完成后就可以在挂载的文件夹中看到拷贝的文件系统了

ARM_Linux下基于 dump 和 restore 的文件系统制作_第7张图片

卸载镜像

sudo umount img_mount/

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

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

sudo e2fsck -p -f roofs.img

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

sudo resize2fs -M roofs.img

你可能感兴趣的:(Linux)