Ubuntu18.04 制作系统ISO镜像并物理机还原(Systemback)

news2024/11/16 18:09:40

 简单记录使用Systemback工具打包Ubuntu系统得到iso镜像文件,并在物理机上进行还原(安装)的流程。测试结果发现,使用打包的iso文件安装得到的Ubuntu系统继承了我之前的Ubuntu系统,包括并不限于如下内容:Home、Desktop、Documents、Downloads、Pictures、Videos等文件夹下的所有文件,以及ros、PX4、cartographer等一系列的依赖环境!我在实验室的一台主机上面安装好系统之后,可以直接运行一系列的程序,体验和使用备份前的系统相同。只能说太牛了!

一. 准备工作

1 关于iso文件制作

​ 我的Ubuntu系统制作为iso镜像前已经占用100G左右的空间(剩余60G+),制作出来的.sblive文件约30GB,将.sblive文件解压后约30G,然后打包为了约26G的iso文件我当时将.sblive解压后删除了.sblive文件,然后进行的iso文件的制作。如果你有一个比较大的U盘或移动固态硬盘,是可以将.sblive文件生成到移动盘上的。当然,如果你的Ubuntu上面没有太多的环境和文件,并不会占用太大的空间。

2 关于系统安装(还原)

​ 我们得到了iso文件后,使用U盘or移动固态制作系统盘,进行系统安装即可。需注意!务必确保使用的系统盘具有两倍以上的iso文件空间。比如我的iso文件大小26G,那用于制作系统盘的磁盘至少需要52G。我之前使用32G的U盘进行安装,安装失败的原因便是空间不够,无法挂载iso文件

二. 上机实操

1 Systemback安装

​ Systemback是一个简单的系统备份和恢复应用程序。Ubuntu 16.04和14.04用户可以通过在终端中运行以下命令从PPA安装Systemback:

# Ubuntu 16.04 or 14.04, ubuntu 18及以后不可用
sudo add-apt-repository ppa:nemh/systemback
sudo apt update
sudo apt install systemback
# ubuntu18不小心添加了上面的ppa库,可以使用下面命令删除
sudo add-apt-repository --remove ppa:nemh/systemback

​ Systemback的作者在2016年停止了开发,因此Ubuntu 18.04及以后版本都不在支持列表中。如果你在Ubuntu 18.04上运行上述命令,将看到报错。Ubuntu 16.04的Systemback二进制文件与Ubuntu 18.04/18.10兼容,因此我们可以使用以下命令进行安装(Ubuntu20及以后版本或许也可以如此安装?)

 

# 1)在18.04上添加Ubuntu 16.04 PPA
sudo add-apt-repository "deb http://ppa.launchpad.net/nemh/systemback/ubuntu xenial main"

# 2)导入此PPA的GPG签名密钥
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 382003C2C8B7B4AB813E915B14E4942973C62A1B

# 3)更新包列表并安装Systemback:
sudo apt update
sudo apt install systemback

# 4)启动 Systemback
sudo systemback

 

2 ISO文件制作

# 启动 Systemback
sudo systemback

点击“Live system create” —> 修改系统名称,勾选“Include the user data files”—>点击“Create new”。该操作将会生成一个.sblive文件,如果文件小于4GB,可以借助该软件生成对应的.iso系统镜像文件

 

                                                                生成 .sblive文件 

 

                                                        将 .sblive文件转换为 .iso文件

如果生成的.sblive文件大于4GB,可以参考下面的步骤生成对应的.iso系统镜像文件

步骤1:解压 .sblive 文件:

mkdir sblive
# 【systemback_live.sblive】需要更改为前面设置的名称[也可以直接到home目录下寻找对应的.sblive文件]
tar -xf /home/systemback_live.sblive -C sblive

步骤2:重命名syslinux 至 isolinux:

mv sblive/syslinux/syslinux.cfg sblive/syslinux/isolinux.cfg
mv sblive/syslinux sblive/isolinux

步骤3:安装 cdtools:

sudo apt install aria2

aria2c -s 10 https://nchc.dl.sourceforge.net/project/cdrtools/alpha/cdrtools-3.02a07.tar.gz

tar -xvf cdrtools-3.02a07.tar.gz
cd cdrtools-3.02
make
sudo make install

步骤4:生成ISO文件:

cd ~/
/opt/schily/bin/mkisofs -iso-level 3 -r -V sblive -cache-inodes -J -l -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -c isolinux/boot.cat -o sblive.iso sblive

这一步完成后,将会生成一个iso文件。

 

 

3 Ubuntu系统还原

