ubuntu下的linux怎样备份文件,Ubuntu系统如何备份还原?Ubuntu系统备份还原教程

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

b1a65130618a3b653a0e9067865fa41b.png

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。

4b0dd0966df99dad0d5a6cfda75b8cd6.png

按Ctrl+Alt+T打开终端。

acad87f3b785d1da86a4b8a85aac9d7d.png

输入sudo -s获得root权限。

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

2d27e09cf3ea11326ffeb1987bbbda01.png

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

/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。

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

b17fe62d2f74aeff50b5cfb4f1e4049e.png

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

84978f7ecff3c9e140e3bcd596faf828.png

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

d7c610204a84a2e593723213a696bb41.png

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

3、正式备份系统

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

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

fb8432a69d033a1fba0cd072eeadeb0d.png

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

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

umount /mnt/home

umount /mnt/boot/efi

mount /mnt

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

大功告成。

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

二、还原

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

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

d2f7cb4a3fa858155b1fb4b07c9bcbd0.png

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

1、格式化

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

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

mkfs.ext4 /dev/sda2

mkfs.ext4 /dev/sda3

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

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

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

55b09326c0af000d2e7dbdea05857650.png

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

f51a7b6f0c59c1cc5d572ec84901fd4c.png

b7a8f3eaa7664d1bd401571c14414f01.png

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

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。

6596c5b1dde407f8a0329f43e8614be1.png

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

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

8、修改本机UUID设置

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

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

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

3d9282ac8caea64ebc18b1c672f6d1ba.png

修改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系统的伙伴,可以仔细阅读上文,最好给自己的系统做一个备份,正所谓防患于未然嘛!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/528205.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jenkins linux编译c,【Linux】【Jenkins】代码编译和执行过程中的问题汇总

1.问题1:java.io.FileNotFoundException: /root/.jenkins/workspace/Videoyi_AutoTest_Maven/config-log4j\log4j.xml (No such file or directory)该问题是由于代码是在windows下编写和编译的,使用的都是\\来实现目录结构的,结果到linux下的…

linux cd -目录,linux cd

cd -返回之前的目录cd !$ 把上个命令的参数作为这个命令的参数阅读目录(Content)1.命令格式:cd [目录名]2.命令功能切换当前目录至 [目录名]3. 常用范例1.进入系统根目录命令:cd /说明:进入系统根目录,上面命令执行完后拿ls命令看一下&#x…

linux清理整个磁盘空间,一次Linux磁盘空间清理的经历

最近,在Linux上运行BPM应用总是报没有空间的错误。经过一番调查和周折,终于找出了问题的症结,并顺利解决。今天,我把过程总结一下,方便自己或其他有类似问题的朋友参考。这里不对具体命令的具体各种参数做深入介绍&…

linux6.5 查看分辨率命令,centos6.5跟centos7的top命令中移动查看顺序的指令怎么不一样...

top 命令 移动查看顺序centos6.5 以下 top -ab -n 1按o 按大写字母可以调顺序 大写字母往左 小写往右f,o . Fields/Columns: ‘f’ add or remove; ‘o’ change display orderF or O . Select sort field查看cpu和内存占用排序,可以直接快捷方式但是在centos7中快捷键用大小写…

linux nfs spec,创建 NFS Ubuntu Linux 服务器卷 - Azure Kubernetes Service | Microsoft Docs

您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.在 Azure Kubernetes 服务 (AKS) 中手动创建和使用 NFS(网络文件系统)Linux 服务器卷4/25/2019本文内容基于容器…

c语言中字符数字加'0',C语言中的NULL与转义字符'\0'以及数值0的关系

以下两种只是一个巧合,只不过地址值的数值为0而已。0本身只不过是一个可以显示的字符,与内存并没有直接关系。在0与ASCII表中关联NULL做了关联,这样使得输入转义字符\0,也可以将一个变量赋值为NULL。而\0对应的ASCII码又是第0号&a…

c语言程序设计杨辉三角过程,C语言编程 打印杨辉三角

在做这道题时首先要观察杨辉三角的规律11 11 2 11 3 3 11 4 3 4 1……可以看出1.每行的数字个数与所处行数相等2.除去每行第一个和最后一个数字唯一,其他数字都等于头顶元素加头顶前一个元素源代码:#include#includevoid PrintY(int length, int array[][100]){int …

c语言中的所有关键字,C语言中的32个关键字

C语言中的32个关键字数据类型关键字(12个)(1) char:声明字符型变量或函数(2) double:声明双精度变量或函数(3) enum:声明美剧类型(4) float:声明浮点型变量或函数(5) int:声明整型变量或函数(6) …

c语言手游常用代码,c语言源代码【操作流程】

