[运维工具]ubuntu下迁移home目录至新的分区教程详解

ubuntu下迁移home目录至新的分区教程详解

前言

首先声明一下,因为此教程涉及到用户重要资料数据,所以操作前:

  • 数据无价,请一定要先备份!
  • 数据无价,请一定要先备份!
  • 数据无价,请一定要先备份!

如果你有以下的烦恼:

  • 当初装系统的时候,忘记分 /home 目录;
  • 当初装系统的时候, /home 分区分了较小的空间;
  • 用了Ubuntu一段时间后,发现 /home 所在的磁盘即将爆满,但是磁盘没有可以拓展的空间

因此,为了解决磁盘 爆满 的问题,只能将数据“搬家”了,下面是整个“搬家”的过程。

正文

1、检测新硬盘

在插入新硬盘之前,我们需要检测硬盘是否被识别。可以使用以下命令检查:

sudo fdisk -l

如果新的硬盘识别不出来,可以尝试重启系统之后再次检查。

2、格式化新分区
在对新硬盘进行分区之后,需要对新分区进行格式化。可以使用以下命令对新分区进行格式化:

sudo mkfs.ext4 /dev/sdb5

其中,/dev/sdb5 是新分区的设备文件名,ext4 是要使用的文件系统类型。如果要使用其他文件系统类型,可以将 mkfs.ext4 替换成相应的文件系统类型,如 mkfs.ntfs

3、挂载新分区
在对新分区进行格式化之后,需要将其挂载到系统目录下才能使用。可以使用以下命令挂载新分区:

sudo mkdir /home_data
sudo mount /dev/sdb5 /home_data

注意:

如果你想要挂载一个新的硬盘作为磁盘使用,那么到这里就可以了。

只不过,需要每次开机后都执行一下 挂载 命令。

将挂在添加到启动挂在文件中就会开机自动挂载 /etc/fstab ,在文件中增加一行:

/dev/sdb5 /home_data ext4 defaults 0 2

其中:

  • /dev/sdb5:要挂载的硬盘
  • /home_data:挂载目录
  • ext4:磁盘类型
  • defaults:所有选项全部使用默认配置,包括rw, suid, dev, exec, auto, nouser,和 async。
  • 0:dump 工具通过它决定何时作备份. dump 会检查其内容,并用数字来决定是否对这个文件系统进行备份。 允许的数字是 0 和 1 。0 表示忽略, 1 则进行备份。大部分的用户是没有安装 dump 的 ,对他们而言 应设为 0
  • 2:fsck选项,fsck命令通过检测该字段来决定文件系统通过什么顺序来扫描检查,根文件系统/对应该字段的值应该为1,其他文件系统应该为2。若文件系统无需在启动时扫描检查,则设置该字段为0。

4、拷贝数据

/home 目录下的所有文件 复制/同步 到目标盘挂载的目录下(这里一定要注意加上-a,否则,复制过去文件的所有者会变成root,而且路径一定要设置正确,否则都会导致重启的时候在登陆界面无限循环,无法进入图形界面。)

