Ubuntu系统如何备份还原?Ubuntu系统备份还原教程( 二 )


卸载分区(按照其他分区(home var usr之类)——efi分区——boot分区——根文件系统的顺序来卸载,每个人的情况都不太一样)
umount /mnt/home
umount /mnt/boot/efi
mount /mnt
最后卸载数据盘,就是保存镜像文件的那个 。
大功告成 。
重启之前还是建议再sync一下,养成好习惯(毕竟Linux有延迟写入功能) 。
二、还原
先说一下,你在Windows下还原系统,大部分情况下直接还原然后重启就OK了,但是在Linux下,你还原之后还需要处理一下系统,不然会无法启动 。
获得root权限(sudo -s),查看分区状况 。(如果您已熟知可以不用)

Ubuntu系统如何备份还原?Ubuntu系统备份还原教程

文章插图
分区状况sda1是efi,sda2是根,sda3是home,sda4是数据盘 。
1、格式化
第二步和备份不一样,现在不需要挂载 。
因为我根分区和home都是ext4分区,所以我输入
mkfs.ext4 /dev/sda2
mkfs.ext4 /dev/sda3
先格式化,如果你想保留home的内容可以选择不格式化 。如果你有var usr之类请也格式化 。
(如果你采用了其他格式格式化分区,请使用别的命令,比如xfs是mkfs.xfs)
数据盘别格式化,不然就23333了 。
Ubuntu系统如何备份还原?Ubuntu系统备份还原教程

文章插图
2、建立临时目录
mkdir /recovery(命名可以随意,只要你后面能对的上)
3、挂载数据盘
挂载方式请参考上文 。
同样记住它的编号 。
4、挂载镜像文件
mount -o loop /media/ubuntu/1cbd9938-ef7a-42ff-a788-213c30db4f02/backup.sfs /recovery
挂载镜像并创建必要文件夹 。
挂载根分区 mount /dev/sda2 /mnt
根据需要建立文件夹:
mkdir /mnt/boot
mkdir /mnt/boot/efi
mkdir /mnt/home
5、修改权限
Ubuntu系统如何备份还原?Ubuntu系统备份还原教程

文章插图

Ubuntu系统如何备份还原?Ubuntu系统备份还原教程

文章插图
确保所创建的文件夹权限是这样 。
6、复制文件
cp -a /recovery/* /mnt
复制好之后输入umount /recovery,这是为了卸载squashfs镜像 。
有人会问为什么不用unsquashfs,这是因为unsquashfs解压之后会把文件解压到squashfs-root文件夹 。
挂载虚拟文件系统,这是为了后面修复引导做准备 。
mount --o bind /dev /mnt/dev
mount --o bind /proc /mnt/proc
mount --o bind /sys /mnt/sys
mount --o bind /run /mnt/run(这一步可以省略)
chroot进入已经还原的操作系统 。
chroot /mnt
7、查看当前UUID
由于我们格式化了分区,所以UUID发生了变化,若不修改,系统将无法正常挂载分区,导致启动异常 。故我们需要修改本机系统的UUID设置 。
当前终端不要关闭,新建一个终端,输入blkid 。
Ubuntu系统如何备份还原?Ubuntu系统备份还原教程

文章插图
上面已经说过,sda1是efi,sda2是根分区,sd3是home 。
记下他们的UUID 。如果您分了别的分区比如boot var usr,也需要记下,等会要用 。
8、修改本机UUID设置
返回原来的终端(已经chroot /mnt的那个),输入nano /etc/fstab 。
如果nano没有安装,那么请输入vi /etc/fstab 。
如果您用的是vi,那么需要按i进入编辑模式 。
Ubuntu系统如何备份还原?Ubuntu系统备份还原教程

文章插图
修改UUID(最新UUID在另一个窗口有) 。我这里需要修改/和/home的,你的状况可能会和我不一样,如果您只分了根分区,那么只需要修改根分区的UUID就行 。如果分了var usr之类,这些也要更改 。

推荐阅读