首页服务器教程如何在Fedora40中设置Btrfs快照

如何在Fedora40中设置Btrfs快照

2024-10-14 36

Btrfs Assistant是一个图形化管理工具,使管理Btrfs文件系统变得更加简单。而Grub-Btrfs通过在GRUB引导加载程序中添加Btrfs快照子菜单,允许用户引导到不同的快照。本文将分享在Fedora Linux 40(工作站版)上成功运行Btrfs Assistant和Grub-Btrfs的经验。在此环境中,桌面使用的是GNOME 46.2版本,并且文件系统为Btrfs。

一、Btrfs Assistant简介

Btrfs Assistant是一个GUI管理工具,旨在简化Btrfs文件系统的管理操作。它提供了以下主要功能:

1、元数据概况:显示Btrfs文件系统的元数据概况,帮助用户了解文件系统的结构和使用情况。

2、子卷管理:提供简单的界面来展示子卷(subvolume),包括显示是否有使用Snapper或Timeshift创建的快照。

3、数据完整性检查和数据平衡:支持运行和监控Btrfs文件系统的Scrub(数据完整性检查)和Balance(数据平衡)操作。

4、子卷操作:提供方便的界面操作,可以轻松删除Btrfs文件系统中的子卷。

5、Snapper管理前端功能:

  • 查看、创建和删除快照;
  • 在不同发行版挂载的文件系统上恢复快照;
  • 从快照引导系统;
  • 从Live ISO恢复;
  • 查看、创建、编辑和删除Snapper配置;
  • 浏览快照并恢复单个文件;
  • 浏览文件在不同快照版本间的差异;
  • 管理Snapper的systemd单元。

6、Btrfs维护前端功能:

  • 管理systemd单元;
  • 轻松管理defrag(碎片整理)、balance(数据平衡)和scrub(数据完整性检查)设置的配置。

如何在Fedora40中设置Btrfs快照

二、Grub-Btrfs简介

Grub-Btrfs改进了GRUB引导加载程序,通过添加Btrfs快照子菜单,使用户能够引导到快照中。支持手动创建的快照,以及由Snapper、Timeshift和Yabsnap创建的快照。这在系统无法正常引导时显得十分重要。通过Grub-Btrfs,用户可以轻松选择并引导到之前的快照,从而在发生严重故障时快速恢复到稳定的系统状态。

Grub-Btrfs主要功能:

1、自动列出快照:自动列出存在于Btrfs根分区上的快照。

2、自动检测boot文件夹:自动检测/boot是否位于单独的分区中。

3、内核和initramfs检测:自动检测快照中/boot目录下的内核、initramfs和Intel/AMD微码。

4、菜单条目创建:自动在grub.cfg中创建相应的菜单条目。

5、快照信息自动检测:自动检测Snapper、Timeshift和Yabsnap快照的类型、标签、触发器、描述和注释。

6、配置文件生成:如果使用提供的Systemd/OpenRC服务,自动生成grub.cfg。

如何在Fedora40中设置Btrfs快照

三、建置Btrfs Assistant

1、安装Btrfs Assistant

要下载Btrfs Assistant,可以在Fedora的仓库中找到它,包名为”btrfs-assistant”。要安装,请运行以下命令:

sudo dnf install btrfs-assistant

完成安装后,可以在应用程序菜单中找到并启动Btrfs Assistant。

2、配置快照

打开Btrfs Assistant,在“快照设置”选项卡中,首先需要创建一个新的配置文件。为根目录创建快照,点击“新建配置”,然后按照显示的设置进行操作。

如何在Fedora40中设置Btrfs快照

完成后,点击“应用systemd更改”,然后选择“保存”。

如何在Fedora40中设置Btrfs快照

3、设置快照保留

在“快照设置”选项卡下,设置“快照保留”中的值。以下是推荐的配置:勾选“启用时间线快照”,系统会每小时自动为创建一个快照。

如何在Fedora40中设置Btrfs快照

4、Btrfs维护设置

在维护选项卡下,一些推荐的设置可以帮助更好地维护文件系统。在更改设置后,不要忘记点击“应用”。

如何在Fedora40中设置Btrfs快照

5、自动快照(选择性安装)

如果希望在每次运行”dnf”命令之前和之后自动创建快照,可以安装名为”python3-dnf-plugin-snapper”的软件包。运行以下命令进行安装:

sudo dnf install python3-dnf-plugin-snapper

例如当执行”sudo dnf update”命令后,系统将自动创建两个快照:类型为pre的快照是在执行之前创建的,而类型为post的快照则是在执行之后创建的。

如何在Fedora40中设置Btrfs快照

