Timeshift 核心使用逻辑就是 升级前创建快照、异常时一键恢复。对于普通用户,只需掌握图形界面的创建与恢复操作;服务器用户建议搭配命令行和定时任务实现自动化备份。记住:为了安全任何系统升级、配置修改前,都可以先创建一次 Timeshift 快照,避免数据丢失和系统崩溃的风险。
一、Timeshift 原理:它怎么知道快照生成在哪里?
Timeshift 本身不会自动猜路径,它是靠配置文件 + 你选择的存储设备来定位快照的。
1. 核心配置文件
Timeshift 把所有设置存在这里:
/etc/timeshift/timeshift.json
里面记录了:
- 快照存储在哪个磁盘分区(UUID 标识)
- 使用 RSYNC 还是 Btrfs 模式
- 快照存放目录名(默认
timeshift/) - 排除哪些目录、保留多少个快照
2. 它识别分区的方式
Timeshift 不依赖 /dev/sda1 这种名字(容易变),而是用 分区 UUID 唯一识别硬盘分区。
所以:
- 你插 U 盘、换硬盘顺序,它都能找到快照位置
- 只要分区还在,Timeshift 就能自动加载快照列表
3. 快照实际存放结构
RSYNC 模式下,路径固定为:
/挂载点/timeshift/snapshots/年月日_时分秒/
例如:
/mnt/backup-disk/timeshift/snapshots/2026-05-12_10-22-00/
二、图形界面修改快照保存位置(最简单)
1. 打开 Timeshift
sudo timeshift-launcher
2. 进入设置
点击右上角齿轮图标 Settings
3. 切换到 Location 标签页
这里会列出所有可写分区:
- 系统盘
/ - 其他 Linux 分区
- NTFS 分区(RSYNC 支持)
- 外置 U 盘 / 移动硬盘
4. 选择新分区 → OK
Timeshift 会自动:
- 在该分区根目录创建
timeshift/文件夹 - 以后新快照全部保存到新位置
- 旧快照不会自动迁移,还在原来的盘里
注意:
- 不要选
/系统盘,系统炸了分区挂了就救不回来- 优先选 独立 ext4 分区 / 外置硬盘
三、命令行查看 / 修改保存位置
1. 查看当前快照位置
sudo timeshift --show-config
或直接看配置文件:
cat /etc/timeshift/timeshift.json
重点看这两项:
"backup_device_uuid" : "xxxx-xxxx-xxxx-xxxx",
"backup_device_path" : "/mnt/xxxx"
2. 命令行切换存储设备
先查看所有分区的 UUID:
lsblk -f
然后指定新的分区 UUID:
sudo timeshift --snapshot-device /dev/sdb1
或者直接用 UUID(更稳定):
sudo timeshift --snapshot-device-uuid 12345678-ABCD-1234-ABCD-1234567890AB
3. 查看当前快照列表
sudo timeshift --list
四、把旧快照迁移到新硬盘(完整搬家)
如果你想把已有快照一起移过去:
- 先在 Timeshift 里把新位置设置好
- 直接复制整个文件夹:
sudo cp -a /旧路径/timeshift/snapshots /新路径/timeshift/ - 重启 Timeshift 即可识别
五、重要注意事项(必看)
- Timeshift 只认分区,不认普通文件夹你不能指定
/home/user/backup,只能选整个分区 - NTFS /exFAT 可以存快照,但权限会丢失恢复系统可能出问题,推荐 ext4
- 移动硬盘必须先挂载再用Timeshift 会自动挂载,但断电 / 拔盘后快照会消失
- 一个分区可以存多个系统的快照互不干扰,Timeshift 会根据机器 ID 区分
六、总结
- Timeshift 通过 分区 UUID + 配置文件 定位快照
- 图形界面在
Settings → Location修改 - 命令行用
--snapshot-device指定分区 - 快照默认放在分区根目录的
timeshift/文件夹 - 最佳实践:快照存独立分区或外置硬盘,不要放系统盘