首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用dd备份ubi文件系统?

用dd备份ubi文件系统?
EN

Unix & Linux用户
提问于 2014-04-14 11:33:00
回答 2查看 7.2K关注 0票数 6

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

代码语言:javascript
复制
rootfs on / type rootfs (rw)
ubi0:root on / type ubifs (rw,sync)

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

如何检测footfsubi0:root对应的文件?

EN

回答 2

Unix & Linux用户

发布于 2017-08-11 17:55:55

如果您想备份/还原UBIFS分区,请使用UBI挂载中的dd创建UBI映像,然后使用mtd的ubiupdatevol程序进行还原。

例子-

制作图像:

代码语言:javascript
复制
dd if=/dev/ubi0_0 of=/save_loc/rfs1.ubi

卸载目标分区:

代码语言:javascript
复制
umount /.rfs2

将图像还原到目标分区:

代码语言:javascript
复制
ubiupdatevol /dev/ubi1_0 /save_loc/rfs1.ubi

重新装入重新闪烁的分区:

代码语言:javascript
复制
mount -t ubifs -o compr=zlib,ro ubi1:rootfs /.rfs2

编辑:要澄清如何查找要命名的ubi#,请运行mtd 'ubinfo':

代码语言:javascript
复制
ubi0
Volumes count:                           1
Logical eraseblock size:                 126976 bytes, 124.0 KiB
Total amount of logical eraseblocks:     960 (121896960 bytes, 116.2 MiB)
Amount of available logical eraseblocks: 0 (0 bytes)
Maximum count of volumes                 128
Count of bad physical eraseblocks:       0
Count of reserved physical eraseblocks:  80
Current maximum erase counter value:     288
Minimum input/output unit size:          2048 bytes
Character device major/minor:            250:0
Present volumes:                         0

Volume ID:   0 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        874 LEBs (110977024 bytes, 105.8 MiB)
State:       OK
Name:        rootfs
Character device major/minor: 250:1
票数 4
EN

Unix & Linux用户

发布于 2014-04-15 17:58:34

安装在rootfs上的/是一个内存中的文件系统,它通常只包含安装“真实”根文件系统所需的工具,并在完成之后被清空。rootfs的初始内容是从存储在内核二进制文件内部或旁边的initramfs映像加载的,并由引导加载程序加载。

flash上的根文件系统是ubi0:root。这是一个三层系统:

  • 在顶部,UBIFS文件系统。
  • 在中间,UBI的体积,它提供了磨损平整之上的原始闪光。
  • 在底部,原始闪存接口(MTD)。

(对于这个答案的其余部分,我从来没有实际使用过UBI。)

ubi0:root卷由的参数ubi模块ubiattach实用程序创建。这不是块设备,因为UBI级别和上面的文件系统之间的接口比“在这个位置写入这个字节”要复杂得多。您可以使用创建只读块设备。命令在UBI之上使用ubiblock命令,然后将- something备份如下

代码语言:javascript
复制
ubiblock --create /dev/ubi0_0
cat /dev/ubi0_0 >backup
ubiblock --remove /dev/ubi0_0
票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/124677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档