数据无忧:Ubuntu 系统迁移备份全指南
唠唠闲话
最近电脑出现了一些故障,送修期间,不得不在实验室的台式机上重装系统,配环境的过程花费了不少时间。为避免未来处理类似事情时耗费时间,特此整理一些备份策略。
先做以下准备:
- U盘启动盘,参考 Rufus 制作 Ubuntu 启动盘
- 安装了 Ubuntu系统的硬盘 A
- 用于数据备份的硬盘 B
除了通过硬盘备份,Ubuntu 还有类似 Time Machine 的工具,教程将在后边介绍。
硬盘备份
通过 lsblk 命令查看硬盘信息,假设硬盘A为 /dev/sda,硬盘B为 /dev/sdb。
使用 dd 或 ddrescue 进行数据拷贝
dd 是主要用于低级别的数据复制和转换。
使用dd命令拷贝数据:
dd if=/dev/sda of=/dev/sdb bs=4M status=progress
参数说明:
if:输入文件(硬盘A)of:输出文件(硬盘B)bs:块大小,建议设置较大以提高拷贝速度status:显示拷贝进度
ddrescue 是一个专门用来从损坏的硬盘、光学介质或其他损坏的存储设备中尽可能多地恢复数据的高级工具。它比 dd 更智能、更有效率,适合用于数据恢复工作。
使用 ddrescue 命令进行断点续传:
ddrescue -f /dev/sda /dev/sdb rescuefile.log
-f:强制覆盖目标硬盘
修改 UUID
dd 这类命令会完全拷贝硬盘,包括分区的 UUID 信息。为避免潜在的 UUID 冲突,可对新设备进行修改。
假设系统盘挂载在 /dev/sdb2,使用 tune2fs 命令修改 UUID:
tune2fs /dev/sdb2 -U random
通过 blkid 查看修改后的 UUID:
sudo blkid /dev/sdb2
修改后,直接重启系统还会遇到 UUID 识别失败问题。此时,需更新 /etc/fstab 文件中的UUID设置。
挂载硬盘和修改系统配置
- 挂载新硬盘
mkdir /mnt/mydisk
mount /dev/sdb2 /mnt/mydisk
- 挂载系统目录
为了正常进入系统,需要挂载系统的一些目录:
mount --bind /dev /mnt/mydisk/dev
mount --bind /proc /mnt/mydisk/proc
mount --bind /sys /mnt/mydisk/sys
- 进入新系统环境
使用 chroot 命令更改根目录到新硬盘的系统环境:
chroot /mnt/mydisk
- 修改
/etc/fstab和更新 grub
编辑 /etc/fstab 文件中的 UUID,然后更新 grub:
nano /etc/fstab
update-grub
- 退出
chroot环境并卸载硬盘
exit
umount /mnt/mydisk/dev
umount /mnt/mydisk/proc
umount /mnt/mydisk/sys
umount /mnt/mydisk
完成上述步骤后,重启系统即可。
特殊处理
-
硬盘大小相同:直接使用
dd完全拷贝即可。 -
硬盘A 比硬盘B 小:
- 使用
dd拷贝后,通过gparted扩大硬盘B的分区,调整/dev/sdb及其子分区的大小。
- 使用
-
硬盘A 比硬盘B 大,但使用量更少:
- 使用
gparted缩小硬盘A的分区,再使用resize2fs调整文件系统大小:resize2fs /dev/sdb1 - 在调整后再进行拷贝。
- 使用
此外,对于第三种情形,实测在 dd 拷贝过程中终止,且拷贝量大于硬盘A的实际使用量时,也可以正常使用,不需要额外的调整操作。
文件系统检查
操作完成后,建议使用 e2fsck 检查文件系统的完整性:
e2fsck -f /dev/sdb
通过以上步骤,你可以高效、安全地完成硬盘之间的数据迁移和备份。
使用 Timeshift 进行备份
Timeshift 是一个功能强大的工具,可以在 Ubuntu 系统上实现类似于 Mac 的 Time Machine 的备份功能。以下是如何安装和使用 Timeshift 进行系统备份和恢复的详细步骤。
安装 Timeshift
- 打开终端并添加 Timeshift 的 PPA 仓库:
sudo apt-add-repository -y ppa:teejee2008/ppa sudo apt-get update - 安装 Timeshift:
sudo apt-get install timeshift
配置 Timeshift
安装完成后,运行 Timeshift 配置向导:
sudo timeshift-gtk
按照向导的指引进行设置:
- 选择备份类型:选择“RSYNC”或者“BTRFS”。大多数用户选择“RSYNC”。
- 选择备份存储位置:选择一个存储设备或分区来存储备份快照,确保备份位置有足够的空间。
- 设置计划任务:可以设置每日、每周或每月的自动备份时间,以定期创建系统快照。
手动创建快照
在 Timeshift 主界面中,点击“创建”按钮手动创建系统快照。这可以在需要进行重大系统更改前手动备份当前系统状态。
恢复系统
当系统出现问题时,可以使用 Timeshift 恢复到之前的快照:
- 打开 Timeshift。
- 选择一个可用的快照。
- 点击“恢复”按钮,然后按照向导操作恢复系统。
恢复到新的硬盘
如果需要将系统恢复到一个新的硬盘上,请按照以下步骤操作:
准备新的硬盘
- 使用 Ubuntu live CD 或 USB 启动计算机,并将新的硬盘连接到系统。
- 使用磁盘工具(例如 GParted)在新的硬盘上创建适当的分区,并格式化为 ext4 文件系统。
安装并运行 Timeshift
在 live 环境下,打开终端并安装 Timeshift:
sudo apt-add-repository -y ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install timeshift
运行 Timeshift:
sudo timeshift-launcher
设置目标设备并恢复快照
- 在 Timeshift 的设置中,将目标设备设置为新的硬盘分区。
- 选择一个可用的快照,然后点击“恢复”。在恢复选项中,选择新的硬盘分区作为目标。
- 按照提示完成恢复过程。
安装引导程序(GRUB)
恢复完成后,需要在新硬盘上安装引导程序(GRUB)。假设新的硬盘是 /dev/sdb,可以执行以下命令:
sudo mount /dev/sdb1 /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
grub-install /dev/sdb
update-grub
exit
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/dev
sudo umount /mnt
完成这些步骤后,你应该能够从新的硬盘启动系统。
–
以上。
相关文章:
数据无忧:Ubuntu 系统迁移备份全指南
唠唠闲话 最近电脑出现了一些故障,送修期间,不得不在实验室的台式机上重装系统,配环境的过程花费了不少时间。为避免未来处理类似事情时耗费时间,特此整理一些备份策略。 先做以下准备: U盘启动盘,参考 …...
中国IDC圈探访北京•光子1号金融算力中心
今天,“AI”、“大模型”是最炙手可热的话题,全球有海量人群在工作生活中使用大模型,大模型产品涉及多模态,应用范围已涵盖电商、传媒、金融、短视频、制造等众多行业。 而回看2003年的互联网记忆, “上网”“在线”是…...
[Unity入门01] Unity基本操作
参考的傅老师的教程学了一下Unity的基础操作: [傅老師/Unity教學] Unity3D基礎入門 [華梵大學] 遊戲引擎應用基礎(Unity版本) Class#01 移动:鼠标中键旋转:鼠标右键放大:鼠标滚轮飞行模式:右键WASDQEFocus模式&…...
vivado DELAY_VALUE_XPHY、DIFF_TERM
延迟_值_XPHY PORT对象上的DELAY_VALUE_XPHY属性指定要添加的延迟量 Versal XPHY逻辑接口的输入或输出路径。在的早期阶段 opt_design在重新生成高级I/O向导IP时 DELAY_VALUE_XPHY值将从PORT复制到的XPHY实例上 输入或输出路径。Vivado设计套件中存在DRCs,以确保 DE…...
C++语言相关的常见面试题目(三)
1. List底层实现原理 省流: list底层实现了一个双向循环链表。 每个元素(或节点)包含三个部分:数据域(_M_Storage)、前驱指针(_M_prev)、后继指针(_M_next)。 数据域:存储实际数据。 前驱指针:指向链表中…...
代码随想录-Day53
739. 每日温度 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1: …...
Android 如何通过代码实时设置EditTextView光标
背景:换肤框架下,QA进行深色浅色切换说输入框光标颜色没有改变,转UI结果UI说需要修改!!!!! 本来有方法可以设置,但是 设置后未生效。重新进入该页面才生效!&a…...
202488读书笔记|《365日创意文案》——无聊的 到底是这世间, 还是自己?懂得忘却的人才能前进
202488读书笔记|《365日创意文案》——无聊的 到底是这世间, 还是自己?懂得忘却的人才能前进 1月2月3月4月5月6月7月8月9月10月11月12月 《365日创意文案》WRITES PUBLISHING,一些日常,是烟火,也是幸福的印记。 当下也…...
iperf3: error - unable to connect to server: No route to host
1.确认iperf3版本是否统一。 2.确认防火墙是否关闭。 关闭防火墙 : systemctl stop firewalld 查看防火墙状态: systemctl status firewalld 3.重新建起链接...
正则表达式中的贪心匹配
在正则表达式中,?既可以表示数量,0次或1次,等效于 {0,1},也可以跟在其它数量限定符之后,表示非贪心匹配,即匹配时匹配搜索到的尽可能短的字符串。 下面来看一个例子: T…...
线程相关概念及操作
【1】线程的概念 1.线程-->进程会得到一个内存地址,进程是资源分配的基本单位线程才是真正进程里处理数据与逻辑的东西进程---》被分配一定的资源线程---》利用进程资源处理数据与逻辑 【2】进程和线程关系: 进程与进程之间是竞争关系,竞…...
2024最新版若依-RuoYi-Vue3-PostgreSQL前后端分离项目部署手册教程
项目简介: RuoYi-Vue3-PostgreSQL 是一个基于 RuoYi-Vue3 框架并集成 PostgreSQL 数据库的项目。该项目提供了一套高效的前后端分离的开发解决方案,适用于中小型企业快速构建现代化的企业级应用。此项目结合了 RuoYi-Vue-Postgresql 和 RuoYi-Vue3 的优点࿰…...
PHP源码:新闻门户系统(附管理后台+前台)
一. 前言 今天小编给大家带来了一款可学习,可商用的,新闻门户系统 源码,支持二开,无加密。项目可以扩展为个人博客,和一些社交论坛网址。主要功能:支持文章管理,评论管理,分类管理等…...
15kg级弹簧刀高速巡飞无人机技术详解
弹簧刀高速巡飞无人机,作为一种先进的战术导弹系统,融合了无人机与导弹的双重特性,成为了现代战争中不可或缺的侦察与打击利器。该无人机以其小巧的外形设计、优异的性能表现和广泛的适用领域,受到了全球军事领域的广泛关注。弹簧…...
中国东方资产管理25届秋招北森测评笔试如何高分通过?真题考点分析看完这篇就够了
一、东方资管校招测评题型分析 中国东方资产管理股份有限公司(中国东方资管)的校园招聘测评题型主要包括以下几个部分: 1. **计分题,行测知识**:这部分题量大约在56-57题左右,分为不同的模块进行计时测试。…...
简写单词BC149
BC149 简写单词 题目描述输入描述:输出描述: 题目描述 规定一种对于复合词的简写方式为只保留每个组成单词的首字母,并将首字母大写后再连接在一起 比如 “College English Test”可以简写成“CET”,“Computer Science”可以简写…...
Chapter11让画面动起来——Shader入门精要学习笔记
Chapter11让画面动起来 一、Unity Shader中的内置变量(时间篇)二、纹理动画1.序列帧动画2.滚动背景 三、顶点动画1.流动的河流2.广告牌3.注意事项①批处理问题②阴影投射问题 一、Unity Shader中的内置变量(时间篇) Unity Shader…...
c++之命名空间详解(namespace)
引例 在学习之前我们首先了来看这样一个情形: 在c语言下,我们写了两个头文件:链表和顺序表的。我们会定义一个type(typedef int type)方便改变数据类型(比如将int改成char),来做到整体代换。 但是我们两个头文件里面…...
【大模型】在大语言模型的璀璨星河中寻找道德的北极星
在大语言模型的璀璨星河中寻找道德的北极星 引言一、概念界定二、隐私保护的挑战2.1 数据来源的道德考量2.2 敏感信息的泄露风险 三、偏见与歧视的隐忧3.1 训练数据的偏见传递3.2 内容生成的不公倾向 四、责任归属的模糊地带4.1 生成内容的责任界定4.2 自动化决策的伦理考量 五…...
嵌入式Linux之Uboot简介和移植
uboot简介 uboot 的全称是 Universal Boot Loader,uboot 是一个遵循 GPL 协议的开源软件,uboot是一个裸机代码,可以看作是一个裸机综合例程。现在的 uboot 已经支持液晶屏、网络、USB 等高级功能。 也就是说,可以在没有系统的情况…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
SQL Server 触发器调用存储过程实现发送 HTTP 请求
文章目录 需求分析解决第 1 步:前置条件,启用 OLE 自动化方式 1:使用 SQL 实现启用 OLE 自动化方式 2:Sql Server 2005启动OLE自动化方式 3:Sql Server 2008启动OLE自动化第 2 步:创建存储过程第 3 步:创建触发器扩展 - 如何调试?第 1 步:登录 SQL Server 2008第 2 步…...
[USACO23FEB] Bakery S
题目描述 Bessie 开了一家面包店! 在她的面包店里,Bessie 有一个烤箱,可以在 t C t_C tC 的时间内生产一块饼干或在 t M t_M tM 单位时间内生产一块松糕。 ( 1 ≤ t C , t M ≤ 10 9 ) (1 \le t_C,t_M \le 10^9) (1≤tC,tM≤109)。由于空间…...
Java数组Arrays操作全攻略
Arrays类的概述 Java中的Arrays类位于java.util包中,提供了一系列静态方法用于操作数组(如排序、搜索、填充、比较等)。这些方法适用于基本类型数组和对象数组。 常用成员方法及代码示例 排序(sort) 对数组进行升序…...
向量几何的二元性:叉乘模长与内积投影的深层联系
在数学与物理的空间世界中,向量运算构成了理解几何结构的基石。叉乘(外积)与点积(内积)作为向量代数的两大支柱,表面上呈现出截然不同的几何意义与代数形式,却在深层次上揭示了向量间相互作用的…...
用鸿蒙HarmonyOS5实现国际象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的国际象棋小游戏的完整实现代码,使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├── …...
