当前位置: U教授 电脑教程 Ubuntu系统如何备份还原?Ubuntu系统备份还原教程

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

时间:2023-12-03作者:bianji
Ubuntu系统如何备份还原?Ubuntu系统是一个以桌面应用为主的开源操作系统,专为开发团队而打造!无论你使用的是什么操作系统,都有可能出现电脑无法修复的故障,这时候备份还原功能就显得非常重要了。今天小编要给大家分享的是Ubuntu系统的备份还原教程,希望能帮助到大家!

 

      Ubuntu系统如何备份还原?

  一、备份

  很多人有备份系统的习惯,以防系统挂。Windows下可以用DISM创建一个系统镜像,在Ubuntu下,我们可以使用squashfs-tools创建系统镜像。

  1、准备工作

  可启动LiveCD一份,这个类似于你备份Windows需要WinRE/PE一样。

  一个Linux可以访问分区(相信大部分文件系统都可以),但不可以是系统所需要的分区,比如/ /home /var /usr /tmp,这就好比你不能将你的Windows系统镜像放在C盘一样。

  重新启动计算机,进入LiveCD,启动菜单选择试用Ubuntu(Try Ubuntu)。locale=zh_CN.UTF-8。

      按Ctrl+Alt+T打开终端。

      输入sudo -s获得root权限。

  输入fdisk -l查看当前分区状况。

 

      在这里,我的分区设定是:

  /dev/sda1是EFI系统分区,因为我这是EFI+GPT引导。(有人会奇怪为什么没有Microsoft Reserved微软保留分区,这是因为我的磁盘不是在Windows下进行分区的,故没有)。

  /dev/sda2是根文件系统(/)

  /dev/sda3是/home分区。

  /dev/sda4是额外的数据盘,我们将会把系统镜像文件保存在这个分区上。

  2、挂载分区

  终端输入mount /dev/sda2 /mnt,挂载根分区。

  如果您在分区的时候单独分了/boot分区的话,请接着输入mount /dev/xxx (你的boot分区标识)/boot。

  在这里,我分了efi分区,即/boot/efi(大部分状况下是这个),所以我要输入mount /dev/sda1 /boot/efi(如果您既分了/boot又有/boot/efi,请一定先挂载boot后挂载efi,顺序千万不能反)。

  然后挂载home分区mount /dev/sda3 /home(如果您没有设定单独的home分区不需要挂载,如果您不想保存home的内容也可以不挂载)。

  如果您还设置了别的分区,比如/var /usr /tmp之类,请模仿上面的方法挂载。(/tmp可以选择不挂载,但是/usr必须挂载,不挂载还原后系统出现问题本人不负责,/var最好也要挂载,不挂载还原后系统也有可能会出问题)。

  终端窗口不要关,现在,我们打开文件管理器nautilus。

  选择「其他位置」,点击数据盘进行挂载。

 

       好了我们现在已经挂载了。

      右击分区名称(「28GB卷」那个),选择属性。

     记住它的路径(这里是/media/ubuntu/1cbd9938-ef7a-42ff-a788-213c30db4f02)。

  3、正式备份系统

  在极少数情况下,一些LiveCD会没有squashfs-tools,这就需要您手动安装。

  终端输入mksquashfs /mnt /media/ubuntu/1cbd9938-ef7a-42ff-a788-213c30db4f02/backup.sfs (文件名任意)

 

      备份好了之后,最好输入一下sync,让系统保存数据。

  卸载分区(按照其他分区(home var usr之类)——efi分区——boot分区——根文件系统的顺序来卸载,每个人的情况都不太一样)

  umount /mnt/home

  umount /mnt/boot/efi

  mount /mnt

  最后卸载数据盘,就是保存镜像文件的那个。

  大功告成。

  重启之前还是建议再sync一下,养成好习惯(毕竟Linux有延迟写入功能)。

  二、还原

  先说一下,你在Windows下还原系统,大部分情况下直接还原然后重启就OK了,但是在Linux下,你还原之后还需要处理一下系统,不然会无法启动。

  获得root权限(sudo -s),查看分区状况。(如果您已熟知可以不用)

      分区状况sda1是efi,sda2是根,sda3是home,sda4是数据盘。

  1、格式化

  第二步和备份不一样,现在不需要挂载。

  因为我根分区和home都是ext4分区,所以我输入

  mkfs.ext4 /dev/sda2

  mkfs.ext4 /dev/sda3

  先格式化,如果你想保留home的内容可以选择不格式化。如果你有var usr之类请也格式化。

  (如果你采用了其他格式格式化分区,请使用别的命令,比如xfs是mkfs.xfs)

  数据盘别格式化,不然就23333了。

       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、修改权限

 

       确保所创建的文件夹权限是这样。

  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。

 

      上面已经说过,sda1是efi,sda2是根分区,sd3是home。

  记下他们的UUID。如果您分了别的分区比如boot var usr,也需要记下,等会要用。

  8、修改本机UUID设置

  返回原来的终端(已经chroot /mnt的那个),输入nano /etc/fstab。

  如果nano没有安装,那么请输入vi /etc/fstab。

  如果您用的是vi,那么需要按i进入编辑模式。

 

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

  修改后按Ctrl+x退出。vi是先按esc,再输入:wq(冒号不能少!),然后回车。

  9、更新GRUB

  因为UUID被改动,所以我们需要更新GRUB。

  输入grub-install /dev/sda(sda是你主硬盘的位置)

  再输入update-grub。

  退出chroot并卸载文件系统。

  输入exit退出chroot。

  然后输入:

  umount /mnt/dev

  umount /mnt/sys

  umount /proc

  umount /run

  输入sync存盘。

  还原结束。

  重启。

  关于Ubuntu系统的备份还原教程就给大家叙述到这里了,使用Ubuntu系统的伙伴,可以仔细阅读上文,最好给自己的系统做一个备份,正所谓防患于未然嘛!

相关教程