How to Clone Linux
配置过Linux系统的同学应该经常会碰见以下问题:
- 操作失误,导致配置好的系统出错,修复困难
- 为多台电脑进行一样的配置
- 将配置好的虚拟机移动为物理机(V2P)
- 树莓派怎么备份
对于上述问题,可以通过两种方式解决:
部分备份(使用软件备份某几个文件夹)
制作系统镜像文件
其区别如下:
rm -rf/* 后能否恢复 | 备份速度 | 能否移植 | 适用范围 | 典型软件 | |
---|---|---|---|---|---|
部分备份 | 不能 | 快 | ❌ | 用户级 | systemback Timeshift |
制作系统镜像文件 | 能 | 慢 | ✔ | 系统级 | systemback Clonezilla |
一、部分备份
部分备份是指把某几个文件夹用软件管理起来,如果发送意外删除,可以还原。但是如果发生rm -rf/*
这种意外,就不要指望可以还原了。这种适合备份写的代码,不用担心代码被误删。
这里首推Timeshift
,具体备份教程参考这篇文章:如何使用 TimeShift 备份和还原 Ubuntu Linux
原因如下:
- timeshift界面简洁,操作简单
- timeshift可设置定期自动备份
- timeshift可直接通过选定用户名完成该用户所有文件的备份
注:可通过
sudo timeshift-gtk
指令,图形化运行timeshift
其次,推荐systemback
,具体备份教程参考这篇文章:Systemback: Restore Your Linux System To Previous State
注:systemback默认备份系统文件和root用户的文件,不会备份普通用户文件,需要去 Function menu -> include 下将需要备份的文件夹添加进去。
二、制作镜像文件
与部分备份相比,制作镜像文件最大的优势就是可以保存在其他位置,这样哪怕备份机全部损毁,也可以还原。而且可以实现系统的批量克隆。这种适合备份操作系统,不用担心操作失误导致系统损毁。
这里首推systemback
,具体教程参考这篇文章:一文搞定基于 systemback 的 Ubuntu 系统镜像制作与安装
原因如下:
- 与后文中提到的Clonezilla相比,不需要烧录启动U盘
- 与Clonezilla相比,操作更简单
- 可以便捷的实现大硬盘到小硬盘的迁移
- 可以重命名拷贝系统的用户名
- 可以制作成可启动的iso镜像
注:
- 建议拷贝系统的用户名与原用户名一致,防止环境变量出错
- systemback可直接通过图形化界面制作小于4G的iso文件,对于大于4G的文件,只能制作成sblive文件。唯一区别在于iso文件可以直接从U盘拷贝到windows电脑上存储起来,但是sblive文件windows拷贝不出来。
其次,推荐Clonezilla
,具体备份教程参考这篇文章:Clonezilla
其主要优势在于:
- 不限操作系统,windows,mac,linux都可以使用
- 制作的镜像文件在windows下可以读取,可以直接以文件夹的形式存储到windows电脑中
但是缺点在于:
- 需要先准备一个U盘,用
UltraISO
烧录进去Clonezilla的镜像文件,然后进入bios里面制作,然后再插一个U盘来存储镜像文件 - 对于大硬盘向小硬盘的迁移,我用Clonezilla迁移失败了,没有systemback好用
注:Clonezilla制作的镜像文件千万不要重命名,要命名就制作的时候一次命名好,否则会导致还原的时候无法读取文件名
附录一 大硬盘向小硬盘移动
对于制作系统镜像方面,最麻烦的问题在于大硬盘向小硬盘的移动。
打个比方,我现在需要将A电脑上的Ubuntu移动到B电脑上。A电脑硬盘大小500G,但是只使用了5G,B电脑硬盘大小128G。
我的建议是:
- 找一个空闲U盘,烧录
Gparted
镜像,进入BIOS修改分区大小,将A电脑上500G的分区分成使用的10G和未分配的490G - 打开A电脑,启动
systemback
,将其系统的10G制作成镜像文件烧录到U盘里 - 通过U盘启动B电脑,安装系统
- 在B电脑中安装
Gparted
软件,扩展分区
附录二 虚拟机U盘启动
对于虚拟机,在使用systemback
和Clonezilla
时会涉及到bios启动,可参考此文章:虚拟机bios设置u盘启动图解
注:以管理员身份运行来打开VMware,否则无法将U盘配置为虚拟机硬盘
附录三 树莓派备份
树莓派备份主要有4种方式:
- 推荐使用
PiShrink
具体教程参考此文:PiShrink:制作更小的树莓派镜像文件 - Clonezilla好像有arm架构版,可以用于备份树莓派
- 树莓派官方操作系统下,附件 ->
SD Card Copier
软件可以实现 - 可以将SD卡插入windows电脑,用
Win32Diskimager
制作iso文件。缺点在于16G的SD卡哪怕只用了2G,拷出来也是16G。具体参考此文章:使用Win32DiskImager来备份树莓派镜像文件