Ubuntu 磁盘规划:将 /home 迁移到第二块 SSD
一、背景与目标
我的 ThinkPad T570 有两块 SSD:
- sda (238G):原 Windows 10 的 F 盘,已安装 Ubuntu。
- sdb (953G):原 Windows 10 的数据盘(C/D/E),全是 NTFS 分区。
目标:将第二块大容量 SSD 清空,格式化为 Linux 的 ext4 文件系统,并挂载为 /home 分区。这样以后所有个人文件(桌面、下载、文档、配置等)都存放在大容量盘上,系统盘永远不会被撑满。
二、查看当前磁盘布局(命令行)
打开终端(Ctrl+Alt+T),输入以下命令查看磁盘和分区:
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT
输出示例如下:
sda 238.5G disk
├─sda1 1G part vfat /boot/efi
└─sda2 237.4G part ext4 /
sdb 953.9G disk
├─sdb1 260M part vfat
├─sdb2 16M part
├─sdb3 300.1G part ntfs
├─sdb4 290G part ntfs
├─sdb5 10G part vfat
├─sdb6 352.5G part ntfs
└─sdb7 1000M part ntfs
可以看到:
sda是系统盘,已经安装了 Ubuntu(/和/boot/efi)。sdb是数据盘,上面还残留着 7 个 Windows 分区(NTFS、EFI、恢复分区等)。
我们下一步要做的就是清空 sdb 整块盘,再创建一个 ext4 分区作为 /home。
三、可选:备份 sdb 上需要保留的文件
如果你在 sdb 上还有旧照片、文档等需要保留,请先复制到自己的家目录:
mkdir ~/old_backup_from_sdb
然后用图形化文件管理器打开 /run/media/你的用户名/,找到需要的文件,复制到 ~/old_backup_from_sdb。
如果
sdb上没有任何需要的文件,可以跳过备份。
四、使用 GParted 分区工具(图形化)
GParted 是一款图形化的分区编辑软件,比命令行更直观,非常适合新手。
4.1 安装 GParted
sudo apt update
sudo apt install gparted -y
4.2 启动 GParted
sudo gparted
输入你的密码后,GParted 主窗口会打开。首先看到的是系统盘 /dev/sda 的状态,如 图1 所示。

4.3 切换到第二块硬盘 /dev/sdb
在 GParted 窗口右上角的下拉菜单中,选择 /dev/sdb(容量约 953.87 GiB)。此时你会看到 /dev/sdb 上原有的所有 Windows 分区,如 图2 所示。

4.4 删除所有旧分区
依次对每个分区执行以下操作:
- 右键单击分区 → 选择 卸载(如果该分区已经挂载)。
- 卸载后,再次右键单击 → 选择 删除。
当你在多个分区上执行完“卸载→删除”后,GParted 会列出所有待执行的操作,如 图3 所示。

右键后,可能发现一些分区无法被删除,需要先卸载,如 图4 所示。

⚠️ 常见问题:删除时提示“无法卸载,目标忙”
在卸载某些分区(例如 /dev/sdb6)时,可能会弹出 图5 所示的错误:“无法卸载,目标忙”。

这是因为有程序正在使用该分区(通常是文件管理器打开了它)。请检查任务栏或文件管理器窗口,找到并关闭对应的卷,例如 图6 显示了一个名为“379 GB卷”的窗口,关闭它即可。

如果还不行,可以在终端强制卸载:
sudo umount /dev/sdb6
然后回到 GParted 中继续卸载并删除。
重复上述步骤,直到 /dev/sdb 中所有的分区都被删除。最终整块磁盘会显示为 “未分配”,如 图7 所示。

4.5 创建一个新的 ext4 分区
右键点击“未分配”区域 → 新建,会弹出 图8 所示的对话框。

按照以下参数填写:
| 选项 | 值 |
|---|---|
| 之前的可用空间 | 1 MiB(默认,不可改) |
| 新大小 | 保持最大值(例如 976761 MiB) |
| 之后的可用空间 | 0 MiB |
| 对齐到 | MiB |
| 文件系统 | ext4 |
| 卷标 | home(可自定义,建议用英文) |
| 分区名称 | 留空 |
点击 添加 → 然后点击工具栏上的绿色对勾 应用。此时 GParted 会再次询问是否确认,如 图9 所示。