​ 有了iso文件就可以使用U盘或移动固态制作系统盘,然后进行系统安装啦~ 可以使用rufus及其他软件进行系统盘制作。或者使用Ventoy做一个系统盘,直接把iso文件复制粘贴到U盘里面就可以进行安装。推荐Ventoy,我目前的U盘里面有ubuntu18、windows、ubuntu备份 三个系统的iso文件,每一个都可用独立用于系统安装

​ 系统盘弄好后,就依照正常安装Ubuntu系统的方式去安装即可,只不过具体的安装界面稍微有些不一样。大概如下如图:

 

 第一个选项将会进行U盘中的系统,第二个选项将直接进行系统安装。如果直接使用第二个选项进行系统安装时失败了,可以选择第一个选项,进入系统之后再进行安装(可以查看报错原因,知道为什么报错!)。进入U盘中的系统之后,CTRL+ALT+T打开终端,输入systemback-sustart即可进行系统安装。我当时使用的U盘空间不够(32G的U盘装26G的系统),就出现了下面的报错,更换为64G的U盘后就能够顺利安装成功了。

 

​1 设置用户名

进行系统安装时,需要输入系统的用户信息,推荐输入原系统的用户名和密码。安装好的系统将会使用这里输入的用户名替换掉一些系统文件中的路径,比如说~/.bashrc中设置的工作空间路径。如果输入原系统的用户名和密码,系统是可以直接运行之前配置好的一些环境的;如果输入新的用户名,可能需要重新创建工作空间并进行编译。备份的系统会保留之前系统的一系列文件,为此工作空间中的路径也还是原来的用户名的。

 2 设置分区

之后需要选择挂载的磁盘空间,也就是进行Ubuntu系统分区,只不过这里的分区操作和常规的Ubuntu系统安装流程不一样。我一般设置三个分区swap、/、/bootswap为交换分区(8-16G都可),/为根目录(必须设置)、/boot为引导区(物理机必须设置,200MB即可,如果有/boot/efi,优先选择)。不同的电脑,该步骤出现的可选选项不同!看着来即可。

​ 这一步没有设置好,右下角的"Next"无法点击。如将一个500G+的磁盘分为3个区,8000MB的swap分区,500MB的boot分区,剩下的全为/分区。另外,记得勾选上左侧的"Transfer user configuration and data files",并选择'Install GRUB2 bootloader'为前面设置的/boot分区的分区号。对于虚拟机,这里的/boot分区可以不设置,并选择“AUTO”。

如此甚好,真的不考虑点个赞吗 ~

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

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

相关文章

公司新来个卷王,让人崩溃...

最近内卷严重,各种跳槽裁员,相信很多小伙伴也在准备今年的面试计划。 在此展示一套学习笔记 / 面试手册,年后跳槽的朋友可以好好刷一刷,还是挺有必要的,它几乎涵盖了所有的软件测试技术栈,非常珍贵&#x…

母亲节营销案例大盘点,真的有被狠狠共情住

⼀直以来,节⽇营销都是品牌借势和消费者建⽴情感链接的好时机。尤其是在母亲节这个温情的⽇⼦⾥,借助催泪、温情的⼴告歌颂母爱的无私与伟⼤来打动消费,也成为品牌母亲节营销的标配。 随之⽽来的,越来越多的品牌也⾯临困局&#x…

基于粒子群算法优化的核极限学习机(KELM)分类算法-附代码

基于粒子群算法优化的核极限学习机(KELM)分类算法 文章目录 基于粒子群算法优化的核极限学习机(KELM)分类算法1.KELM理论基础2.分类问题3.基于粒子群算法优化的KELM4.测试结果5.Matlab代码 摘要:本文利用粒子群算法对核极限学习机(KELM)进行优化,并用于分…

三硬币模型——机器学习课后作业

