简介Clonezilla Live 2.7.0-10 AMD64 镜像是一套基于 Linux 的开源系统克隆与灾难恢复工具俗称“再生龙”面向运维工程师、实验环境管理员及有批量部署需求的个人用户解决磁盘分区备份、整机迁移、系统还原和多系统引导等实际问题。该版本专为 x86_64 架构优化同时支持传统 BIOS 与 UEFI 启动兼容 ext2/ext3/ext4、FAT、NTFS 等主流文件系统可在服务器维护和个人电脑数据保护场景中稳定运行。压缩包共 566 个文件整体约 288 MB文件类型以 mod 模块、lst 配置列表、cfg 配置文件、efi 引导程序及 syslinux 组件为主另包含 vmlinuz 内核、squashfs 文件系统与 makeboot 制作脚本。包内目录覆盖 live 系统环境、EFI 启动、syslinux 引导、utils 辅助工具和 boot 引导文件等划分明确便于按需定制启动介质。目前已有 991 人学习。除核心克隆功能外资源还附带 Ghostscript 相关组件可处理 PostScript/PDF 文档让备份含特殊图形的磁盘映像时更稳定同时保留多种引导方式和实用工具有助于深入理解 Clonezilla 的启动流程与备份机制也能直接用于搭建无人值守的克隆恢复环境。1. clonezilla-live-2.7.0-10-amd64.zip这个东西到底是干嘛的如果你下载了一个叫clonezilla-live-2.7.0-10-amd64.zip的文件那你大概率正在寻找一个能救急的系统克隆工具。Clonezilla 是一个开源的分区/磁盘克隆软件相当于带图形菜单的 Ghost而 Live 版的意思是不需要装进系统解压后做成启动盘从 U 盘或光盘引导就能跑起来。这个 zip 就是官方发布的 64 位 Live 版压缩包版本号 2.7.0-10amd64 对应 Intel/AMD 的 64 位 CPU。它能帮你把整个 Windows、Linux 系统连同引导、分区表一起备份成镜像也能把镜像还原到另一块硬盘上还能批量复制系统给几十台机器。适合运维工程师、电脑维修人员以及任何不想重装系统的人。我用它处理过的机器少说也有上百台今天这篇就按拿到 zip 之后的完整操作路径来讲。2. 拿到 zip 之后解压结构、启动盘制作与第一印象2.1 解压后里面有什么几个关键文件的作用别急着把 zip 扔进 U 盘就完事先解压出来看一遍结构你才知道这个工具是怎么组织的。常见做法是在 Windows 下用解压工具解压到某个目录或者直接在 Linux 下用 unzipunzip clonezilla-live-2.7.0-10-amd64.zip -d clonezilla-live cd clonezilla-live ls -la你会看到类似这样的内容live/目录、utils/目录以及MakeBootable之类的脚本。live/里最关键的是vmlinuz和initrd.img这是 Linux 内核和初始内存盘没有它们系统根本起不来。filesystem.squashfs是压缩的根文件系统镜像Clonezilla 的实际工具都在里面。另外还有boot/目录存放 GRUB 引导配置以及EFI/目录用于 UEFI 启动。这个 zip 跟普通 Linux 发行版镜像的结构很像所以你完全可以用处理 Ubuntu ISO 的方式把它写入 U 盘。2.2 用 dd 命令做启动 U 盘最简单可靠的方法在 Linux 下我从来不用图形化工具直接dd干净利落。注意dd会彻底抹掉 U 盘上所有数据执行前确认设备号别把磁盘写废了。先插上 U 盘用lsblk查看sudo lsblk -o NAME,SIZE,MODEL,TRAN假设 U 盘是/dev/sdb然后把 zip 里的整个内容做成本地镜像不dd直接写 zip 是不行的因为 zip 不是可引导的镜像格式。正确做法是先解压然后使用makebootable脚本或者干脆用dd把里面的 live 目录像写普通镜像一样实际上Clonezilla Live 的 zip 解压后你需要在 Windows 上用 Rufus 选择“DD 镜像模式”或“ISO 镜像模式”这里有一个关键点Clonezilla Live 官方提供的 zip 包主要用于将文件解压到分区然后用引导器引导。但更简单的方式是下载官方提供的 ISO 文件而不是这个 zip。可是你手里只有 zip怎么办我一般这样处理把 zip 解压到 U 盘的 FAT32 分区根目录然后在 U 盘上安装 GRUB 引导器。这一步有点繁琐不如直接下载对应的 ISO 用 Rufus 写。但既然标题是 zip我们就讲 zip 的官方用法解压后进入解压目录运行sh MakeBootable会提示你选择设备然后它会自动在 U 盘上安装引导器。具体命令cd clonezilla-live sudo sh MakeBootable这个脚本会交互式地问你“Which device do you want to install the boot loader to?”你输入/dev/sdb它就会把 GRUB 写到 U 盘并把解压出的文件保留在 U 盘上。脚本还会检测 UEFI 并相应处理。这种方式的好处是U 盘上既有文件又能引导缺点是很多新手在设备选择时容易选错把硬盘写了。所以我更推荐另一种用dd把官方 ISO 写入 U 盘但你手里只有 zip那可以先解压再用 GRUB 手动引导。这里给你一个稳妥的命令行方案用grub-install手动安装引导器到 U 盘。2.3 用 Rufus 等工具做启动盘的注意事项Windows 用户通常用 Rufus。但注意Rufus 默认按“ISO 镜像模式”写入而 zip 解压后的目录并非 ISO直接把 zip 拖进 Rufus 会失败。Rufus 支持解压后的方式实际上 Rufus 可以直接加载 zip我印象中 Rufus 不能写 zip只能写 ISO 或 IMG。因此如果你只有 zip最省事的方法是在 Windows 下先解压到 U 盘FAT32 格式然后用一个叫Grub2Win的小工具或者更简单把解压出来的live/目录用 Easy2Boot 之类的工具。但我不推荐引入多余软件。我的习惯做法是在 Linux 下用dd写入官方 ISO而不是折腾这个 zip。然而如果你必须用这个 zip那就用sh MakeBootable它是最官方、最不容易出错的。注意U 盘分区表要选 MBR不要选 GPT除非你是纯 UEFI。FAT32 单文件最大 4GB而filesystem.squashfs通常只有几百 MB所以不用担心里面文件太大。2.4 从光盘/VMware 引导验证镜像做完 U 盘先别急着真机测试我每次都会在虚拟机里先跑一遍确认这个镜像能启动、能识别磁盘。用 VMware 或 VirtualBox新建虚拟机时把 U 盘作为启动盘虚拟机无法直接引导物理 U 盘但可以通过创建原始磁盘映射。比较麻烦。更简单的是解压文件用qemu-system-x86_64直接以内核引导qemu-system-x86_64 -m 4G \ -kernel vmlinuz \ -initrd initrd.img \ -append root/dev/ram0 bootlive unionoverlay usernameuser hostnameclonezilla noswap eddon nomodeset ocs_lang \ -hda /dev/sdb注意这里-hda /dev/sdb直接把整个物理 U 盘裸设备给虚拟机有风险我建议先把 U 盘做成一个 img用dd生成镜像再给 qemu否则虚拟机里的操作可能会写坏 U 盘。验证的目的只是确认引导链完整所以用只读方式跑一下即可。3. 用 Clonezilla 做系统备份与还原命令和参数怎么选3.1 启动后的界面流程device-image 还是 device-device启动后你会进入一个蓝色界面首先要选语言、键盘布局然后出现核心选项device-image把分区/磁盘备份成镜像文件存到别的地方如 U 盘、硬盘、NFS 服务器。device-device直接从一个磁盘/分区克隆到另一个磁盘/分区不生成中间镜像。我大多数情况用device-image因为可以留存镜像用于历史备份、批量部署。device-device适合两块盘在同一台机器上对拷速度快不用额外存储。新手默认选device-image就好。接着会让你选源/目标介质。如果是备份到外部 U 盘它要求 U 盘格式是 Linux 可读的ext3/4、XFS、NTFS、FAT32 都行但注意 FAT32 单文件 4GB 限制备份大型分区时会自动分卷。然后选择“Beginner 模式”还是“Expert 模式”。Beginner 隐藏了很多高级参数对于第一次备份我建议先 Beginner 跑通之后再用 Expert 深入。3.2 备份整个分区savedisk 与 saveparts 的使用与参数在菜单里选savedisk是备份整个磁盘包括分区表、所有分区选saveparts是只备份指定的单个分区。底层命令类似ocs-sr -q2 -c -j2 -z1p -i 2000 -p saveparts sda1 sdb1这里拆解一下参数-q2使用低优先级? 不对-q是自动清除我记混了。实际上ocs-sr的常用参数是-z1p压缩率。-z0无压缩-z1压缩快-z1p即并行压缩-z2压缩率高但慢-p表示并行。-c校验和checksum备份后做完整性校验。-j2同时使用 2 个 CPU 核心做压缩。-i 2000提醒间隔每 2000 秒刷新一次。-p savedisk指定操作。实际绘图模式下你不需要手敲这些命令但我建议知道因为无人值守时就必须自己写了。在交互菜单里它会在最后显示一行你要执行的命令你可以选择“Yes”执行或者“No”去改参数。3.3 还原分区restoredisk 与 restoreparts还原时选restoredisk或restoreparts。例如把镜像恢复到/dev/sdaocs-sr -q2 -c -j2 -p restoredisk 镜像名 sda它会把镜像文件里的整张盘结构写回到目标磁盘。注意目标磁盘大小不能小于镜像里分区表要求的总大小否则报错“Target disk is too small”。还原时它会警告目标数据将全部丢失确认后执行。restoreparts则对应单个分区。3.4 高级参数压缩方式、加密、分割、校验在 Expert 模式下你可以看到很多选项压缩-z1p快速并行压缩-z2p高压缩率但慢。如果你不是特别在意存储空间我推荐-z1p速度快镜像体积也只比原始数据小一些。加密用-e参数开启 GPG 加密备份时让你输入密码。注意密码忘了镜像就打不开我见过不止一次因此慎用。分割-s指定分卷大小例如-s 4000按 4000MB 分割兼容 FAT32 限制。校验-c做校验和耗时大约增加 20%但对于关键数据我认为值得。忽略损坏扇区-i指定重试次数-R可以跳过读错误继续备份坏道磁盘适用即将报废的盘。这些参数单独用没意思组合起来才有效。例如我要备份一块 1TB 的 Linux 系统盘到 NTFS 移动硬盘sudo ocs-sr -z1p -c -j2 -s 4000 -i 0 -p savedisk system_backup sda这样会生成多个 4000MB 的镜像分卷移动硬盘上只要空间够就能放下。4. 批量部署与自动化用参数跳过交互4.1 完全无人值守的克隆命令构造运维同学最烦的就是人工点菜单。Clonezilla 提供了-batch模式和完整的命令行参数你可以在启动时通过内核参数直接指定操作实现开机自动备份或还原。一个典型场景新到 30 台机器硬件一样你想用母盘备份好的镜像给它们全部还原。先在母盘上做一次savedisk然后把镜像放到 U 盘或服务器上。之后每台待部署机器插上 U 盘启动让它自动执行还原。在 Clonezilla Live 启动菜单按 Tab 编辑启动参数加上ocs_prerunmount /dev/sdb1 /home/partimag ocs_live_runocs-sr -batch -p restoredisk my_image sda但直接在 GRUB 菜单里写很乱我更常用的是借助 Clonezilla 的ocs-iso工具生成自动化 ISO或者用 PXE 启动。如果你只是临时几台可以手动启动后选择cmd进入命令行再输入sudo -s mount /dev/sdb1 /home/partimag ocs-sr -batch -p restoredisk my_image sda-batch参数让它不再询问任何确认直接干。注意-batch配合-p restoredisk时目标盘会被直接抹掉所以必须是确认无误的机器才能这么玩。4.2 加入自定义脚本实现主机名/网络配置调整还原之后每台机器的主机名、IP 相同这在域环境里会冲突。我一般会在镜像里预先做一个firstboot脚本放在/usr/local/bin用 systemd 在第一次启动时跑一次根据机器序列号或 MAC 地址设置主机名并固定 IP。例如在 Linux 镜像里写一个脚本#!/bin/bash # /usr/local/bin/firstboot.sh newhostpc-$(ip link show eth0 | awk -F : {print $2} | tr -d | tail -c 3) hostnamectl set-hostname $newhost systemctl disable firstboot.service然后在 Clonezilla 的ocs_prerun或ocs_postrun里处理实际上这个脚本最好在还原后第一次启动时执行而不是在 Clonezilla 环境里。你可以在镜像中预先设置好服务这样每次克隆完新机器首次开机自动改名。这是批量部署里常见做法。4.3 多播克隆DRBL的适用边界如果几十台机器同时装系统逐个 U 盘克隆太慢。Clonezilla Server 版支持多播也就是 DRBLDiskless Remote Boot in Linux环境一块硬盘的内容同时发送到多台机器。这个方案需要搭建一个 DRBL 服务器配置 TFTP、DHCP、NFS 等对网络环境要求高而且主机网卡必须支持 PXE 引导。我经验是除非你经常批量部署同型号机器否则不值得搭虚拟化环境下用模板克隆更省事。物理机批量部署时我用 USB HUB 同时插 8 个 U 盘再用ocs-sr并行克隆效率也够。DRBL 的坑在于交换机需要开启 IGMP Snooping很多普通交换机默认配置会导致多播失败排查起来很痛苦。5. Clonezilla 常见问题与避坑这些坑我都踩过5.1 启动 U 盘引导失败Secure Boot、UEFI 与 Legacy 模式现象U 盘插上后开机直接跳过没有进入 Clonezilla 引导界面。原因BIOS/UEFI 启动模式选错或者 Secure Boot 拦截了未签名内核。解决进入 BIOS 设置关闭 Secure Boot启动模式改为 Legacy或者 UEFI 兼容模式。测量模式试一遍。如果是用MakeBootable做的 U 盘请确保你在 UEFI 机器上选了 UEFI 引导项在传统 BIOS 机器上选了 USB-HDD。另外有些主板不要选 UEFI: USB 而是选 Legacy: USB。我碰到过某品牌主板必须把 CSM 打开才能引导。5.2 备份时提示“partition table may have been changed”现象执行savedisk时Clonezilla 报错目标磁盘分区表可能已变化拒绝继续。原因源磁盘在被读取时有程序如 Windows 快速启动或 Linux 的某守护进程偷偷写磁盘导致分区表不一致。解决Windows 环境下先关闭休眠和快速启动我在 Windows 中用powercfg -h off关闭休眠Linux 环境下先卸载相关分区或以只读方式挂载。Clonezilla 在备份前也会尝试重新读取分区表若仍报错选择“reboot”再试。血泪经验不要开着 VirtualBox 等虚拟化软件备份正在运行的虚拟机磁盘。5.3 还原后系统无法启动GRUB 问题与 boot 修复现象镜像还原完成但开机黑屏或者出现grub rescue。原因还原时目标盘的分区表、BCD 或 GRUB 没有正确写入或者你用了restoreparts只恢复了分区而没有恢复引导扇区。解决如果整盘备份用restoredisk一般不会出现这问题因为分区表和引导扇区都在镜像里。如果你是用saveparts单独备份那就必须手动修复引导Windows 可以启动 PE 运行bootrec /fixmbrLinux 可以使用grub-install /dev/sda。我的习惯是需要还原裸机时永远用savedisk/restoredisk而不是单分区。5.4 大硬盘备份后还原到小硬盘失败现象镜像是在 500GB 硬盘上做的还原到 250GB 硬盘提示目标盘空间不足。原因分区表里记录了 500GB 磁盘的总容量即使数据只有 80GBClonezilla 默认按原尺寸重建。解决在 Expert 模式下用-k参数让恢复的分区按目标盘比例缩放或者手动编辑分区表。但注意缩放可能影响文件系统引导最好让目标盘容量不小于源盘这才是最省心的。另一个办法是先用df -h看实际数据量重新规划分区大小。5.5 文件系统检查卡住强制校验关掉或调整现象备份或还原过程中在Checking filesystem阶段长时间卡住。原因Clonezilla 默认对源/目标文件系统做e2fsck检查坏道多的盘或者超大分区会非常慢。解决在 Expert 模式下设置-c参数不同时把-fsck相关选项设为跳过。比如使用--no-fsck实际上参数是-k相关我记不太清更直接的办法是编辑启动参数加入ocs_fsckno。我一般对数据盘做完整备份时保留检查对确认健康的系统盘则跳过效率提升一半以上。注意如果文件系统本身有损坏跳过检查后还原的系统可能存在隐患所以仅限你确认源盘无问题的情况。6. 进阶把 Clonezilla 接到自己的备份体系里6.1 本地备份到远程服务器NFS/SFTP 挂载交互界面里备份介质除了本机磁盘还可以选 remote serverNFS、SAMBA、SSH 等。以 SSH 为例只要远程开启了sshdClonezilla 会自动挂载远程目录到本地/home/partimag。如果你想手动操作可以先进入命令行mount -t nfs 192.168.1.10:/backup /home/partimag ocs-sr -z1p -c -p savedisk win10backup sda这样备份文件直接落在服务器上不怕本地 U 盘丢。注意 SSH 方式需要 You 输入远程密码自动化时需要配置 SSH 公钥。6.2 用 cron Clonezilla 定期备份非 Live 环境很多人不知道Clonezilla 的底层工具ocs-sr可以安装在正常的 Linux 系统上不必每次都启动 Live 环境。在 Debian/Ubuntu 上安装并不复杂但注意要安装支持你发行版的 clonezilla 包然后你可以写一个脚本#!/bin/bash # 每周日凌晨 2 点备份 /dev/sda 到 NFS mount 192.168.1.10:/backup /mnt/backup ocs-sr -q2 -c -j2 -z1p -p savedisk weekly_$(date %F) sda umount /mnt/backup配合 crontab0 2 * * 0 /usr/local/bin/clonezilla_backup.sh /var/log/clonezilla_backup.log 21需要注意实时备份系统盘时文件系统处于活跃状态备份出来的镜像可能不一致。所以这个方案适合备份分区挂载但数据变化不频繁的场景或者你在备份前先sync并暂停数据库服务。我一般更推荐用tar做文件级备份而clonezilla做灾难恢复的离线条带。6.3 结合 PXE 实现批量无人值守恢复对于机房维护最理想的是裸机开机网卡引导自动连接部署服务器完成系统还原。Clonezilla Live 支持通过 PXE 引导你只需要一台提供 TFTP 和 DHCP 的服务器把 Live 内核和 initrd 放上去再配置 pxelinux.cfg。一个简单的菜单项LABEL clonezilla MENU LABEL Clonezilla Restore KERNEL live/vmlinuz INITRD live/initrd.img APPEND root/dev/ram0 bootlive unionoverlay usernameuser hostnameclonezilla ocs_langen_US.UTF-8 ocs_live_runocs-sr -batch -p restoredisk auto_image sda ocs_prerunmount /dev/sdb1 /home/partimag这种方式把交互完全省掉硬件维护人员只需要记住网卡启动按键。但 PXE 的部署门槛在于 DHCP 和 TFTP 配置冲突我建议先在 VM 里用 dnsmasq 模拟整个流程跑通再上真机。说到底Clonezilla 这个工具的价值在于它把一个看起来很玄的系统备份过程变成了一套可重复、可脚本化的命令。我从最早用 Ghost 做封装镜像到后来用 Clonezilla 做分区级备份最大的体会是——越是不想踩坑越要在动手前把目标盘、介质、引导方式这三个点确认清楚。备份是后悔药但药方得提前写好。希望今天这篇能帮到正在对着这个 zip 发愁的你。本文还有配套的精品资源点击获取