安装完毕Fedora40操作系统后,如果需要以后备份或者还原,需要进行如下步骤的设置:
1、下载timeshift-22.11.2-3.fc40.x86_64.rpm文件,点击转到 文件下载地址 ,下载指定版本为了防止以后timeshift升级后版本无法兼容。
2、安装本地的timeshift包
sudo dnf install timeshift-22.11.2-3.fc40.x86_64.rpm
3、打开timeshift,进行备份设置
此处作为第一次备份系统,建议把根目录下所有的目录都选择上。
备份文件建议放在外置U盘上保存。
特别说明:
此时的纯净Fedora40系统 + Timeshift安装文件做为初次备份文件,需要着重备份保存。
因为不管是使用Timeshift或者是再生龙备份的系统,如果在系统完全崩溃,无法进入操作系统的情况下,借助Live CD还原的系统,会破坏系统的Gurd引导文件,造成系统永远无法恢复。
此时需要先还原初次备份文件,然后进入本地的Fedora40系统,再使用Timeshift恢复镜像,否则会造成Timeshift的快照永远无法还原。
下边按步骤是 制作 初次备份文件
4、导出系统分区表和lsblk记录,备份到外置U盘
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 465.8G 0 disk
├─sda1 8:1 0 1G 0 part /boot/efi
├─sda2 8:2 0 10G 0 part /boot
├─sda3 8:3 0 142.8G 0 part /
├─sda4 8:4 0 80G 0 part /var
├─sda5 8:5 0 50G 0 part /data1
├─sda6 8:6 0 50G 0 part /data2
├─sda7 8:7 0 50G 0 part /data3
├─sda8 8:8 0 50G 0 part /home
└─sda9 8:9 0 32G 0 part [SWAP]
导出分区表
sudo sfdisk --dump /dev/sda > sda_partition_table.dump
把lsblk运行结果和分区表,保存到外置U盘
5、通过Live CD盘进入系统,使用rsync备份初次备份文件,初次备份文件可保证系统无法登陆后的恢复
进入系统后首先挂载分区,我安装Fedora40系统时分区较多,需要全部挂载。
//挂载分区,顺序不可错
sudo mkdir /mnt/fedora
sudo mount /dev/sda3 /mnt/fedora
sudo mount /dev/sda2 /mnt/fedora/boot
sudo mount /dev/sda1 /mnt/fedora/boot/efi
sudo mount /dev/sda4 /mnt/fedora/var
sudo mount /dev/sda5 /mnt/fedora/data1
sudo mount /dev/sda6 /mnt/fedora/data2
sudo mount /dev/sda7 /mnt/fedora/data3
sudo mount /dev/sda8 /mnt/fedora/home
在外部移动盘中创建fedora文件备份文件夹,假设外部U盘设备路径为/live/001-002/
sudo mkdir /live/001-002/fedora
复制整个系统数据
sudo rsync -aHAX /mnt/fedora/ /live/001-002/fedora/
备份数据不可通过sudo cp 方式复制进行,会造成数据权限会丢失
还有一种方式使用tar打包,尚未测试
sudo tar -czpvf /live/001-002/backup.tar.gz /mnt/fedora/
制作完成初次备份文件,永远放在U盘备用,万一系统崩溃无法进入时,或者在新电脑安装Fedora40系统时使用。
日常的备份可使用Timeshift进行界面化的操作进行,只要能进入系统,使用Timeshift备份的快照更方便恢复,Timeshift的备份文件,建议也放到外置U盘存储。
后边的恢复操作,仅限于系统崩溃,或者在另外一台新电脑复制操作系统使用。
6、恢复数据
如果可以登录系统,就可以使用Timeshift历次快照进行恢复,如果系统崩溃无法登录,可使用Live CD进入系统,重新挂载分区,如下操作:
//挂载分区,顺序不可错
sudo mkdir /mnt/fedora
sudo mount /dev/sda3 /mnt/fedora
//先创建文件夹在挂载
sudo mkdir /mnt/fedora/boot
sudo mount /dev/sda2 /mnt/fedora/boot
sudo mount /dev/sda1 /mnt/fedora/boot/efi
//先创建文件夹在挂载
sudo mkdir /mnt/fedora/var
sudo mount /dev/sda4 /mnt/fedora/var
//先创建文件夹在挂载
sudo mkdir /mnt/fedora/data1
sudo mount /dev/sda5 /mnt/fedora/data1
//先创建文件夹在挂载
sudo mkdir /mnt/fedora/data2
sudo mount /dev/sda6 /mnt/fedora/data2
//先创建文件夹在挂载
sudo mkdir /mnt/fedora/data3
sudo mount /dev/sda7 /mnt/fedora/data3
//先创建文件夹在挂载
sudo mkdir /mnt/fedora/home
sudo mount /dev/sda8 /mnt/fedora/home
然后挂载 初次备份文件的U盘,使用如下命令恢复整个系统到初始状态。
sudo rsync -aHAX /live/001-002/fedora/ /mnt/fedora/
运行命令如果有文字警告,请重新运行一遍。
系统恢复到初始状态后,重新启动本地系统,应该可以登录。
登录系统后,挂载日常TimeShift的外部设置备份,使用Timeshift恢复历史快照,此时还原Timeshift快照备份,在恢复时候,可自动对应每个分区,但是如果没有初次备份文件,手工选择对应分区的话,及时修补Gurb2引导区文件,也不会正常还原系统。
特别说明:在本地磁盘系统运行timeshift恢复快照时,还原界面的分区必须是系统自动对应的,手工选择对应还原无效。
下边是一些常用操作
一、格式化外部移动U盘
当使用一块U盘存储备份文件时,假如U盘有好几个区,现在需要对这个U盘进行格式化,可以使用如下命令:
sdX 需要根据lsblk命令查看 X的字母,sdX可为sda,sdb,sdc...
#进入U盘分区,格式化会清除U盘所有数据和分区表
sudo parted /dev/sdX
进入`parted` 交互界面
(parted) mklabel gpt
设置卷标名称为 uname
(parted) mkpart uname 0% 100%
退出parted
quit
格式化磁盘文件系统
# sudo mkfs.ext4 /dev/sdX1
二、面对一台新的电脑,需要把当前已经安装很多软件的Fedora40操作系统,完全复制整个系统过去,需要进行如下步骤。
首先保证新电脑磁盘和旧电脑磁盘容量相同、新电脑磁盘上的分区表,必须和待导入的旧系统分区表完全一致。
然后使用上边第五步制作的初次备份文件,使用rsync命令,复制到到新电脑磁盘,此时新电脑上有一个兼容旧电脑Timeshift的版本,后边可借助旧电脑上Timeshift创建的快照数据,恢复已经安装的软件到新电脑上。
- 根据上边第四步中导出的分区表和lsblk命令结果,在新电脑上创建和旧系统一样的磁盘分区:
使用live cd 登录新电脑,然后挂载新电脑本地硬盘。
sudo parted /dev/sda
先格式化新电脑的磁盘,此操作会清除磁盘数据和分区表
(parted) mklabel gpt
硬盘重新进行分区,分区数字大小参考旧电脑分区
(parted) mkpart "EFI System Partition" fat32 2048s 2099199s
(parted) set 1 boot on
(parted) mkpart "/boot" 2099200s 23070699s
(parted) mkpart "/" 23070720s 322459647s
(parted) mkpart "/var" 322459648s 490231807s
(parted) mkpart "/data1" 490231808s 595089407s
(parted) mkpart "/data2" 595089408s 699947007s
(parted) mkpart "/data3" 699947008s 804804607s
(parted) mkpart "/home" 804804608s 909662207s
(parted) mkpart "SWAP" 909662208s 976773134s '
(parted) set 9 swap on (parted) quit
格式化每个分区
#格式化引导区
sudo mkfs.vfat -F32 /dev/sda1
#格式化其他分区
sudo mkfs.ext4 /dev/sda2
sudo mkfs.ext4 /dev/sda3
sudo mkfs.ext4 /dev/sda4
sudo mkfs.ext4 /dev/sda5
sudo mkfs.ext4 /dev/sda6
sudo mkfs.ext4 /dev/sda7
sudo mkfs.ext4 /dev/sda8
sudo mkswap /dev/sda9
sudo swapon /dev/sda9
给分区加上卷标,方便辨别
sudo e2label /dev/sda4 var
sudo e2label /dev/sda5 data1
sudo e2label /dev/sda6 data2
sudo e2label /dev/sda7 data3
sudo e2label /dev/sda8 home
重新使用live cd启动系统,开始复制旧系统的全部文件
创建文件夹,并且挂载分区
sudo mkdir /mnt/fedora
sudo mount /dev/sda3 /mnt/fedora
sudo mkdir /mnt/fedora/boot
sudo mount /dev/sda2 /mnt/fedora/boot
sudo mkdir /mnt/fedora/boot/efi
sudo mount /dev/sda1 /mnt/fedora/boot/efi
创建其他几个分区
sudo mkdir /mnt/fedora/var
sudo mkdir /mnt/fedora/home
sudo mkdir /mnt/fedora/data1
sudo mkdir /mnt/fedora/data2
sudo mkdir /mnt/fedora/data3
然后挂载
sudo mount /dev/sda4 /mnt/fedora/var
sudo mount /dev/sda5 /mnt/fedora/data1
sudo mount /dev/sda6 /mnt/fedora/data2
sudo mount /dev/sda7 /mnt/fedora/data3
sudo mount /dev/sda8
/mnt/fedora/home
分区挂载完毕后,内部是空的,没有文件
现在连接上存储 初次备份文件的外部移动设备,初次备份文件是rsync备份的系统初次文件。
在live cd系统中,使用如下命令: sudo rsync -aHAX /u盘数据路径/fedora/ /mnt/fedora/
第一次运行可能有一些异常提示,第二次重复运行异常消失。 把备份文件全部恢复到硬盘的各个分区内, 然后重启系统。
此时系统从硬盘启动,如果可以正常进入本地Fedora操作系统,就可以加载Timeshift的备份快照进行恢复了。
如果此时没有正常进入fedora系统,而进入了GRUB 黑色界面,通常是因为GRUB引导加载器没有被正确配置或安装到新的系统中。
在Linux系统中,GRUB是负责启动操作系统的引导加载器,如果它没有正确指向您所恢复的Fedora系统的内核和initramfs,就会出现无法启动的情况。
如何修复GRUB,请看这篇文章:Fedora40重新安装GRUB和生成GRUB配置文件