You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将操作系统迁移至16TB硬盘并扩展/home分区空间的技术咨询

将操作系统迁移至16TB硬盘并扩展/home分区空间的技术咨询

嘿,看起来你已经成功挂载了新的16TB硬盘,接下来要解决/home空间不足的问题对吧?我给你两个实用方案,你可以根据自己的需求选择:

方案一:直接把/home迁移到16TB硬盘(最省心,不用动整个系统)

这个方案不需要迁移整个操作系统,只把占空间的/home目录移到新盘,是最直接的解决办法:

  1. 先备份/home数据(重中之重!)
    先把现有/home的内容完整备份到新盘的临时目录,避免操作出错丢失数据:

    sudo rsync -avx /home/ /mnt/data2/home_backup/
    

    参数说明:-a保持权限和属性,-v显示进度,-x不跨分区同步,确保只同步/home本身的内容。

  2. 卸载当前的/mnt/data2挂载点

    sudo umount /mnt/data2
    
  3. 获取新硬盘的UUID并修改fstab
    先拿到/dev/sdc的UUID:

    blkid /dev/sdc
    

    然后编辑/etc/fstab文件,添加一行让新硬盘开机自动挂载到/home:

    sudo nano /etc/fstab
    

    新增内容格式:

    UUID=你的sdcUUID /home ext4 defaults 0 2
    

    保存退出(nano里按Ctrl+O,回车,再Ctrl+X)。

  4. 把备份的/home数据同步到新硬盘
    先临时挂载新硬盘到临时目录:

    sudo mkdir /tmp/temp_home && sudo mount /dev/sdc /tmp/temp_home
    

    然后把备份的数据移过去:

    sudo rsync -avx /mnt/data2/home_backup/ /tmp/temp_home/
    
  5. 重启验证

    sudo reboot
    

    重启后用df -h /home查看,应该能看到/home已经是14.6T的空间了。

  6. 清理旧的/home分区(可选)
    确认新/home正常使用后,你可以把旧的/home分区(/dev/sda4)挂载到其他目录,比如:

    sudo mkdir /mnt/old_home && sudo mount /dev/sda4 /mnt/old_home
    

    然后删除里面的内容(或者保留当备份):

    sudo rm -rf /mnt/old_home/*
    

    之后还可以把这个旧分区加到fstab里,作为额外存储使用。


方案二:把整个操作系统迁移到16TB硬盘(适合想彻底换系统盘的情况)

如果你想把整个系统都移到16TB硬盘,同时给/home分配更大空间,可以按以下步骤来:

  1. 给16TB硬盘分区
    用fdisk或者gdisk工具给/dev/sdc分区,建议分区方案:

    • /dev/sdc1:32G,作为swap分区(和原来的swap大小一致)
    • /dev/sdc2:1G,作为/boot分区
    • /dev/sdc3:2T,作为/根分区
    • /dev/sdc4:剩下的全部空间(约12.6T),作为/home分区
      分区完成后格式化各个分区:
    mkfs.ext4 /dev/sdc2  # /boot分区
    mkfs.ext4 /dev/sdc3  # /根分区
    mkfs.ext4 /dev/sdc4  # /home分区
    mkswap /dev/sdc1     # swap分区
    
  2. 挂载新分区到临时目录

    sudo mkdir /tmp/sdc_boot /tmp/sdc_root /tmp/sdc_home
    sudo mount /dev/sdc2 /tmp/sdc_boot
    sudo mount /dev/sdc3 /tmp/sdc_root
    sudo mount /dev/sdc4 /tmp/sdc_home
    sudo swapon /dev/sdc1
    
  3. 同步系统数据到新硬盘
    分别同步根目录、boot和home的内容:

    sudo rsync -avx / /tmp/sdc_root/
    sudo rsync -avx /boot/ /tmp/sdc_boot/
    sudo rsync -avx /home/ /tmp/sdc_home/
    
  4. 修改新系统的fstab
    先获取新分区的UUID:

    blkid /dev/sdc1 /dev/sdc2 /dev/sdc3 /dev/sdc4
    

    然后编辑新系统的fstab文件:

    sudo nano /tmp/sdc_root/etc/fstab
    

    把原来的分区UUID全部替换成新的对应UUID,比如:

    UUID=sdc1的UUID swap swap defaults 0 0
    UUID=sdc2的UUID /boot ext4 defaults 0 2
    UUID=sdc3的UUID / ext4 defaults 0 1
    UUID=sdc4的UUID /home ext4 defaults 0 2
    
  5. 安装GRUB引导到新硬盘
    先挂载必要的虚拟文件系统,然后进入chroot环境:

    sudo mount --bind /dev /tmp/sdc_root/dev
    sudo mount --bind /proc /tmp/sdc_root/proc
    sudo mount --bind /sys /tmp/sdc_root/sys
    sudo chroot /tmp/sdc_root
    

    安装GRUB到新硬盘:

    grub-install /dev/sdc
    

    更新GRUB配置:

    update-grub
    

    退出chroot环境:

    exit
    
  6. 卸载临时挂载并重启

    sudo umount /tmp/sdc_home /tmp/sdc_root /tmp/sdc_boot
    sudo swapoff /dev/sdc1
    sudo reboot
    

    重启时在BIOS里选择从/dev/sdc(16TB硬盘)启动,验证系统正常运行后,就可以处理旧的4TB硬盘了。


注意事项

  • 所有操作前一定要备份重要数据,哪怕是小概率出错,也能避免损失
  • 如果怕操作时系统正在运行出问题,可以用Linux Live USB/CD启动后再操作
  • 修改fstab后,可以先测试挂载是否正常:sudo mount -a,没有报错再重启
  • 如果你对分区操作不熟悉,可以用图形化工具比如GParted来分区,更直观

备注:内容来源于stack exchange,提问作者Uploadkom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 14:53:09