我很好奇 Timeshift 恢复将如何与我的系统配置(包括 UEFI 和 BTRFS 格式的系统分区)配合使用。
首先,这是有关我的系统如何组织的一些信息:
OS: Mint 20.3
Kernel: 5.4.0-149-generic x86_64
Disk info:
GPT with UEFI
Partitions:
/sda1: EFI system partition formatted with FAT32 mounted at /boot/efi
/sda2: swap
/sda3: System partition formatted with BTRFS with two subvolumes: @ mounted at / and @home mounted at /home
*Note* Since BTRFS was not the default configuration, I read a guide about how to install Mint 20 with BTRFS and UEFI. I can't remember where I found the guide, unfortunately, so I can't link it here. The partitioning scheme above was the recommended layout.
Bootloader: Grub2
Timeshift: configured to run with BTRFS; @home is excluded from the snapshots
我在虚拟机上安装了 Mint 来测试一些东西,包括 Timeshift。我运行 Mint 20.3 并在我的日常驱动程序上使用 Timeshift,并且我一直想测试不同的恢复场景,以防我需要它们。我一直在使用各种发行版,包括 Arch,所以我对 Linux 和系统管理相当熟悉。我这么说并不是为了弯曲或其他任何东西;只想说,搞点技术还是可以的。
我的问题是,鉴于我的上述配置,Timeshift 恢复将如何工作?根据我对 BTRFS 的理解,由于我的 EFI 系统分区位于单独的分区上,因此它不会包含在快照中。这似乎是一个问题,因为 ESP 不会恢复。如果我在内核更新后甚至在就地操作系统升级后恢复快照,ESP 无法恢复的事实似乎将是一个大问题。
我在网上各个地方看到的大多数文档和用例似乎都假设系统正在运行 BIOS,或者所有内容(包括所有引导文件)都位于同一分区上。但是,我在其 Github 页面上的 Timeshift ReadMe 中看到它说支持 UEFI 系统。当我在论坛和互联网上搜索时,我还看到 Timeshift 有一些恢复 GRUB 的选项。我无法找到有关使用 BTRFS 和 UEFI 的分区方案以及如何设置 Timeshift 以便恢复快照“正常工作”的任何建议。
到目前为止,作为测试,我做了以下工作:
- 我确保我有一个 Timeshift 快照,然后我进行了完整的系统更新,其中包括内核更新。
- 然后,作为测试,我修改了 /boot/efi/EFI/ubuntu/BOOTX64.CSV 的文本(我之前在测试其他东西时做过类似的事情,所以我知道它不会弄乱 Grub)。
- 我想对我所知道的 ESP 进行修改,以便我可以判断 Timeshift 是否恢复了任何内容。
- 我重新启动了机器以验证启动过程是否有效,并且可以使用新的内核。机器恢复正常,没有任何问题。
- 我确保 ESP 已安装在 /boot/efi,然后恢复了在完整系统更新并重新启动之前拍摄的快照。
- 机器恢复正常,没有任何问题。
- 我检查了 /boot/efi/EFI/ubuntu/BOOTX64.CSV 中的文件,我的修改仍然存在。
- 我再次确保 ESP 已安装在 /boot/efi 上,并恢复了恢复之前拍摄的自动快照,重新启动并检查了文件,没有任何变化。
- 请注意,我从未在 Timeshift 中看到任何关于恢复位置或引导加载程序选项的对话框,例如用户这个帖子锯。
根据我对 BTRFS 和快照工作方式的理解,我所看到的(以及上面描述的)是预期的行为。似乎其他人正在使用具有类似配置的 Timeshift,但似乎没有人在恢复方面遇到任何问题。他们的配置是否不同或者他们没有测试恢复?或者也许我的 ESP 没有被 Timeshift 恢复并不是什么大问题?或者,我是否应该在 Timeshift 恢复后重新安装 Grub 以确保 Grub 和 ESP 设置正确?