题目要求: 给出解决代码如下: import numpy as npdef miu_calc(pii, pi, qi, yj):up_b pii * pi ** yj * (1 - pi) ** (1 - yj)up_c (1 - pii) * qi ** yj * (1 - qi) ** (1 - yj)return up_b / (up_b up_c)yj np.array([1, 1, 0, 1, 0, 0, 1, 0, 1…

MySQL数据库的备份与恢复

一、数据备份的重要性 备份的主要目的是灾难恢复。 在生产环境中,数据的安全性至关重要。 任何数据的丢失都可能产生严重的后果。 造成数据丢失的原因: 程序错误人为操作错误运算错误磁盘故障灾难(如火灾、地震)和盗窃 二、数据…

华为OD机试 - 第一个错误的版本(Java)

一、题目描述 你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。 假设你有 n 个版本 [1, 2, …, n]&#xff…

【seata的部署和集成】

seata的部署和集成 seata的部署和集成一、部署Seata的tc-server1.下载2.解压3.修改配置4.在nacos添加配置5.创建数据库表6.启动TC服务 二、微服务集成seata1.引入依赖2.修改配置文件 三、TC服务的高可用和异地容灾1.模拟异地容灾的TC集群2.将事务组映射配置到nacos3.微服务读取…

应用在虚机和容器场景下如何优雅上下线

在生产场景中部署的服务提供者常因业务升级或其他场景需要下线和上线的部署操作,本文总结了应用在上下线过程中会遇到的典型问题,并思考在虚机和容器场景该如何处理这些问题,规避该过程中可能出现的服务消费者的请求失败,实现应用…

人工智能学习07--pytorch16--MobileNet网络详解

MobileNet详解 DW卷积: 每个卷积核的深度为1,而不是像之前一样等于特征矩阵的深度。 每个卷积核只负责输入特征矩阵的一个channel进行卷积运算,再得到相应的输出矩阵的一个channel。 因为每个卷积核只负责一个channel,则采用的特征…

Android WebView 的 addJavascriptInterface 探究

Android WebView 的 addJavascriptInterface 探究 一、前言 Java和JS交互的方式有多种,这里探讨的方式是通过以下方式进行的交互。 webView.addJavascriptInterface(this, "JSBridge") 这篇文章是想弄明白 JavaScript 和 Java是如何实现这种方式互调的,就从源码…

C高级 day1

初始工作路径不在家目录下,在不切换路径的情况下,在家目录下创建一个subdir目录,在subdir这个目录下,创建subdir1和subdir2,并且把/etc/passwd拷贝到subdir1中,把/etc/group文件拷贝到subdir2中&#xff0c…

java获取登陆用户ip方法

今天和大家分享一下获取登录用户 ip的方法,如果你想获取自己的登陆用户 ip,可以参考以下思路: 1.可以通过 Java动态链接库的方式获取到,方法很简单,就是把需要的 ip地址添加到动态链接库中,然后在需要用到时…

Word三线表创建

三线表是论文写作中经常使用到的表格格式 自定义三线表 “插入”-->“表格”,随便插入一个表格,然后将光标移动到表格内 “表设计”-->“其他”-->“新建表格样式” 修改模板名称为“三线表”,方便下次直接套用 首先设置标题行【…

把苹果全家桶用于VR全身追踪是什么体验

此前,青亭网曾报道了一项无需摄像头的VR全身追踪方案:Standable: Full Body Estimation(简称SFBE),这套方案就是利用了头显双手柄数据来模拟预测全身动作数据,效果还算不错。 近期在CHI2023活动上&#xff…

深度学习02-神经网络(MLP多层感知器)

文章目录 神经网络简介学习路径分类 多层感知器(MLP)神经网络认识两层神经网络输入层从输入层到隐藏层从隐藏层到输出层激活层输出的正规化如何衡量输出的好坏反向传播与参数优化过拟合 BP算法推导定义算法讲解前向传播反向传播 具体实例 tensorflow实战…

Python并发编程之进程理论

前言 本文将详细介绍进程相关概念。 进程和程序 计算机上的未运行的QQ、Wechat等都属于程序,但是一旦当这些程序运行起来的话,就可以被称为进程。因此可以如下定义程序和进程: 程序:就是存在硬盘上的一堆代码。 进程&#xf…

【AI】YOLOV1原理详解

1、简介 YOLO:You Only Look Once,一种对象检测算法,2016年由Redmon提出 优点:速度快,适合于实时检测任务; 缺点:准确度略低 2、其它算法对象检测原理 在YOLO出现之前,其它算法使用分类器对测试图像的不同切片进行评估。 例如,使用一个小窗口在图像上滑动来获取一小…

【标准化方法】(4) Weight Normalization 原理解析、代码复现,附Pytorch代码

今天和各位分享一下深度学习中常用的归一化方法,权重归一化(Weight Normalization, WN),通过理论解析,用 Pytorch 复现一下代码。 Weight Normalization 的论文地址如下:https://arxiv.org/pdf…

GEE:基于主成分分析(PCA)的风险筛选环境指标(RSEI)计算方法

作者:CSDN @ _养乐多_ 利用主成分分析(Principal Component Analysis, PCA)进行风险筛选环境指标(Risk-Screening Environmental Indicators, RSEI)的计算是一种常用的方法。本文介绍了基于主成分分析的RSEI计算方法,通过将多个基于遥感指数的环境指标转化为少数几个主成…

电脑cpu占用率高?怎么办?1分钟快速解决!

案例:电脑cup过高怎么办? 【我的电脑运行缓慢,导致我学习和工作的效率很低。刚刚查看了一下电脑,发现它的cpu占用率很高。有没有小伙伴知道如何解决此电脑cpu过高的问题?】 电脑是我们生活中不可缺少的工具&#xff…