当执行”sudo dnf remove htop”命令时,系统同样将创建两个快照。

如何在Fedora40中设置Btrfs快照

四、建置Grub-Btrfs

1、克隆Grub-Btrfs项目

由于Grub-Btrfs不在Fedora的软件仓库中,我们需要从GitHub克隆该项目。请运行以下命令:

git clone https://github.com/Antynea/grub-btrfs.git

接下来,切换到克隆的目录:

cd grub-btrfs/

在这一部分,需要仔细检查并编辑多个配置项,确保所有更改都正确无误。

2、编辑配置文件

打开配置文件并进行以下修改:

(1)取消注释并修改以下行:

#GRUB_BTRFS_SNAPSHOT_KERNEL_PARAMETERS="rd.live.overlay.overlayfs=1"

修改为:

GRUB_BTRFS_SNAPSHOT_KERNEL_PARAMETERS="systemd.volatile=state"

(2)取消注释并修改以下行:

#GRUB_BTRFS_GRUB_DIRNAME="/boot/grub2"

修改为:

GRUB_BTRFS_GRUB_DIRNAME="/boot/grub2"

(3)取消注释并修改以下行:

#GRUB_BTRFS_MKCONFIG=/usr/bin/grub2-mkconfig

修改为:

GRUB_BTRFS_MKCONFIG=/sbin/grub2-mkconfig

(4)取消注释并修改以下行:

#GRUB_BTRFS_SCRIPT_CHECK=grub2-script-check

修改为:

GRUB_BTRFS_SCRIPT_CHECK=grub2-script-check

完成编辑后,按下 “Ctrl + O” 保存更改,然后按回车键,接着按 “Ctrl + X” 退出编辑器。

3、安装Grub-Btrfs

要安装Grub-Btrfs,请运行以下命令:

sudo make install

4、重新生成GRUB配置文件

为了将刚才所做的更改添加到”grub.cfg”文件中,请运行以下命令:

sudo grub-mkconfig -o /boot/grub2/grub.cfg

5、启动grub-btrfsd服务

“grub-btrfsd”是一个进程,它会监视快照目录,并在每次创建或删除快照时自动更新GRUB子菜单。要启动该进程,请运行以下命令:

sudo systemctl start grub-btrfsd

要在系统启动时自动激活此进程,请运行:

sudo systemctl enable --now grub-btrfsd

要查看”grub-btrfsd”进程的当前状态,请运行:

sudo systemctl status grub-btrfsd.service

如果显示 “Active: active (running)”,则表示进程已成功启动。

如何在Fedora40中设置Btrfs快照

如果显示 “Active: failed”,可能是因为未安装 “inotify-tools” 软件包。要安装该软件包,请运行:

sudo dnf install inotify-tools

然后重新启动 “grub-btrfsd” 进程:

sudo systemctl restart grub-btrfsd

再检查状态:

sudo systemctl status grub-btrfsd.service

6、重启系统

完成上述步骤后,可以重启系统。请运行以下命令:

sync; sync; sync; systemctl reboot

在GRUB菜单中,会发现一个名为“Fedora Linux snapshots”的新引导入口。

如何在Fedora40中设置Btrfs快照

按回车键进入后,所有的快照都会被显示出来,可以通过按回车键选择所需的快照。

如何在Fedora40中设置Btrfs快照

启动后,如果希望将系统恢复到所选的快照状态,可以在Btrfs Assistant的“Snapper”选项卡下的“浏览/恢复”选项中,使用鼠标点击所需的快照,然后点击“恢复”以将系统回滚到那个时间点的状态。请记得在此之后重新启动系统。

如何在Fedora40中设置Btrfs快照

五、解决TPM错误信息

在GRUB子菜单中选择快照时,如果遇到TPM错误,可能无法成功引导到快照。虽然在BIOS中禁用TPM 2.0可以解决此问题,但并不建议这样做。解决TPM错误的方法如下:

1、切换到超级用户模式:

sudo su

2、切换到 “/etc/grub.d/” 目录:

cd /etc/grub.d/

3、创建名为 “02_tpm” 的文件:

sudo nano 02_tpm

4、将以下代码复制并粘贴到该文件中:

#!/usr/bin/sh -e
echo "rmmod tpm"

5、按下 “Ctrl + O” 保存更改,然后按回车键,接着按 “Ctrl + X” 退出编辑器。

6、使 “02_tpm” 文件可执行:

sudo chmod +x /etc/grub.d/02_tpm

7、重新生成GRUB配置文件:

sudo grub2-mkconfig -o /etc/grub.cfg
  • 广告合作

  • QQ群号:707632017

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。
下一篇:

已经没有下一篇了!

相关文章