如何将 /home 重新定位到新硬盘?

Dav*_*ica 4 linux ubuntu ubuntu-8.04

为了尝试 Linux,我构建了我的 Linux 机器(去年使用 Ubuntu 8.04 LTS)。因为这只是一次尝试,我选择使用旧的 80GB 硬盘,现在,总是不可避免的,它的空间用完了。我已经购买了一个新驱动器(1TB,但我不确定这是否相关)准备安装,用于空间,并希望使未来的发行版升级更容易。

是否有一种简单的方法/home可以将我的分区重新定位到新驱动器,而将操作系统留在旧驱动器上?

我意识到 ' easy ' 可能仅适用于给定的值......但任何帮助表示赞赏。另外,使用 1TB 驱动器可能会出现任何问题,我的主板似乎很乐意从手册中支持它,但是大驱动器是否存在任何深奥的 Ubuntu 问题?

Tho*_*enS 11

1TB 驱动器没有问题(这不大;-))

创建一个分区并格式化新驱动器(我现在称之为 /dev/sdb1)。如果分区大小超过 300GB,我更喜欢 XFS。

现在从 X 注销,以 root 身份在 tty1 登录。在 /mnt/temp-home 上挂载新分区并复制您的数据:

mkdir -p /mnt/temp-home && mount /dev/sdb2 /mnt/temp-home
rsync -WaP /home/ /mnt/temp-home/
Run Code Online (Sandbox Code Playgroud)

现在检查两次,如果 /mnt/temp-home 以正确的权限和所有权保存您的数据。如果需要,您可以移动文件夹名称并稍后删除旧家:

mv /home /home_old
Run Code Online (Sandbox Code Playgroud)

以 root 身份创建新的挂载点和 fstab 条目:

umount /mnt/temp-home
mkdir /home
chmod 0755 /home
cat >> /etc/fstab <<EOF
/dev/sdb1 /home           xfs     defaults        0       2
EOF
mount /home
Run Code Online (Sandbox Code Playgroud)

你完成了!现在登录到 X (gnome/kde/xfce..)。并享受您的新驱动器。

不要忘记删除 /home_old 以释放空间!

  • 我还建议从单用户模式或从引导 CD 执行上述操作。XFS 也是一个很好的技巧——fsck.ext3 需要在大容量上进行操作。 (2认同)
  • 顺便说一句,这是实际拥有 root 密码很方便的时候之一。移动 /home 确实不需要单用户或救援模式,但如果您以用户身份登录并使用 sudo 操作,则无法真正做到。 (2认同)