一、备份

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

准备工作

可启动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是额外的数据盘,我们将会把系统镜像文件保存在这个分区上。

挂载分区

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

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

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

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

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

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

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

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

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

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

正式备份系统

在极少数情况下,一些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是数据盘。

格式化

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

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

mkfs.ext4 /dev/sda2

mkfs.ext4 /dev/sda3

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

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

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

建立临时目录

mkdir /recovery(命名可以随意,只要你后面能对的上)

挂载数据盘

挂载方式请参考上文。

同样记住它的编号。

挂载镜像文件

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

修改权限

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

复制文件

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

查看当前UUID

由于我们格式化了分区,所以UUID发生了变化,若不修改,系统将无法正常挂载分区,导致启动异常。故我们需要修改本机系统的UUID设置。

当前终端不要关闭,新建一个终端,输入blkid。

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

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

修改本机UUID设置

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

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

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

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

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

更新GRUB

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

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

再输入update-grub。

退出chroot并卸载文件系统。

输入exit退出chroot。

然后输入:

umount /mnt/dev

umount /mnt/sys

umount /proc

umount /run

输入sync存盘。

还原结束。

重启。

参考链接:https://baijiahao.baidu.com/s?id=1582409155581803330

Ubuntu系统备份还原教程的更多相关文章

  1. Linux系统备份还原工具2(TAR/压缩工具)

    相比DD备份还原工具,TAR压缩还原工具更加小巧和灵活,但是不能备份MBR.当然可以通过重新安装GRUB来解决MBR的这一问题.同时,TAR的做法也是官方推荐的. 注意:一个硬盘启动时最新经过MBR( ...

  2. Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十三):系统备份还原

    系统备份还原 在很多时候,我们需要系统数据进行备份还原.我们这里就使用MySql的备份还原命令实现系统备份还原的功能. 新建工程 新建一个maven项目,并添加相关依赖,可以用Spring boot脚 ...

  3. Vue + Element UI 实现权限管理系统 前端篇(十六):系统备份还原

    系统备份还原 在很多时候,我们需要系统数据进行备份还原.我们这里就使用MySql的备份还原命令实现系统备份还原的功能. 后台接口准备 系统备份还原是对数据库的备份还原,所以必须有后台接口的支持,我们准 ...

  4. 怎么处理Win7系统备份还原提示代码0x80042302的错误?

    我们都知道Win7系统自带备份还原功能,可以在电脑遇到小问题时通过还原至之前备份的正常系统来解决,非常的方便.但是有些用户在使用备份还原功能时,系统会提示0x80042302错误,这该怎么办呢?下面好 ...

  5. DEDECMS网站数据备份还原教程

    备份织梦网站数据 dedecms备份教程 进入DedeCms后台 -> 系统 -> 数据库备份/还原 备份文件在\data\backupdata 下载数据库备份资料\data\backup ...

  6. Ubuntu系统备份工具大全(官方整理推荐)

    其实官方在系统备份这块已经有Wiki整理和收集各类实用的工具.以下是翻译自官方Wiki的部分文档: 备份工具  wiki文档实用程序 工具 界面 格式类型 Raw/File 支持 远程 增量 差异 自 ...

  7. Win7自带的系统备份还原功能如何去使用?

    很多用户都会反映Win7系统使用过程中会出现系统或应用程序方面的小故障,针对这些小问题,再选择进行电脑系统的重装就有些过于麻烦了. 其实Win7系统内带有系统备份和还原的功能,可以在电脑系统出现小问题 ...

  8. LINUX系统备份还原

    1.Linux系统备份工具 REAR (RELAX-AND-RECOVER) https://blog.csdn.net/qq43748322/article/details/78710754?loc ...

  9. Linux系统备份还原工具3(使用Clonezilla/再生龙对硬盘进行镜像和克隆,类似于Ghost)

    说明:经过实验验证,再生龙主要是适合在本机还原原大小的分区,不适合将镜像备份还原到不同大小分区,期间可能有很多莫名奇妙的问题出现.硬盘对拷和PXE网刻这些没发现什么不好.如果要还原到别的电脑镜像制作时 ...

随机推荐

  1. H5 使用input标签上传图片给后台

    html代码: <div class="hpk-showimg"> <!-- 营业执照 --> <div class="idcardup&q ...

  2. 关于 RMAN 控制文件自动备份路径中指定的 %F 说明

    默认情况下,RMAN备份的属性配置一共 14 行( show all; )来自博客园AskScuti CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVIC ...

  3. format的使用

    v="敬爱可亲的{0},最喜欢在{1}地方干{2}" name1=input("名字>") lang=input("地点>") ...

  4. SpringMVC 源代码深度解析 IOC容器(Bean 解析、注册)

    SpringMVC通过一个配置文件描述Bean以及Bean之间的依赖关系,利用Java的反射机制实例化Bean并建立Bean之间的依赖关系.IOC容器在完成这些底层工作的基础还提供了Bean的实例缓. ...

  5. wpf 移动动画

    private void moveTo(Point deskPoint, Control ell, double space) //deskPoint: 控件要移动到的位置 , ell :你要移动的空 ...

  6. LED Keychain - Widely Used Logo Item

    The LED keychain makes it easy for people to carry their keys with them and carry them with them. It ...

  7. Illegal target for the requested operation

    org.tigris.subversion.javahl.ClientException: Illegal target for the requested operation svn: Commit ...

  8. 管理QT的组件

    1.在qt的安装目录找到'%QTROOT%\MaintenanceTool.exe'. 2.点击MaintenanceTool的设置,可以设置默认储存库.临时储存库.用户定义储存库,选择其中的临时储存 ...

  9. rf关键字

    1.获取字典中的key ${b} Set Variable ${a}[0][dealer_buy_price] Log ${b}   2.${b}的float类型转换string 再和后面比较 Sho ...

  10. Git的基本使用 -- 分支管理

    查看分支 git branch 前面带 * 的为当前所在分支 创建分支 git branch 分支名 切换分支 git checkout 分支名 创建并切换到此分支 git checkout -b 分 ...