很多小伙伴都遇到过c语言源代码的困惑吧,一些朋友看过网上零散的c语言源代码的处理方法,并没有完完全全明白c语言源代码是如何解决的,今天小编准备了简单的解决办法,只需要按照1:编写C源代码for_learning_compile.c2&a…

c语言中文件是如何存储的,急求如何将下列C语言程序数据存储到文件中?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼求如何改动才能将下列程序的存储输入或输出数据(或两者一起)到指定的文件(或运行时直接创立一个文件)如Arrangement中。#include int n0;int rest[7][7]; //全局声明,以供全局调用int main(){void perm(int list[],int ,int );int …

pdxp协议 C语言,集成CC控制逻辑,PD协议及MCU的Type-C应用方案

Type-C系列亮点介绍内包MCU、集成CC逻辑和DP协议支持Typec DP Alt mode 和单独的DP输入支持速率最高可达4-lane 5.4Gbps(HBR2)支持macbook2016版本,拔掉adapter不掉电● DP1.2/Type C转HDMI1.4,支持HDCP1.3,可扩展PD,USB3.0接口● 支持1/2/4 lane DP输…

Android打开谷歌应用,谷歌确认 Android 12 新增剪贴板访问提醒,将在 Beta 2 上线

IT之家 5 月 19 日消息 据外媒 xda-developers 报道,近年来,谷歌一直在打击 Android 系统中的剪贴板访问,并在发布 Android 10 时禁止后台应用读取剪贴板数据。在最新的 Android 12 中,谷歌引入了一项设置,每当应用访问…

Android nfc编译,【Android编译】各个模块编译方法

一、如何编译出vendor.img1. 首先找到产品对应BoardConfig.mk路径:LINUX/android/device/项目/产品/BoardConfig.mk2. 修改BoardConfig.mk设置下面代码中的ENABLE_VENDOR_IMAGE为true。#Enable split vendor imageENABLE_VENDOR_IMAGE : true#ENABLE_VENDOR_IMAGE :…

ubuntu下android源码编译环境,ubuntu12.04 64位上搭建android源码编译环境

1.首先替换源为163的源,默认源下载速度太慢sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup (备份下当前的源列表)sudo gedit /etc/apt/sources.list (打开Ubuntu 12.04源列表文件)deb http://mirrors.163.com/ubuntu/ precise main restricteddeb-src…

android访问百度新闻,百度新闻(com.baidu.news) - 8.3.6.0 - 应用 - 酷安

权限信息 android.permission.REQUEST_INSTALL_PACKAGES com.baidu.permission.SHARE 与蓝牙设备配对 使用设备上的帐户 添加或移除帐户 大致位置(基于网络) 精确位置(基于GPS和网络) 查看WLAN连接 查看网络连接 读取手机状态和身份 完全的网络访问权限 访问USB存储设备的文件系…

android7.0 蓝牙定位,BluetoothAdapter在Android6.0/7.0+以上startDiscovery不能发现蓝牙设备问题...

BluetoothAdapter在Android6.0以上startDiscovery不能发现蓝牙设备问题问题的重要原因之一是Android 6.0,Android 7.0的权限问题引起的。在Android 4.0上运行良好的蓝牙代码,在高版本运行异常。比如BluetoothAdapter的startDiscovery虽然启动了发现蓝牙任…

android xml defaulthandler解析,sax解析xml文件的DefaultHandler处理类

一千年的时光,我无数次掀起岁月的帷幔,只为和你,在某一个平静如水的日子相遇,然后相识,倾情一生,缱绻一世,好美的散文,好吧,我情愿把这个“你”当作android;)…

android中viewpager+fragment,Android开发之ViewPager+Fragment

使用步骤1、Activity的布局文件android:id"id/viewpager"android:layout_width"wrap_content"android:layout_height"wrap_content"android:layout_gravity"center" >2、加载要显示的Fragment,这里要注意,导…

19年的华为手机还能搭载鸿蒙吗,2019年华为手机出货或超2.15亿部 鸿蒙系统最快10月首秀...

科客点评:备用方案可以说是越多越好,这样的确能有效避免突发事件所带来的巨大风险。6月13日,知名分析师郭明錤给出了有关华为的最新预测报告,该预测报告主要对华为手机今年的出货量进行了预测。根据分析师郭明錤的报告显示&#x…

android 活动传递数据,如何在Android应用程序的“活动”之间传递数据?

我有一种情况,在通过登录页面登录后,每个activity上都会有一个退出button 。点击sign-out ,我将传递已登录用户的session id以便退出。 谁能指导我如何使session id可供所有activities ?这种情况的任何替代方法#1楼在活动之间传递…