amoBBS 阿莫电子论坛

 找回密码
 注册
搜索
bottom↓
查看: 357|回复: 14

树莓派备份,还原怎么操作比较好?

[复制链接]
发表于 2019-8-10 20:25:35 | 显示全部楼层 |阅读模式

不像Linux通过光盘或者U盘安装,树莓派的安装,是通过rufus直接把img文件写入tf卡,以这种方式完成对系统安装。

之后的系统备份,只能通过dd命令来搞么?dd好像是基于扇区的备份和还原,很多不带数据的扇区也要读写一遍,这太伤tf卡了吧

是否有办法,只用dd写引导相关数据,其他文件相关数据,直接打包完成备份,解压完成还原,这样不必要的tf卡写入,可以减少很多吧

不仅备份还原速度加快,还能保护tf卡
但是具体怎么搞呢
发表于 2019-8-10 20:30:28 | 显示全部楼层
make_ext4fs?
 楼主| 发表于 2019-8-10 20:35:07 | 显示全部楼层

Win32DiskImager进行系统备份,应该和dd差不多。
tf卡32G,实际只用了5G,但是备份生成的文件会有32G,或者更大一些
https://www.ncnynl.com/archives/201607/232.html

优点,操作简单,备份和还原同一软件实现
缺点,占用空间太大,备份是整卡备份,得到的IMG是卡的大小,只能还原到原卡或大于原卡的卡。
发表于 2019-8-11 11:20:39 | 显示全部楼层
树莓派本身有个SD备份的工具,是根据实际大小备份的。
发表于 2019-8-11 12:20:08 来自手机 | 显示全部楼层
hyghyg1234 发表于 2019-8-11 11:20
树莓派本身有个SD备份的工具,是根据实际大小备份的。

弱弱问一句,可以用GHOST备份吗?
发表于 2019-8-11 12:33:15 | 显示全部楼层
不要纠结这点,实际上ext4会写很多日志,supernode更是只有确定的位置会被反复写。所以说ext系列对flash不友好。
我现在用的自己编译的armbian用的btrfs做rootfs,用了subvolume。做快照很方便。
作为备份来说,dd是非常高效的。你可以指定写入的块大小,调整到合适的尺寸比如2M会获得较高的写入速度。反而写回文件这种方式是最浪费的,不仅慢而且有些块可能会被多次写入(比如inode的块)。
dd的缺点是文件系统大小必须一致,意味着剩余空间也会被读取写入,用dd方式之前最好缩减文件系统的大小。

对于btrfs,原生提供了btrfs send这样的命令来备份系统。

如果要保存一份rootfs(文件),可以用 mksquashfs创建一份只读的squashfs压缩文件系统(livecd就是这个格式),还原的时候用cp/rsync就行
 楼主| 发表于 2019-8-11 13:37:02 | 显示全部楼层
Earthman 发表于 2019-8-11 12:33
不要纠结这点,实际上ext4会写很多日志,supernode更是只有确定的位置会被反复写。所以说ext系列对flash不 ...

32g tf卡,dd出来的镜像也是32g(除非之后再做压缩)?
发表于 2019-8-11 13:49:55 | 显示全部楼层
meerlin 发表于 2019-8-11 13:37
32g tf卡,dd出来的镜像也是32g(除非之后再做压缩)?

先缩减ext4的大小,,再dd指定大小
 楼主| 发表于 2019-8-11 16:49:35 | 显示全部楼层
Earthman 发表于 2019-8-11 13:49
先缩减ext4的大小,,再dd指定大小


怎么缩减大小?用resize2fs?
原来分区默认31G,resize2fs后,只用了3G,剩余的空间哪里去了?再建立一个新的分区么?
发表于 2019-8-11 20:25:59 | 显示全部楼层
rainbow 发表于 2019-8-11 12:20
弱弱问一句,可以用GHOST备份吗?

貌似不可以,不太清楚没试过。
发表于 2019-8-11 21:26:01 | 显示全部楼层
Windows 下的镜像备份/恢复软件都可以吧
我用 Macrium Reflect
发表于 2019-8-12 13:34:35 | 显示全部楼层
rsync可以尝试下
发表于 2019-8-12 14:25:47 | 显示全部楼层
目前也在纠结这个
发表于 2019-8-12 14:53:09 | 显示全部楼层
Earthman 发表于 2019-8-11 13:49
先缩减ext4的大小,,再dd指定大小

请教下,我的打印出来如下,如何分区压缩?谢谢

Disk /dev/mmcblk0p1: 7767MB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Disk Flags:

Number  Start  End     Size    File system  Flags
1      0.00B  7767MB  7767MB  ext4
发表于 2019-8-12 15:34:15 | 显示全部楼层
Shrinking ext4 partition on command line

缩减ext4需要解除挂载操作(btrfs相反需要挂载后操作)
用 resize2fs 缩减ext4文件系统大小
用parted重新分区
比较麻烦你还是直接rsync拷贝或者做squashfs再复制回来吧
记得用root权限操作。我犯过严重错误,没用root账户结果丢了MySQL的db文件。
友情提示:标题不合格、重复发帖,将会被封锁ID。详情请参考:论坛通告:封锁ID、获得注册邀请码、恢复被封ID、投诉必读
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|阿莫电子论坛(原ourAVR/ourDEV) ( 公安备案:44190002001997(交互式论坛) 工信部备案:粤ICP备09047143号 )

GMT+8, 2019-10-14 10:44

阿莫电子论坛, 原"中国电子开发网"

© 2004-2018 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表