前言:

我们在使用Ubuntu开发环境,经常出现搭着搭着系统就挂了,linux系统的稳定性是公认的差,于是我就开始想搞[Ubuntu系统]的备份和还原,以备不时之需,Linux环境搭建和我ROS的环境搭建实在是有点麻烦,大多数情况下,就算曾经搭建过十几遍,再次搭建有些包还是忘了安装,毕竟脑子的记忆地方就那点空间,做好备份是十分必要的。

双系统的镜像备份(dd命令)

第一步

  • 我们需要知道要被备份系统的硬盘的位置

在终端中输入

df -h

pid134g.md.png

或者我们用最简单的方法:

1.打开ubuntu系统软件 disks(硬盘)

pidldte.png

2.选中你的系统硬盘,查看位置(一般为/dev/***)

pidlHBV.png

第二步

  • 插入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、耐心等待,备份完成后,终端会自动退出进程

单系统:

可以看转载的,因为别人都写的比较详细,所以我就不做多情了,看别人的就可以了

(我相信技术永远是互利的,未来终会是开源的天下)

1.Systemback

2.Timesift