在 Ubuntu 上折腾显卡驱动、内核更新或大型软件源时,最怕的不是配置过程报错,而是重启后图形界面直接挂掉,只能进入命令行甚至启动失败。修复这类问题通常比重新安装更耗时,而 Timeshift 正好提供了一种类似系统还原点的机制。它可以在系统还正常时创建快照,出问题后从 Live USB 或恢复模式把根分区回滚到之前的状态,不需要重装,也不会覆盖 /home 下的个人文件。

Timeshift 本身并不是备份个人文档的工具,它的定位是系统级快照,默认只处理系统文件和已安装的软件包。如果你需要同时保护代码、照片等数据,可以另外搭配 Deja Dup、rsync 或云同步。理解这个边界很重要,否则容易误以为 Timeshift 已经备份了全部资料。
Timeshift 的两种工作模式与安装
Timeshift 支持 RSYNC 和 Btrfs 两种快照模式。RSYNC 模式使用 rsync 同步文件并借助硬链接实现增量备份,第一次快照会复制完整文件,后续快照只保存变化部分,多个快照之间共享未修改的文件,因此空间占用比想象中小。这种模式不要求特定文件系统,ext4、XFS 等常见格式都能使用,适合绝大多数 Ubuntu 用户。
Btrfs 模式则依赖 Btrfs 文件系统本身的子卷快照能力,必须把根分区格式化为 Btrfs,并且安装 Ubuntu 时使用 @ 和 @home 的子卷布局。它的优点是创建和恢复速度非常快,几乎秒级完成,但缺点是需要提前规划磁盘格式。对于一般从默认 ext4 安装的 Ubuntu,直接选择 RSYNC 模式即可。
安装前先确认软件源包含 universe 仓库。如果之前精简过源,可以执行 sudo add-apt-repository universe 补上。安装命令如下:
sudo apt update sudo apt install timeshift
安装完成后可以从应用菜单启动,也可以在终端执行 sudo timeshift-launcher 打开图形界面。第一次运行会弹出设置向导,让用户选择快照类型、备份位置和自动备份计划。
创建第一个快照与配置排除项
创建快照之前,建议先规划备份位置。如果系统盘空间紧张,可以把快照保存到外接硬盘或单独的 ext4 分区。不要使用 NTFS 或 FAT32 分区存放快照,因为它们对 Linux 权限、符号链接和硬链接的支持不完整,可能导致恢复后文件权限异常。备份位置的分区要有足够空间,首次完整快照通常需要 5 到 10 GB,后续增量会小很多。
在图形界面中点击创建按钮即可手动生成快照,也可以添加备注和标签。命令行创建同样方便,适合脚本化操作:
sudo timeshift --create --comments "before kernel update" --tags D
--tags 参数可以指定 D、W、H、M、O 等标签,分别表示日、周、小时、月、手动,方便后续识别和保留策略。执行完成后用 sudo timeshift --list 可以查看已有快照及其时间。
为了控制空间占用,用户主目录默认不在快照范围内,但主目录下的隐藏配置文件有时也需要保护,例如 .config、.ssh 和 .bashrc。可以在设置中把用户隐藏文件加入备份范围。反过来,一些大目录应该排除,比如 /home/用户名/.cache、/var/lib/docker、/tmp 和虚拟机磁盘目录。排除这些路径能显著减少快照体积和创建时间。
从 Live USB 恢复系统的完整流程
直接在正在运行的 Ubuntu 里恢复快照风险很高。恢复操作需要卸载并覆写根分区,而当前系统正在使用根分区,文件不断变化,容易出现快照恢复一半系统崩溃的尴尬局面。正确做法是准备一个 Ubuntu Live USB,从 U 盘启动进入试用环境,再执行恢复。
进入 Live USB 后,先挂载存放快照的分区。如果放在外接硬盘,通常插入后文件管理器会自动挂载;如果没有,可以手动挂载到 /mnt,例如:
sudo mount /dev/sdb1 /mnt sudo timeshift --restore --snapshot-device /dev/sdb1
其中 /dev/sdb1 需要根据实际分区调整。如果快照保存在系统盘但根分区需要恢复,也可以先挂载系统盘到 /mnt,再用相同方式指定备份设备。恢复向导会扫描指定设备上的快照,选择要回滚的时间点即可。
如果需要非交互式恢复,可以指定快照名称和跳过 GRUB 更新:
sudo timeshift --restore --snapshot "YYYY-MM-DD_HH-MM-SS" --skip-grub --verbose
恢复完成后不要急着拔 U 盘,先重启进入系统确认一切正常。如果仍出现引导菜单缺失,很可能是 EFI 分区没有被 Timeshift 覆盖,这时需要进入 Live USB 使用 boot-repair 或手动重装 GRUB。这种情况多发生在更换硬盘或全盘重分区后,普通系统回滚一般不会遇到。
自动备份计划与空间管理
手动快照适合在重大操作前创建,但长期维护还需要自动计划。Timeshift 本身支持按小时、每天、每周、每月等策略自动创建快照,也可以在配置里设置保留数量,例如保留 5 个日快照、3 个周快照。这样可以避免快照无限堆积吃掉磁盘空间。
如果希望更灵活,可以用 cron 自己安排任务。编辑 root 用户的 crontab:
sudo crontab -e
添加一行,让系统每天凌晨 3 点自动创建日快照:
0 3 * * * /usr/bin/timeshift --create --tags D --scripted
--scripted 参数会让 Timeshift 跳过确认对话框,适合无人值守执行。执行后可以在 /var/log/timeshift 目录查看日志,确认是否成功。如果遇到备份中断,先检查备份分区剩余空间是否充足,再查看是否因为某个目录变化过大导致超时。
定期查看快照列表并清理过期快照也很重要。可以使用 sudo timeshift --list 查看,再通过图形界面删除不需要的快照。命令行删除支持 sudo timeshift --delete --snapshot "快照名称",但一定要确认快照名称无误,避免误删唯一可用版本。当系统已经稳定运行一段时间后,可以只保留最近几个快照,把空间让给其他数据。
总体来看,Timeshift 的价值不在于备份了多少文件,而在于它降低了系统变更的试错成本。每次升级内核、安装闭源驱动、切换桌面环境或修改系统服务前,花一两分钟创建一个快照,就能在出现问题时快速回退。与其等到系统崩溃后到处搜解决方案,不如提前把还原点准备好。
TimeshiftUbuntu系统备份快照恢复修改时间:2026-10-03 13:35:59