【镜像压缩】linux 上 SD/TF 卡镜像文件压缩到实际大小的简单方法(树莓派、nvidia jetson)
第一步中的镜像文件大小和 SD/TF 卡硬盘空间大小一致,需要进一步压缩为实际使用空间大小。SD/TF 卡插入 Ubuntu 主机(虚拟机也行),在 ubuntu 主机中打开。SD/TF 卡插入 Ubuntu 主机(虚拟机也行),在 ubuntu 主机中打开。这个步骤将生成一个与 SD/TF 卡硬盘空间大小一致的。镜像文件,请确保 Ubuntu 主机空间足够。应用,选中 SD/TF 卡,然后。应用
文章目录
0. (推荐使用)新的终极方法,更方便、更易用
【Ventory+FirePE+DiskGenius】简单通用的系统安装、备份、还原方法,支持 ARM 系统
https://blog.csdn.net/weixin_43667077/article/details/139467020
1. 备份 SD/TF 卡为镜像文件
SD/TF 卡插入 Ubuntu 主机(虚拟机也行),在 ubuntu 主机中打开 Disks
应用,选中 SD/TF 卡,然后 Create Disk Image
即可。
这个步骤将生成一个与 SD/TF 卡硬盘空间大小一致的 .img
镜像文件,请确保 Ubuntu 主机空间足够。
注: 备份还原 SD/TF 卡的速度取决于卡和读卡器的读写速度,建议选购读写速度快且稳定的卡,不同卡读写速度测评可参考:https://zhuanlan.zhihu.com/p/576930331
2. 压缩镜像文件
第一步中的镜像文件大小和 SD/TF 卡硬盘空间大小一致,需要进一步压缩为实际使用空间大小。
2.1. 多分区镜像文件的压缩(树莓派、普通 linux 系统等)
wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh
# 压缩方式 1:额外生成新的镜像文件
sudo bash pishrink.sh 现有镜像文件名.img 压缩镜像文件名.img
# 压缩方式 2:覆盖原有的的镜像文件
sudo bash pishrink.sh 现有镜像文件名.img
2.2. 单分区镜像文件的压缩(Nvidia Jetson Nano 等)
此步骤只能覆盖原有的的镜像文件
e2fsck -fp 现有镜像文件名.img
resize2fs -M 现有镜像文件名.img
3. 还原镜像文件到 SD/TF 卡
SD/TF 卡插入 Ubuntu 主机(虚拟机也行),在 ubuntu 主机中打开 Disks
应用,选中 SD/TF 卡,然后 Restore Disk Image
即可。
4. 镜像还原后处理
4.1. 镜像分区调整
由于镜像中的分区经过压缩,还原后 SD/TF 卡中会有一部分空闲空间,如图:
选中主分区,使用 Resize
功能将空闲空间都并入主分区即可:
4.2. 多分区镜像还原后修复引导
(多分区硬盘更建议使用再生龙进行备份还原:https://blog.csdn.net/dqz1231/article/details/127947178)
实测多分区镜像还原后需修复引导,才能正常启动系统。
参考:修复ubuntu22.04启动引导 :https://blog.csdn.net/weixin_43667077/article/details/135413928
基于以上文章,并进行以下操作:
打开 boot-repair
后,选择 Advaned options
在 GRUB location
页面,选择好需要修复的硬盘及分区,然后点击 Apply
开始修复即可。
参考链接
How to resize img file created with dd?:https://superuser.com/a/812186
PiShrink:https://github.com/Drewsif/PiShrink
更多推荐
所有评论(0)