sudo cp -arv /home/* /test

拷贝中,“sudo rsync -av /home/ /test” 和 “sudo cp -arv /home/* /test” 相同的效果;
sudo rsync -av /home/ /test 命令会递归复制 /home 目录及其所有子目录和文件到 /test 目录。如果 /test 目录不存在,将会创建。如果 /test 目录存在,则会将 /home 目录及其所有子目录和文件复制到 /test 目录,覆盖 /test 目录中已有的文件。

sudo cp -arv /home/ /test* 命令会将 /home 目录中的所有文件和子目录逐个复制到 /test 目录。如果 /test 目录不存在,将会创建。如果 /test 目录存在,则会将 /home 目录中的所有文件和子目录复制到 /test 目录,覆盖 /test 目录中已有的文件。

以下是两条命令的详细区别:

参数rsynccp
-a保留所有权限、所有者和时间戳信息保留所有权限、所有者和时间戳信息
-r递归复制逐个复制
-v显示详细的复制过程显示详细的复制过程

在大多数情况下,rsync 命令是更有效的复制命令。这是因为 rsync 命令会使用传输算法来减少数据传输量。如果您需要复制大量文件或目录,rsync 命令是更好的选择。
但是,如果您只需要复制少量文件或目录,cp 命令可能更快。这是因为 cp 命令不需要使用传输算法。

5、修改启动挂载文件 /etc/fstab

# 备份原文件
sudo cp -a /etc/fstab /etc/fstab.old

查看目标盘的uuid:

sudo blkid | grep /dev/sda5

编辑 /etc/fstab 文件,将上一步查找到的uuid替换文件中的uuid。

以 uuid为:37a3d47a-875c-4072-9b0a-ce665e8d60f0, 例如:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda2 during installation
UUID=9d2858b6-3e81-4b65-ade7-7167154b24ea /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/sda1 during installation
UUID=50D1-4C39  /boot/efi       vfat    umask=0077      0       1
# /home was on /dev/sdb during installation
## 增加这一行,将 uuid 替换为新磁盘的 uuid:
UUID=37a3d47a-875c-4072-9b0a-ce665e8d60f0 /home           ext4    defaults        0       2
# swap was on /dev/sda3 during installation
UUID=eb30e557-ee8c-4831-be5f-c7f09b9ea6ec none            swap    sw              0       0

注意:defaults ,记得加上 s

重启, /home 目录更换成功;

注意事项

成功操作后,如果磁盘空间够用,则无需其他操作直接用即可。

如果原先的磁盘已经占用很满,但是发现数据迁移后并没有释放空间,这是因为原先的数据都还在。

如果想要释放空间(删除原先的数据),则跟随以下步骤操作:

小心谨慎操作,以防数据丢失

重启之后,可以尝试在 /home 目录中新建文件,以确定是否在期望的操作空间中。

重新挂载磁盘,确定是否成功载入目录;

如果成功,则删除原先磁盘的数据;

reference

@misc{BibEntry2023Nov,
title = {{ubuntu下迁移home目录至新的分区教程详解}},
year = {2023},
month = nov,
urldate = {2023-11-13},
language = {chinese},
note = {[Online; accessed 13. Nov. 2023]},
url = {https://www.yii666.com/blog/222168.html}
}

@misc{BibEntry2023Nov,
title = {{如何在Ubuntu中挂载新硬盘{ _ \_ _}ubuntu挂载硬盘-CSDN博客}},
year = {2023},
month = nov,
urldate = {2023-11-13},
language = {chinese},
note = {[Online; accessed 13. Nov. 2023]},
url = {https://blog.csdn.net/qq_33031419/article/details/133056014}
}

@misc{BibEntry2023Nov,
title = {{Linux文件xn–ih7c/etc/fstab-CSDN博客}},
year = {2023},
month = nov,
urldate = {2023-11-13},
language = {chinese},
note = {[Online; accessed 13. Nov. 2023]},
url = {https://blog.csdn.net/weixin_45264425/article/details/126963781}
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【leetcode】8.字符串转换整数

题目 请你来实现一个 myAtoi(string s) 函数&#xff0c;使其能将字符串转换成一个 32 位有符号整数&#xff08;类似 C/C 中的 atoi 函数&#xff09;。 函数 myAtoi(string s) 的算法如下&#xff1a; 读入字符串并丢弃无用的前导空格 检查下一个字符&#xff08;假设还未…

同城小程序怎么运作 本地化生活小程序开发

同城小程序可以采取公域加私域的运营方式&#xff0c;进行运作。 在社交媒体平台上分享有趣的本地生活内容、社区动态&#xff0c;可以通过举办本地活动、合作推广等方式进行线下宣传&#xff0c;可以通过抖音本地化生活服务进行线下门店推广。 本地化生活小程序开发需要结合自…

基于RK3568新零售智能售货柜解决方案

I 方案简介 新零售智能售货柜解决方案&#xff1a; 无人零售除了无人货架外&#xff0c;自动售货机仍是亮点。但仍有很多人认为自动售货机已经过时&#xff0c;不会成为新零售领域的新星。 随着手机支付、人脸支付不断普及&#xff0c;智能售卖不断的推陈出新&#xff0c;无人…

Netty入门指南之Reactor模型

作者简介&#xff1a;☕️大家好&#xff0c;我是Aomsir&#xff0c;一个爱折腾的开发者&#xff01; 个人主页&#xff1a;Aomsir_Spring5应用专栏,Netty应用专栏,RPC应用专栏-CSDN博客 当前专栏&#xff1a;Netty应用专栏_Aomsir的博客-CSDN博客 文章目录 参考文献前言单线程…

基因检测技术的发展与创新:安全文件数据传输的重要作用

基因是生命的密码&#xff0c;它决定了我们的身体特征、健康状况、疾病风险等。随着基因检测技术的高速发展&#xff0c;我们可以通过对基因进行测序、分析和解读&#xff0c;更深入地认识自己&#xff0c;预防和治疗各种遗传性疾病&#xff0c;甚至实现个性化医疗和精准健康管…

IDEA 2022创建Spring Boot项目

首先点击New Project 接下来&#xff1a; (1). 我们点击Spring Initializr来创建。 (2). 填写项目名称 (3). 选择路径 (4). 选择JDK------这里笔者选用jdk17。 (5). java选择对应版本即可。 (6). 其余选项如无特殊需求保持默认即可。 然后点击Next。 稍等一会&#xff0c…

堆排序(大根堆、小根堆)

参考视频&#xff1a; 1、数据结构&#xff0c;小根堆的调整&#xff01;必须熟练掌握&#xff01; 2、数据结构建堆筛选输出最小值 | 计算机软件考研期末知识点2

能够定时发送朋友圈的软件

此款软件提供便捷的网页端登录方式&#xff0c;让您轻松管理多个账号&#xff0c;实现多账号聚合管理&#xff0c;只需一个界面即可解决所有问题。 朋友圈内容编辑功能强大&#xff0c;让您在输入框内输入文本内容&#xff0c;点击表情图标选择表情&#xff0c;还能通过“”图标…

9.25 广读论文 思想汇总

数据集MIMIC-VI Learning Patient Static Information from Time-series EHR and an Approach for Safeguarding Privacy and Fairness The dataset analyzed in this study can be found in https://physionet.org/content/mimiciv/2.2/ and https://eicu-crd.mit.edu/about/…

python 使用pygame制作的打飞机小游戏

python基础使用pygame模块实现打飞机小游戏&#xff0c;有最高分记录&#xff0c;每次游戏的分数都会和最高分进行比较然后记录下来。 基础代码实现&#xff1a; class Bullet:def __init__(self):# 初始化成员变量&#xff0c;x&#xff0c;y&#xff0c;imageself.x 0self…

4.5 构建onnx结构模型-Reshape

前言 构建onnx方式通常有两种&#xff1a; 1、通过代码转换成onnx结构&#xff0c;比如pytorch —> onnx 2、通过onnx 自定义结点&#xff0c;图&#xff0c;生成onnx结构 本文主要是简单学习和使用两种不同onnx结构&#xff0c; 下面以pow 结点进行分析 方式 方法一&am…

【AI 编程助手】DevChat 指南:精准控制、简单扩展、多模型选择,助力开发者高效开发

文章目录 一、前言二、认识了解 DevChat2.1 什么是 DevChat2.2 DevChat 优势以及特点2.2.1 精准控制提示上下文2.1.2 简单的扩展机制2.1.3 多种大模型任选 三、构建安装 DevChat3.1 注册 DevChat3.2 DevChat 插件安装指南3.2.1 在 Windows 上安装git&#xff08;如已安装&#…

高效批量剪辑、处理和添加水印,用视频批量剪辑高手轻松搞定!

您是否曾经在处理大量视频时&#xff0c;因为剪辑、处理和添加水印等问题而感到烦恼&#xff1f;是否因为这些问题而大大降低了您的工作效率&#xff1f;现在&#xff0c;我们为您推荐一款全新的视频批量剪辑工具——视频批量剪辑高手&#xff0c;让您的工作效率瞬间翻倍&#…

msvcr110.dll文件丢失的解决方法

msvcr110.dll是一个动态链接库文件&#xff0c;属于Microsoft Visual C运行时库&#xff08;Runtime Library&#xff09;版本11.0。它包含了在Visual C程序中使用的函数和变量。当一个程序编译完成后&#xff0c;仍然需要一些运行时库来在操作系统上运行。这些库提供了程序所需…

联邦学习研究综述笔记

联邦学习 联邦学习的定义&#xff1a;联邦学习是一种分布式机器学习架构&#xff0c;包含多个客户端&#xff08;参与者&#xff09;和一个聚合服务器。客服端&#xff08;参与方&#xff09;&#xff1a;在本地使用自己的私有数据训练模型&#xff0c;训练完成之后将模型的参…

【机器学习】K近邻算法:原理、实例应用(红酒分类预测)

案例简介&#xff1a;有178个红酒样本&#xff0c;每一款红酒含有13项特征参数&#xff0c;如镁、脯氨酸含量&#xff0c;红酒根据这些特征参数被分成3类。要求是任意输入一组红酒的特征参数&#xff0c;模型需预测出该红酒属于哪一类。 1. K近邻算法介绍 1.1 算法原理 原理&a…

数据结构(超详细讲解!!)第二十三节 树型结构

1.定义 树型结构是一类重要的非线性数据结构&#xff0c;是以分支关系定义的层次结构。是一种一对多的逻辑关系。 树型结构是结点之间有分支&#xff0c;并且具有层次关系的结构&#xff0c;它非常类似于自然界中的树。树结构在客观世界中是大量存在的&#xff0c;例如家谱、…

【数据结构】树与二叉树(十四):二叉树的基础操作:查找给定结点的父亲(算法Father )

文章目录 5.2.1 二叉树二叉树性质引理5.1&#xff1a;二叉树中层数为i的结点至多有 2 i 2^i 2i个&#xff0c;其中 i ≥ 0 i \geq 0 i≥0。引理5.2&#xff1a;高度为k的二叉树中至多有 2 k 1 − 1 2^{k1}-1 2k1−1个结点&#xff0c;其中 k ≥ 0 k \geq 0 k≥0。引理5.3&…

基于头脑风暴算法优化概率神经网络PNN的分类预测 - 附代码

基于头脑风暴算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于头脑风暴算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于头脑风暴优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神…

基于RK3399的室内健身魔镜方案

I 方案背景 一、健身魔镜的兴起 2020年疫情席卷全球&#xff0c;宅家是防疫的措施之一&#xff0c;因而宅家运动火爆&#xff0c;随之而来的宅家运动器材也风靡起来&#xff0c;其中包含既有颜值又具有多种功能的健身魔镜。 Ⅱ 方案介绍 一、健身魔镜的方案介绍 …
最新文章