点击 应用,等待几秒钟,新分区就创建好了。
4.6 记录新分区的 UUID
右键点击新建的 /dev/sdb1 → 信息,会弹出 图10 所示的窗口。

复制其中的 UUID,例如:
d24cf7c9-f6a9-49dd-bf37-62ed9bb0ffb0
重要:请把这个 UUID 保存到临时文本文件(例如用
vi uuid.txt记录),后面步骤会用到。
五、迁移 /home 到新分区
5.1 挂载新分区到临时目录
sudo mkdir -p /mnt/newhome
sudo mount /dev/sdb1 /mnt/newhome
5.2 复制当前 /home 的所有数据
sudo rsync -avxP /home/ /mnt/newhome/
-a:归档模式(保留权限、时间戳等)-v:显示详细信息-x:不跨越文件系统边界-P:显示进度并支持断点续传
复制时间取决于 /home 中的数据量,一般几分钟到十几分钟。
5.3 替换 /home 为新分区
sudo mv /home /home.old # 把旧的 /home 改名为备份
sudo mkdir /home # 创建新的空 /home 目录
sudo mount /dev/sdb1 /home # 临时挂载新分区到 /home
5.4 设置开机自动挂载
编辑 /etc/fstab 文件:
sudo vi /etc/fstab
如果你不熟悉
vi,可以使用nano:sudo nano /etc/fstab。
将光标移到文件末尾,按 o(新建一行并进入插入模式),输入以下内容(请将 UUID=... 替换为你自己记录的 UUID):
UUID=d24cf7c9-f6a9-49dd-bf37-62ed9bb0ffb0 /home ext4 defaults 0 2
保存并退出:
vi:按Esc,输入:wq回车nano:按Ctrl+O回车保存,再按Ctrl+X退出
5.5 测试挂载配置
sudo mount -a
df -h /home
如果输出显示 /dev/sdb1 且容量约为 938G(或接近 953G),说明配置正确。
六、重启并清理
6.1 重启电脑
sudo reboot
如果重启时提示“Operation inhibited”,可以使用强制重启:
sudo systemctl reboot -i
6.2 验证挂载
重启并登录后,再次运行:
df -h /home
应该依然显示 /dev/sdb1。
6.3 删除旧的 /home.old 备份(释放系统盘空间)
sudo rm -rf /home.old
请确认新
/home工作正常(桌面、文档等都在)之后再执行删除。
七、最终效果
- 系统盘
/dev/sda2(根目录/):只存放系统和软件,占用很小(例如 14G) - 数据盘
/dev/sdb1(挂载点/home):存放所有用户文件,容量近 1TB - 磁盘布局简洁,没有任何垃圾分区
八、小白常见问题与解决方法
8.1 粘贴命令到终端怎么用?
- 快捷键:
Ctrl + Shift + V(不是Ctrl+V) - 鼠标中键:选中文本后,按滚轮粘贴
8.2 sudo gedit /etc/fstab 提示找不到命令?
Ubuntu 新版本不再预装 gedit,请使用 vi 或 nano,如上面所述。
8.3 删除分区时一直提示“目标忙”?
- 关闭所有文件管理器窗口(Nautilus)
- 在终端执行
sudo umount /dev/sdbX(X 是分区号) - 如果还是不行,重启电脑后再执行
sudo gparted
8.4 sudo mount -a 报错?
- 检查
/etc/fstab中的 UUID 是否写对(注意字母大小写、短横线) - 用
sudo blkid /dev/sdb1确认正确的 UUID,然后重新编辑 fstab
九、后续优化(可选,我未执行下述操作)
- 开启 SSD 自动 TRIM(提升寿命):
sudo systemctl enable fstrim.timer --now
- 检查 swap 是否正常:
swapon --show
free -h
- 整理家目录:将之前备份在
~/old_backup_from_sdb中的文件移到~/文档、~/Develop等目录后,删除该备份文件夹。
十、总结
通过以上步骤,你已成功将第二块 SSD 规划为独立的 /home 分区。整个过程不需要外置硬盘备份(旧 /home 被保留为 /home.old),即使操作失误也可以回退。现在你可以放心地向 /home 里存放电影、游戏、代码等项目,再也不用担心根分区爆满。