用dd备份ubi文件系统?

The*_*eer 5 filesystems mount disk-image ubifs

A 在闪存驱动器上有一个根文件系统(文件系统 - 图像包含文件夹结构和内容)。闪存驱动器使用 UBI 作为底层文件系统文件系统 - 数据块映射到文件的方式,就像你说你使用的是 ext4)。

rootfs on / type rootfs (rw)
ubi0:root on / type ubifs (rw,sync)
Run Code Online (Sandbox Code Playgroud)

当有一个物理驱动器作为第一个参数时,我知道如何使用 dd 进行备份(例如。而不是rootfs有一个/dev/sda),但是在这里我不知道如何在当前场景中寻址驱动器(什么是的路径rootfs)。

我如何检测到哪个文件footfsubi0:root对应于哪个文件?

Gil*_*il' 3

rootfs挂载的/文件系统通常只包含挂载 \xe2\x80\x9creal\xe2\x80\x9d 根文件系统所需的工具,并在完成后清空。rootfs 的初始内容从存储在内核二进制文件内部或旁边的initramfs映像加载,并由引导加载程序加载。

\n\n

闪存上的根文件系统是ubi0:root. 这是一个三层系统:

\n\n
    \n
  • 顶部是UBIFS文件系统。
  • \n
  • 中间是UBI卷,它在原始闪存之上提供磨损均衡。
  • \n
  • 底部是原始闪存接口 (MTD)。
  • \n
\n\n

(请谨慎对待本答案的其余部分,我从未真正使用过 UBI。)

\n\n

该卷是通过模块实用程序的参数ubi0:root创建的。这不是块设备,因为 UBI 级别与其之上的文件系统之间的接口比 \xe2\x80\x9c 在这个位置 \xe2\x80\x9d 写入此字节更复杂。您可以使用以下命令在 UBI 之上创建一个只读块设备,然后备份 \xe2\x80\x94\xc2\xa0 之类的东西ubiubiattachubiblock

\n\n
ubiblock --create /dev/ubi0_0\ncat /dev/ubi0_0 >backup\nubiblock --remove /dev/ubi0_0\n
Run Code Online (Sandbox Code Playgroud)\n