ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Clonezilla Live保姆级教程:Ubuntu全盘备份与恢复实战

Clonezilla Live保姆级教程:Ubuntu全盘备份与恢复实战 折腾Linux这么多年我最深的感触就是系统崩了不可怕可怕的是你没有备份。尤其是你辛辛苦苦配好的开发环境、装好的数据库、调好的GPU驱动一夜之间全部归零的时候那种滋味真的让人怀疑人生。后来我开始用Clonezilla Live给Ubuntu做全盘备份与恢复才真正体会到什么叫“有备无患”。这篇保姆级教程就是把我实操的最优路径、踩过的坑尤其是BIOS设置那一环完整分享出来从下载镜像、制作U盘、BIOS避坑到全盘备份、灾难还原一步步带你走通。这篇教程的核心关键词就三个Clonezilla Live、Ubuntu系统、全盘备份与恢复。Clonezilla Live就是一个跑在U盘上的Linux环境专门用来做分区级或整盘级的镜像备份全盘备份意味着整个系统的引导、分区表、所有软件和数据一次性打包。不管你是开发环境的日常快照、换硬盘前的迁移还是好奇想给系统留个“后悔药”这篇文章都适用。1. 为什么全盘备份这么重要备份方案的思路拆解1.1 全盘备份 vs 文件备份差别到底在哪很多人觉得备份就是把文件拷贝到网盘里这是典型的“文件备份思维”。文件备份解决的是“数据丢失”问题比如你删了某个文档、SSD突然暴毙、中了勒索病毒文件没了还能从网盘找回。但它解决不了“系统损坏”问题——就算你把/home、/etc、/var/www全部导出重装一个Ubuntu之后你还是得手动装一遍所有软件、改一遍所有配置、重新调一轮环境变量前后折腾大半天而且大概率漏掉某些细节。全盘备份是另一个维度的东西。它不是在文件层面操作而是在“块”层面操作——把整个磁盘上的分区表、引导记录、文件系统、每一个字节的原始数据打包成镜像。恢复的时候Clonezilla会把这块磁盘原样写回去恢复后的系统和备份那一刻长得一模一样开机就能进系统不需要重装、不需要调优、不需要重新配置。打个比方文件备份是“搬家前把家具拍照存底”全盘备份是“给整个屋子做了个1:1的3D扫描”。前者丢了东西只能按照片重建后者直接把房子原原本本复制回来。1.2 Clonezilla的核心原理为什么它比dd和tar更适合日常备份Linux下做磁盘镜像的工具不少最简单的dd直接把整块磁盘逐扇区复制笨但保险tar可以打包文件但无法处理引导记录和文件系统元数据。Clonezilla站在两者中间它的核心引擎是Partclone只拷贝实际被使用的扇区跳过空闲空间所以速度更快、镜像体积更小。Clonezilla的处理逻辑大致是先用parted捕获磁盘的分区表结构生成分区表信息文件一般叫sda-pt.parted。再对每个分区分别做镜像。例如/dev/sda1是ext4就会生成一个sda1.ext4-ptcl-img.gz.a之类的分片压缩文件具体后缀取决于你选的压缩算法。同时对磁盘的前面一段MBR或GPT引导区做了保存确保恢复后引导信息完整。这才叫“全盘备份”——不只是文件内容连我从哪个扇区引导、UEFI分区里有哪些EFI文件、分区是GPT还是MBR全都在镜像里。恢复到新硬盘后这块新盘就拥有和原盘一致的引导结构与分区布局直接开机进系统一次到位。1.3 备份前必须要做的准备清单工具准备并不复杂但少一样都会卡住列个清单一个U盘容量1GB以上就够用来装Clonezilla Live启动系统。一块外部存储盘USB移动硬盘、大U盘或者另一块空闲硬盘用来存放备份镜像。镜像大小约为源磁盘已用空间的0.4到0.7倍取决于压缩率和压缩算法建议实际空间按“已用空间的1.2倍”以上准备预留充足余量。电源适配器。如果是笔记本备份务必插上电源再操作备份中途断电是最糟糕的情况。一张纸和笔记下你系统的关键信息——启动模式是UEFI还是Legacy磁盘是GPT还是MBR原系统是哪块盘sda还是nvme0n1检查启动模式的方法很简单。在Ubuntu里打开终端执行ls /sys/firmware/efi如果有输出能看到一堆文件/目录说明当前是UEFI模式启动如果提示“No such file or directory”则是Legacy BIOS启动。这个信息在后面的BIOS设置那一步非常重要因为恢复镜像后BIOS启动模式必须和备份时保持一致否则就会出现能引导但进不了系统的情况。2. 零基础制作Clonezilla启动盘与BIOS设置避坑2.1 下载Clonezilla Live镜像版本选择其实很关键Clonezilla官网提供稳定版stable和测试版alternative/rc咱们就选stable版。文件名为clonezilla-live-x.x.x-x-amd64.zip里面是一套完整的Live系统文件。有的朋友会纠结选amd64还是i686。现在绝大多数电脑都是64位直接选amd64即可和你是不是AMD的CPU没有关系Intel的照用。下载完成后如果时间充裕可以做一次SHA-256校验官网提供了对应的checksum文件。校验哈希是防止镜像文件下载损坏后续U盘启动报奇奇怪怪的错误多半就是镜像本身不完整。虽然这个概率不大但真踩过一次之后我养成了习惯。2.2 制作启动U盘Rufus和dd命令两种方式想快速制作启动U盘Windows下用Rufus最省心。打开Rufus设备选择你的U盘引导类型选择Clonezilla Live ISO文件最关键的一步是镜像写入模式必须选择DD镜像模式而不是ISO镜像模式。很多教程没说这一句无数人卡在这关——用ISO模式刻出来的U盘开机大概率无法引导。如果你在Linux环境里直接用dd命令更简单。插入U盘后先用lsblk确认设备名比如是/dev/sdb然后执行sudo dd ifclonezilla-live-xxx-amd64.zip of/dev/sdb bs4M statusprogress sync注意of后面的路径是设备节点不是分区节点比如是/dev/sdb不是/dev/sdb1。这个操作会清空U盘上的所有数据执行前确认里面没有重要资料。2.3 进BIOS的通用方法和品牌快捷键制作好U盘下一步就是进入BIOS设置U盘启动。不同品牌电脑的快捷键不同我整理了一份常用表品牌/机型进入BIOS设置快捷启动菜单Dell台式机/笔记本F2F12HP惠普F10F9Lenovo联想F2笔记本/ F1部分台式F12ThinkPadEnter后按F1F12ASUS华硕Del / F2F8MSI微星DelF11Acer宏碁Del / F2F12各种组装机主板Del / F2F11 / F12一般来说开机自检画面出现时狂按上述按键就能进。如果你看不清开机画面那就开机前就开始每隔半秒按一次按到出菜单为止。另外Windows系统下可以按住Shift键点“重启”进入蓝屏恢复菜单后选“疑难解答 → 高级选项 → UEFI固件设置”也能直接进BIOS。2.4 必须改的BIOS项Secure Boot、CSM、启动模式BIOS设置里有一堆选项但对Clonezilla来说核心只需要关注三件事。第一关闭Secure Boot安全启动。这是最重要的避坑点。Secure Boot是UEFI时代引入的安全机制只允许加载被厂商信任签名的引导程序。Clonezilla Live基于定制版Debian Linux虽然主流发行版都有签名但老版本或者定制内核的镜像不一定会被信任。设置路径一般在Security → Secure Boot或者Boot → Secure Boot把Enabled改成Disabled。关闭后U盘引导的兼容性会大幅提升。第二确认启动模式。上面我们已经查过Ubuntu的启动模式是UEFI还是Legacy。进BIOS后找到Boot Mode或Boot List Option把它设置成跟原系统一致。有些主板还有CSMCompatibility Support Module兼容性支持模块选项CSM开启后允许UEFI BIOS同时引导Legacy设备。如果你用的是较老的主板且UEFI引导U盘不识别可以尝试开启CSM。但我也遇到过一些主板开启CSM后UEFI反而异常这个要看具体机型核心原则是“备份时是什么模式恢复时就用什么模式”。第三设置U盘为第一启动项或者使用快捷启动菜单直接选U盘。在快捷启动菜单里你可能会看到U盘出现两次——比如UEFI: KingstonDataTraveler和KingstonDataTraveler不带UEFI前缀。前者是以UEFI模式引导后者是Legacy/BIOS模式引导。选哪个跟着原系统模式走。注意Dell老款电脑的BIOS偶尔会卡在Restore to Factory Defaults或者出现类似“BIOS update blocked due to unsupported downgrade”的提示。这种信息本质是BIOS版本保护机制在阻止降级不影响我们接下来操作但如果你在BIOS设置里改了配置无法保存可以按F9恢复默认值再重新设置一次。3. 全盘备份实操从U盘启动到备份完成3.1 启动Clonezilla的选项选择U盘引导成功后会看到Clonezilla Live的启动菜单。第一项是Clonezilla live (Default settings)直接回车。如果你的显卡比较老或者屏幕显示异常可以往下翻选Clonezilla live (VGA 800x600)或者加nomodeset参数这一步是备选方案。接下来会问你选择语言。默认是英文你可以按F5切到中文界面。当然一直用英文也没问题菜单内容就那么几项但考虑到看这篇教程的很多是刚接触Linux的朋友我建议直接切中文减少操作压力。键盘布局保持默认回车继续。然后会看到几个选项启动 Clonezilla图形界面多语启动 Clonezilla文字界面多语进入命令列模式内存测试开机后进入网络启动选第一个图形界面或者第二个文字界面都一样两个最后都会进入Clonezilla主菜单。新手推荐图形界面选项排版更直观。3.2 选择备份模式device-image还是device-to-device进入主菜单后会出现最核心的模式选择savedisk把整块磁盘保存成镜像设备到镜像saveparts只保存某个分区分区到镜像restoredisk把整盘镜像恢复到某块磁盘镜像到设备restoreparts把分区镜像恢复某个分区我们做全盘备份选device-image设备镜像模式。这个模式的意思是把选中的磁盘或分区打包成“镜像文件”存放在外部存储上。另一个模式device-device是磁盘到磁盘的直接克隆无需生成镜像文件。如果我们是要换新硬盘做“整盘复制”可以考虑直接设备到设备克隆但如果是为了存档和灾难恢复归档成镜像文件放到外部存储永远是最灵活的选择。选择device-image后Clonezilla会询问镜像文件存放在哪里。这里选local_dev本地设备意思就是把镜像存到我们插入的U盘或移动硬盘上。还有一个ssh或nfs选项是把镜像传到远程服务器有网络存储的朋友可以选但作为保姆级教程我们走最稳的本地存储方案。接着插入移动硬盘如果还没插等待几秒后按回车让系统重新扫描设备然后从列表里选中你的移动硬盘设备再选择挂载目录。这里有个小坑移动硬盘的分区格式如果是NTFSClonezilla也能读写但偶尔会有挂载不上的问题。实操中我最推荐把备份存放盘格式化成ext4如果你手上碰巧有Linux环境或者exFAT跨平台兼容性好减少莫名其妙的故障。3.3 关键参数解析压缩算法、分片大小、校验选项进入下一步Clonezilla会问你要“新手模式”还是“专家模式”。新手模式下参数全是默认值适合无脑操作但如果你想控制压缩率和校验行为建议选“专家模式”——其实没有想象中复杂就是多几个选项。然后是“保存整块磁盘”savedisk这一步会列出当前机器上所有磁盘。务必选对源磁盘比如系统盘是/dev/sda或者/dev/nvme0n1。你可以通过磁盘型号和容量来判断千万别把移动硬盘选中不然就是灾难。接下来是几个关键参数压缩算法。Clonezilla支持多种压缩算法我实际对比过几个算法压缩比速度适用场景gzip默认中等中等日常推荐均衡lz4较低极快追求速度磁盘空间充裕bzip2最高慢追求极致压缩比不介意等待xz高很慢压缩最大一般不建议备份时用我平时直接用默认的gzip压缩比和备份时间最均衡。如果只是给某台实验室机器做个临时快照系统盘数据本来就少选lz4可以明显缩短备份耗时。分片大小。这一项建议保持默认即可。Clonezilla默认不会强制分片但如果你打算把镜像放到FAT32格式的移动硬盘上必须让分片大小小于4GBFAT32单文件大小上限。要迁移到FAT32的可以选-s 2048单位MB或者干脆不迁移。校验选项。“校验还原”选项建议开启。备份完成后Clonezilla会把镜像里的数据读一遍跟源磁盘做比对确认数据一致。这会额外花费约30%~50%的时间但换来的是安心——我见过有人备份完成后没校验恢复时才发现镜像损坏当时那个绝望……多等半小时避免日后大无语事件。最后Clonezilla会给你一个完整的执行命令预览让你确认。例如sudo /usr/sbin/ocs-sr -q2 -c -j2 -z1p -i 0 -p true savedisk sda-20250120 /dev/sda这里面的-z1p代表gzip压缩-q2代表跳过检查并直接继续-p true表示全部默认回答yes。按y执行后就进入正式的备份流程。3.4 备份过程中看到这些提示是什么意思备份开始后屏幕会滚动大量信息。很多人看到一堆代码就开始慌其实只需要关注几个关键标志Creating bitmap...或者Partclone相关进度——正在进行某个分区的镜像复制会显示百分比和当前速度。每个分区处理完后会输出类似Partclone successfully cloned的提示。中途如果看到红色的Error、failed字样那就要留意了。常见的是源磁盘有坏道导致读取失败或者是磁盘文件系统有dirty标志需要先修复。前者建议换盘后者可以先回到Ubuntu里执行fsck再备份。备份结束后Clonezilla会输出一份摘要包含镜像的路径、大小、耗时。最后一步它会问你要关机、重启还是继续操作。按需求选择即可然后你可以在外部存储盘里看到类似这样的目录sda-20250120/ ├── sda.info ├── sda-pt.parted ├── sda0-ntfs-ptcl-img.gz.a ├── sda1-ext4-ptcl-img.gz.a ├── sda2-linux-swap-ptcl-img.gz.a └── ...其中sda.info记录磁盘信息sda-pt.parted是分区表各个.a、.b后缀文件就是分区镜像的分片。这些文件一个都别动它们就是你的“后悔药”。4. 全盘恢复实操与关键确认4.1 恢复前需要做的准备灾难发生的那一刻深呼吸然后按下面的流程来不用慌。恢复之前先确认三件事。第一目标磁盘上的数据不需要了。这句话我必须再三重复整个恢复过程会把目标磁盘全部覆盖磁盘上原有的一切都会被镜像内容替代。如果你恢复前把目标磁盘当成移动硬盘插在电脑上里面还有论文草稿先拷出来。第二确认目标磁盘容量。恢复镜像要求目标磁盘的容量大于等于源磁盘。Clonezilla允许你把1TB盘的镜像恢复到500GB的空盘吗不行分区表写入时就会失败因为目标磁盘的物理扇区数比镜像里的分区边界还小。建议准备比源盘等大或更大的盘。第三确认镜像文件可用。如果你把镜像放在外部移动硬盘上先确认移动硬盘能被识别。如果有条件预先看一下镜像目录是否完整——至少能看到分区表文件和所有分片文件都在。4.2 恢复流程选对目标磁盘比什么都重要用同一张Clonezilla Live U盘启动进入界面后的前几步和备份时一模一样——选择语言、选择device-image模式、选择local_dev、挂载存放镜像的移动硬盘、选中备份镜像目录。接着关键一步来了选择“还原整块磁盘”restoredisk。Clonezilla会列出镜像文件中记录的所有分区信息然后问你要恢复到哪块物理磁盘上。这里会显示所有识别到的磁盘包括你正在挂载镜像的那块移动硬盘。如果你一不小心把目标磁盘选成移动硬盘系统会把移动硬盘上的镜像覆盖掉——等于把你的“后悔药”也一起毁了。所以选目标磁盘时我每次都会反复对容量、对型号确认三遍再按回车。确认后Clonezilla会再次弹出警告要求你输入一个“yes”来确认破坏性操作。有的版本是要求输入y有的是把yes完整键入。别嫌麻烦这是最后一个防线。随后就是和备份时类似的镜像还原过程。恢复速度取决于源镜像大小和目标磁盘的写入速度一般比备份稍快一些。整个过程也是别断电、别拔盘老老实实等它跑完。4.3 恢复后引导修复常见但大多数时候不需要最理想的情况恢复完成后重启BIOS识别到系统盘正常进入GRUB菜单选第一个内核Ubuntu顺利启动所有环境和数据都还在。这种情况占比非常高因为Clonezilla已经把引导记录和EFI分区一并恢复了。但也有例外。最常见的引导问题是两种一是BIOS启动模式和备份时不一致比如原系统是UEFI模式你恢复后把BIOS设成了Legacy模式那GRUB会找不到或直接黑屏二是新换的硬盘在BIOS中的设备名和原盘不一致导致GRUB里的root设备指向错误。如果你遇到黑屏或GRUB rescue提示符先别急着重刷镜像检查两件事进BIOS把启动模式切回和备份时一致。使用U盘启动进入到Ubuntu Live环境运行“Boot Repair”工具自动修复引导sudo add-apt-repository ppa:yannubuntu/boot-repair sudo apt update sudo apt install boot-repair boot-repair选择“推荐修复”即可。这个工具会自动检测GRUB安装位置、修复EFI引导条目和MBR引导代码一般五分钟搞定。如果想手动修复思路是用chroot进入恢复后的系统重新安装GRUBsudo mount /dev/sdb1 /mnt sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys sudo chroot /mnt grub-install /dev/sdb update-grub exit注意这里的/dev/sdb1指的是恢复出来的Ubuntu根分区/dev/sdb是目标磁盘实际按你的情况替换。这一步的原理是重新向目标磁盘的引导区写入GRUB引导代码并从系统分区重新扫描内核列表。4.4 恢复后的系统验证恢复完成后进入系统先别急着欢呼花五分钟做一轮验证df -h查看分区挂载和容量是否正常。lsblk确认分区结构和备份时一致。打开几个常用软件、看一下文件目录是否完整。如果有跑服务启动一下服务检查是否有异常。检查日志里有没有大量报错journalctl -p 3 -xb看到硬件相关报错很正常但如果是文件系统错误就要警惕。另外建议恢复验证没问题后立即重新做一次全盘备份。这时候的备份就是“已验证可恢复”的干净镜像以后出了问题直接回滚到这一步比原始备份更放心。5. 常见问题排查与避坑实录5.1 启动U盘无法引导这个问题的出现频率最高甚至能占到所有反馈的一半。排查顺序很重要现象原因解决方法开机后直接进了系统没看到U盘启动菜单启动顺序没调好进BIOS手动把U盘设为第一启动项或用快捷启动菜单选择U盘能看到启动项但选了以后黑屏或直接跳过Secure Boot没关进BIOS把Secure Boot设为DisabledU盘在别的电脑能用这台不行主板引导模式不匹配确认BIOS引导模式UEFI/Legacy和U盘写入方式一致U盘供电不足某些前置USB口供电弱插到主板后置USB接口笔记本换接口还有一个经常被忽略的点如果U盘是用Rufus的ISO模式刻录的Clonezilla Live无法引导的概率极大。重新用DD模式刻录一遍U盘多半能解决。5.2 Clonezilla识别不到磁盘进入Clonezilla后如果磁盘列表里找不到你的系统盘最可能的原因是硬盘工作在RAID模式而Clonezilla内核不带对应的RAID驱动。解决方法进BIOS把SATA模式从RAID改成AHCI注意这个操作会改变系统启动方式如果你的Ubuntu原本基于RAID模式安装改回AHCI后Windows系统可能无法启动但对Linux影响相对小。或者也可以升级到最新版Clonezilla Live新版本对NVMe和较新的RAID控制器支持更好。另一个原因是老机器上的IDE磁盘在极老版本Clonezilla上识别有问题不过现在这种场景基本绝迹了。5.3 恢复后进不了系统进不了系统分两类进程走了但黑屏和卡在引导阶段。黑屏通常是显卡驱动问题。备份时有专有显卡驱动恢复后的环境如果硬件变了比如你换了主板或者把盘插到另一台电脑上驱动加载会失败。用Live U盘启动chroot进去后重新安装对应显卡驱动或者先卸载专有驱动、恢复用开源驱动进系统后再重新安装。卡在GRUB或直接进grub rescue绝大多数是引导问题按4.3节用boot-repair修复就行。如果你修复后还能看到error: no such partition建议手动检查分区表中的UUID是否和GRUB配置文件里的一致必要时手动编辑/boot/grub/grub.cfg或者/etc/default/grub重新生成引导配置。5.4 一些容易忽略的细节和独家小技巧备份时给镜像目录起个纯英文、不含空格的名字比如sda-ubuntu-20250120。中文目录名虽然Clonezilla界面支持但在某些挂载场景下可能编码异常能规避就规避。如果你用的是SSD做系统盘备份前先对SSD执行一次TRIMsudo fstrim -v /这会让未使用的块真正归零镜像体积能明显减小备份和恢复时间也跟着缩短。这是一个很实用但很多教程不会提到的点。备份完成后建议在外部存储盘里保留一份Clonezilla Live本身形成一个“启动盘 镜像盘”二合一。这样灾难发生时一个移动硬盘就能完成从启动到恢复的全流程不用到处找U盘、找镜像省去很多麻烦。最后一个我特别想强调的经验备份不是做一次就万事大吉。系统变化越频繁备份也要越频繁。我给自己的规则是重大环境变更比如装大型开发框架、升级内核、调整磁盘分区之后必做一次全盘备份平时每月至少备份一次。定个日历提醒花十来分钟换一份安心绝对值得。如果你是从零开始做第一次全盘备份过程中遇到任何报错多拍几张屏幕照片记下出现问题的步骤无论是搜索引擎还是去社区提问都能更快定位问题。电脑这东西只要备份在天就塌不下来。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进