当前位置: 首页 > article >正文

【学习记录】在 Ubuntu 中将新硬盘挂载到 /home 目录的完整指南

文章目录

    • 📋 一、准备工作
      • 1. 备份重要数据
      • 2. 确认新硬盘设备信息
    • 🛠️ 二、格式化新硬盘(如未格式化)
      • 1. 格式化为 ext4 文件系统(推荐)
    • 🔁 三、临时挂载并迁移数据
      • 1. 创建临时挂载点
      • 2. 挂载新硬盘到临时目录
      • 3. 备份原 `/home` 内容(可选但建议)
      • 4. 卸载旧的 `/home` 分区(如果适用)
      • 5. 挂载新硬盘到 `/home`
    • 📄 四、配置开机自动挂载
      • 1. 获取新硬盘的 UUID(推荐方式)
      • 2. 编辑 `/etc/fstab` 文件
      • 3. 验证 fstab 配置是否正确
    • ✅ 五、验证挂载状态
    • ⚠️ 六、注意事项与常见问题

📋 一、准备工作

1. 备份重要数据

  • 操作前请务必备份 /home 中的重要数据,防止意外丢失。

2. 确认新硬盘设备信息

查看系统识别到的新硬盘设备名:

lsblk

sudo fdisk -l

例如输出如下设备标识符:

/dev/nvme0n1

🛠️ 二、格式化新硬盘(如未格式化)

1. 格式化为 ext4 文件系统(推荐)

sudo mkfs.ext4 /dev/nvme0n1

如果你的硬盘已有分区,请选择具体分区(如 /dev/nvme0n1p1)进行操作。


🔁 三、临时挂载并迁移数据

1. 创建临时挂载点

sudo mkdir /mnt/temp

2. 挂载新硬盘到临时目录

sudo mount /dev/nvme0n1 /mnt/temp

3. 备份原 /home 内容(可选但建议)

sudo rsync -avxHAX --progress /home/ /mnt/temp/
  • -a:归档模式,保留权限和符号链接;
  • -v:显示进度;
  • -x:限制在当前文件系统内同步;
  • -H:保持硬链接;
  • -A:保持 ACL;
  • -X:保持扩展属性。

4. 卸载旧的 /home 分区(如果适用)

如果 /home 是独立分区,你需要先卸载它:

sudo umount /home

如果出现“目标正在使用”错误,可以通过以下命令强制卸载:

sudo lsof /home | awk 'NR!=1 {print $2}' | xargs kill -9
sudo umount /home

5. 挂载新硬盘到 /home

sudo mount /dev/nvme0n1 /home

📄 四、配置开机自动挂载

1. 获取新硬盘的 UUID(推荐方式)

sudo blkid | grep nvme0n1

输出示例:

UUID="abcd1234-abcd-1234-abcd-1234567890ab"

2. 编辑 /etc/fstab 文件

sudo nano /etc/fstab

添加以下内容(使用 UUID 更稳定):

UUID=abcd1234-abcd-1234-abcd-1234567890ab /home ext4 defaults 0 2

也可以使用设备路径 /dev/nvme0n1,但在 SSD/NVMe 等热插拔场景中建议使用 UUID。

3. 验证 fstab 配置是否正确

sudo mount -a

如果没有报错,则表示配置成功。


✅ 五、验证挂载状态

重启系统后检查是否成功挂载:

df -h | grep home

应看到类似输出:

/dev/nvme0n1   500G   20G  480G   4% /home

同时可以检查 /home 中的数据是否已从新硬盘加载。


⚠️ 六、注意事项与常见问题

问题原因解决方法
挂载失败设备路径或 UUID 错误使用 blkid 检查并修正 /etc/fstab
文件系统类型错误硬盘不是 ext4使用 mkfs.ext4 重新格式化
开机无法进入图形界面/etc/fstab 配置有误进入恢复模式修改 fstab
用户登录异常权限变更检查 /home/$USER 所属用户和组

通过上述步骤,你可以安全地将新硬盘挂载到 Ubuntu 的 /home 目录,并迁移现有的用户数据,无需进入 Live USB 环境。这样不仅增加了存储空间,还保留了所有用户的个人设置和文件。


📌 如果你对Linux技术感兴趣,或者正在学习Linux相关知识,这篇文章可以帮助你建立一个系统的认知框架。

💬 欢迎留言交流你在项目中使用这些技术的经验,或者你遇到的相关问题,我们一起探讨 Linux 技术的发展与实践!

http://www.lryc.cn/news/2403768.html

相关文章:

  • 思尔芯携手Andes晶心科技,加速先进RISC-V 芯片开发
  • kafka消息积压排查
  • drawio 开源免费的流程图绘制
  • YOLOv8 升级之路:主干网络嵌入 SCINet,优化黑暗环境目标检测
  • 传输层:udp与tcp协议
  • centos7.9源码安装zabbix7.12,求赞
  • 亚远景科技助力东风日产通过ASPICE CL2评估
  • Go语言进阶④:Go的数据结构和Java的有啥不一样
  • 基于JWT+SpringSecurity整合一个单点认证授权机制
  • IDEA 打开文件乱码
  • 第2章:Neo4j安装与配置
  • Shell 命令及运行原理 + 权限的概念(7)
  • 抽奖系统核心——抽奖管理
  • Android 蓝牙通信
  • 任务调度器-关于中心化调度 vs 去中心化调度的核心区别
  • 二、【ESP32开发全栈指南:ESP32 GPIO深度使用】
  • 力扣刷题(第四十九天)
  • 机器学习:集成学习概念和分类、随机森林、Adaboost、GBDT
  • 基于J2EE架构的在线考试系统设计与实现【源码+文档】
  • tpc udp http
  • 联想拯救者R9000P 网卡 Realtek 8852CE Ubuntu/Mint linux 系统睡眠后,无线网卡失效
  • Python训练营打卡 Day46
  • 解决微软应用商店 (Microsoft store) 打不开,无网络连接的问题!
  • 《影像引导下骨盆创伤手术的术前骨折复位规划:基于学习的综合流程》|文献速递-深度学习医疗AI最新文献
  • 如何使用Webhook触发器,在 ONLYOFFICE 协作空间构建智能工作流
  • 跟我学c++中级篇——理解类型推导和C++不同版本的支持
  • 什么是DevOps智能平台的核心功能?
  • Windows账户管理,修改密码,创建帐户...(无需密码)
  • 软件功能模块归属论证方法
  • 【Java后端基础 005】ThreadLocal-线程数据共享和安全