一:问题描述
在使用SD卡文件系统的一部分设备上,因为开发的部分原因导致系统卡死,以及意外断电等的原因,很大可能会导致镜像文件损坏,出现打不开,卡在进入程序中的情况。当出现这种问题的时候,修复的难度是非常大的,所以在开发期,最好定期做好预防工作——镜像备份!
二:备份方法:
2.1:HDD Raw Copy Tool
使用 HDD Raw Copy Tool 工具,其支持将磁盘内容克隆到另一个磁盘或导出为 .img 文件
下载地址:HDD-Raw-Copy-Tool 工具https://hddguru.com/software/HDD-Raw-Copy-Tool/下载成功后打开工具(在此之前,插入自己的读卡器)
找到自己的 SD 卡(一般通过容量或设备名称可以识别,例如 Mass Storage Device
或其他 USB 设备),选中过后再点击下方“Continue > > >”按钮。
接下来,如果要克隆到另一个磁盘上面,找到另一个磁盘,选中后点击“Continue > > >”按钮。
如果想保存出一个.img镜像文件,选择图中选项FILE:
弹出来一个窗口,选择保存的地方,输入镜像文件名,后缀.img,完成后点击“Continue > > >”按钮。
然后点击START,即可开始保存或克隆:
耐心等待后,生成一个大小接近SD卡大小的.img镜像备份。
2.2:在Linux系统上使用dd工具(子系统或虚拟机,Windows上面使用WSL或其他工具)
2.2.1 dd安装命令:
一般dd和lsblk是系统自带,如果没有找到命令,输入以下代码安装:
sudo apt update
sudo apt install coreutils util-linux -y
2.2.2 确定SD卡设备名称:
使用命令:
lsblk
输出示例:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 500G 0 disk
├─sda1 8:1 0 100M 0 part /boot
└─sda2 8:2 0 499G 0 part /
mmcblk0 179:0 0 32G 0 disk # SD 卡
├─mmcblk0p1
└─mmcblk0p2
在这里假设 SD 卡的设备名称是 /dev/mmcblk0
2.2.3 使用dd创建镜像文件:
sudo dd if=/dev/mmcblk0 of=jetson_nano.img bs=4M status=progress
(1)if=/dev/mmcblk0
:输入文件,指向 SD 卡的设备名称。
(2)of=jetson_nano.img
:输出文件,指定保存的镜像文件名。
(3)bs=4M
:块大小,设置为 4MB 可以提高备份速度。
(4)status=progress
:显示备份进度。
备份完成后,会得到一个 .img
文件(例如 jetson_nano.img
),这是 SD 卡的完整快照。