文章目录
📋 一、准备工作
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 技术的发展与实践!