如何从HDD的未分配空间扩容Ubuntu的home分区(双系统:1块SSD+1块HDD)
如何从HDD的未分配空间扩容Ubuntu的home分区(双系统:1块SSD+1块HDD)
首先得给你划个重点:SSD和HDD是两个独立的物理磁盘,它们的分区没法直接合并——这就是你为啥在GParted里切到HDD看不到SSD上/home分区的原因,因为GParted一次只显示单块磁盘的分区,切换回SSD就能看到原来的/home和root啦。
你的需求是扩大/home的可用空间,不用非得把HDD的空间“合并”到SSD的/home分区里,有两种靠谱的方案,看你需求选:
方案一:把HDD空间挂载为/home下的子目录(简单安全,适合存大文件)
这种方法不用动原来的SSD/home分区,把HDD的未分配空间做成一个新分区,挂载到/home里的某个文件夹,比如专门存视频、下载文件的目录,既不影响原有系统,又能用上HDD的空间。
步骤如下:
- 用GParted创建HDD分区
- 打开GParted,右上角下拉菜单选你的HDD(一般是/dev/sdb之类的,和SSD的/dev/sda区分开)
- 右键点击未分配空间,选择「New」,文件系统选
ext4(和Ubuntu的分区格式一致),可以给个好记的标签比如hdd_home_data,然后点击工具栏的「Apply」按钮执行操作。
- 获取新分区的UUID
- 打开终端,输入
sudo blkid,找到刚才创建的ext4分区(看标签或者大小就能认出),复制它的UUID(一串类似1234-abcd-5678-efgh的字符)。
- 打开终端,输入
- 创建挂载点
- 比如你想把HDD空间挂载到
/home/你的用户名/big_files,就输:sudo mkdir /home/你的用户名/big_files(把「你的用户名」换成你实际的Ubuntu用户名)
- 比如你想把HDD空间挂载到
- 设置开机自动挂载
- 编辑系统挂载配置文件:
sudo nano /etc/fstab - 在文件末尾添加一行:
UUID=你复制的UUID /home/你的用户名/big_files ext4 defaults 0 2 - 按
Ctrl+O保存,Ctrl+X退出编辑器。
- 编辑系统挂载配置文件:
- 测试挂载
- 输入
sudo mount -a,如果没有报错,说明挂载成功了。重启系统后,这个HDD分区会自动挂载到你指定的目录里,直接往里存文件就行。
- 输入
方案二:把整个/home目录迁移到HDD(彻底把/home移到HDD,释放SSD空间)
如果你想让所有的用户数据都存在HDD上,把SSD的/home分区腾出来给root或者其他用途,可以用这个方法。操作前一定要备份好/home里的重要数据!
步骤如下:
- 备份/home数据
- 把/home里的重要文件复制到U盘或者其他安全的地方,以防操作出错。
- 用GParted创建HDD的/home分区
- 和方案一第一步一样,在HDD的未分配空间创建ext4分区,标签比如
hdd_home。
- 和方案一第一步一样,在HDD的未分配空间创建ext4分区,标签比如
- 临时挂载新分区
- 终端输入:
sudo mkdir /mnt/temp_home && sudo mount /dev/sdXn /mnt/temp_home(把sdXn换成你HDD上新分区的设备名,比如sdb2,从GParted里能看到)
- 终端输入:
- 复制/home内容到HDD分区
- 输入
sudo rsync -avx /home/ /mnt/temp_home/,这个命令会完整复制/home的所有内容,包括隐藏文件,参数-avx保证了复制的完整性和安全性。
- 输入
- 替换原/home目录
- 先重命名原来的/home:
sudo mv /home /home_old - 创建新的/home挂载点:
sudo mkdir /home
- 先重命名原来的/home:
- 设置开机自动挂载HDD为/home
- 还是用
sudo blkid找到HDD上新分区的UUID,然后编辑/etc/fstab:sudo nano /etc/fstab - 在末尾添加一行:
UUID=新分区的UUID /home ext4 defaults 0 2 - 保存退出后,输入
sudo mount -a测试挂载。
- 还是用
- 验证并清理
- 重启系统,登录后确认所有用户数据都正常,然后可以删除原来的/home_old释放SSD空间:
sudo rm -rf /home_old
- 重启系统,登录后确认所有用户数据都正常,然后可以删除原来的/home_old释放SSD空间:
额外提醒
- 双系统下一定要关闭Windows的「快速启动」功能,不然Windows会锁定磁盘,导致Ubuntu里没法正常操作磁盘分区。
- 如果操作分区时遇到“分区被占用”的提示,建议用Ubuntu的Live USB启动后再操作,因为运行中的系统会挂载/home和root分区,没法修改。
备注:内容来源于stack exchange,提问作者Mudit
相关产品推荐
相关产品推荐

