前言:
我们在使用Ubuntu开发环境,经常出现搭着搭着系统就挂了,linux系统的稳定性是公认的差,于是我就开始想搞[Ubuntu系统]的备份和还原,以备不时之需,Linux环境搭建和我ROS的环境搭建实在是有点麻烦,大多数情况下,就算曾经搭建过十几遍,再次搭建有些包还是忘了安装,毕竟脑子的记忆地方就那点空间,做好备份是十分必要的。
双系统的镜像备份(dd命令)
第一步
- 我们需要知道要被备份系统的硬盘的位置
在终端中输入
df -h
或者我们用最简单的方法:
1.打开ubuntu系统软件 disks(硬盘)
2.选中你的系统硬盘,查看位置(一般为/dev/***)
第二步
插入U盘(可以存储的硬盘或TF卡都行),也要知道U盘的位置,向上面一样用同样的方法看也可以
或者执行以下命令,查看磁盘号
sudo parted -l
第三步
我们需要使用dd命令进行备份
1.需要在root模式下执行备份
sudo su
2.输入dd命令
dd if=/dev/sda1 conv=sync,noerror bs=64k | gzip -c > /dev/TD/jetson-tx1.img.gz
注释:
- if=/dev/sdb1 是被备份硬盘的位置,根据你自己的更改即可
- /dev/TD/ 是你U盘的位置(绝对路径)
- jetson-tx1.img.gz 是你需要保存后的文件名,(.gz文件的后缀名不要更改)
(输完后,终端不会动的)
3、实时查看进度,需要在新建窗口中使用命令
sudo watch -n 5 pkill -USR1 -n -x dd
4、耐心等待,备份完成后,终端会自动退出进程,终端会自动暂停!
再查看U盘里有没有个几G大小的文件
重新烧录镜像
前言:
烧录镜像需要先格式化硬盘,但是烧录又需要linux系统的存在,优先适合双系统盘的Ubuntu系统(如jetson系列板子),或者在新的U盘装上Ubuntu系统也可以。
1.烧录指令格式如下:
gzip -c SSD 镜像文件 .gz | dd of=/dev/sda1 bs=64k
2.根据原来的保存过的镜像,我应该如下:
(烧录前也需要进入root模式)
gzip -c /dev/TD/jetson-tx1.img.gz | dd of=/dev/sda1 bs=64k
3.解压过程可以新打开一个终端使用命令
(一)查看一次当前进度:
sudo pkill -USR1 -n -x dd
(二)想让他一直显示当前进度,使用命令:
sudo watch -n 5 pkill -USR1 -n -x dd
(定时 5 秒刷新一次进度)
4、耐心等待,备份完成后,终端会自动退出进程
单系统:
可以看转载的,因为别人都写的比较详细,所以我就不做多情了,看别人的就可以了
(我相信技术永远是互利的,未来终会是开源的天下)