配置过Linux系统的同学应该经常会碰见以下问题:

  1. 操作失误,导致配置好的系统出错,修复困难
  2. 为多台电脑进行一样的配置
  3. 将配置好的虚拟机移动为物理机(V2P)
  4. 树莓派怎么备份

对于上述问题,可以通过两种方式解决:

  1. 部分备份(使用软件备份某几个文件夹)

  2. 制作系统镜像文件

其区别如下:

rm -rf/* 后能否恢复 备份速度 能否移植 适用范围 典型软件
部分备份 不能 ❌ 用户级 systemback Timeshift
制作系统镜像文件 ✔ 系统级 systemback Clonezilla

一、部分备份

部分备份是指把某几个文件夹用软件管理起来,如果发送意外删除,可以还原。但是如果发生rm -rf/*这种意外,就不要指望可以还原了。这种适合备份写的代码,不用担心代码被误删。

这里首推Timeshift,具体备份教程参考这篇文章:如何使用 TimeShift 备份和还原 Ubuntu Linux

原因如下:

  1. timeshift界面简洁,操作简单
  2. timeshift可设置定期自动备份
  3. timeshift可直接通过选定用户名完成该用户所有文件的备份

注:可通过sudo timeshift-gtk指令,图形化运行timeshift

其次,推荐systemback,具体备份教程参考这篇文章:Systemback: Restore Your Linux System To Previous State

注:systemback默认备份系统文件和root用户的文件,不会备份普通用户文件,需要去 Function menu -> include 下将需要备份的文件夹添加进去。

二、制作镜像文件

与部分备份相比,制作镜像文件最大的优势就是可以保存在其他位置,这样哪怕备份机全部损毁,也可以还原。而且可以实现系统的批量克隆。这种适合备份操作系统,不用担心操作失误导致系统损毁。

这里首推systemback,具体教程参考这篇文章:一文搞定基于 systemback 的 Ubuntu 系统镜像制作与安装

原因如下:

  1. 与后文中提到的Clonezilla相比,不需要烧录启动U盘
  2. 与Clonezilla相比,操作更简单
  3. 可以便捷的实现大硬盘到小硬盘的迁移
  4. 可以重命名拷贝系统的用户名
  5. 可以制作成可启动的iso镜像

注:

  1. 建议拷贝系统的用户名与原用户名一致,防止环境变量出错
  2. systemback可直接通过图形化界面制作小于4G的iso文件,对于大于4G的文件,只能制作成sblive文件。唯一区别在于iso文件可以直接从U盘拷贝到windows电脑上存储起来,但是sblive文件windows拷贝不出来。

其次,推荐Clonezilla,具体备份教程参考这篇文章:Clonezilla

其主要优势在于:

  1. 不限操作系统,windows,mac,linux都可以使用
  2. 制作的镜像文件在windows下可以读取,可以直接以文件夹的形式存储到windows电脑中

但是缺点在于:

  1. 需要先准备一个U盘,用UltraISO烧录进去Clonezilla的镜像文件,然后进入bios里面制作,然后再插一个U盘来存储镜像文件
  2. 对于大硬盘向小硬盘的迁移,我用Clonezilla迁移失败了,没有systemback好用

注:Clonezilla制作的镜像文件千万不要重命名,要命名就制作的时候一次命名好,否则会导致还原的时候无法读取文件名

附录一 大硬盘向小硬盘移动

对于制作系统镜像方面,最麻烦的问题在于大硬盘向小硬盘的移动。

打个比方,我现在需要将A电脑上的Ubuntu移动到B电脑上。A电脑硬盘大小500G,但是只使用了5G,B电脑硬盘大小128G。

我的建议是:

  1. 找一个空闲U盘,烧录Gparted镜像,进入BIOS修改分区大小,将A电脑上500G的分区分成使用的10G和未分配的490G
  2. 打开A电脑,启动systemback,将其系统的10G制作成镜像文件烧录到U盘里
  3. 通过U盘启动B电脑,安装系统
  4. 在B电脑中安装Gparted软件,扩展分区

附录二 虚拟机U盘启动

对于虚拟机,在使用systembackClonezilla时会涉及到bios启动,可参考此文章:虚拟机bios设置u盘启动图解

注:以管理员身份运行来打开VMware,否则无法将U盘配置为虚拟机硬盘

附录三 树莓派备份

树莓派备份主要有4种方式:

  1. 推荐使用PiShrink具体教程参考此文:PiShrink:制作更小的树莓派镜像文件
  2. Clonezilla好像有arm架构版,可以用于备份树莓派
  3. 树莓派官方操作系统下,附件 -> SD Card Copier 软件可以实现
  4. 可以将SD卡插入windows电脑,用Win32Diskimager制作iso文件。缺点在于16G的SD卡哪怕只用了2G,拷出来也是16G。具体参考此文章:使用Win32DiskImager来备份树莓派镜像文件