我build立了我的Linux机器(去年使用Ubuntu 8.04 LTS)来试用Linux。 因为这只是一个尝试,我select使用旧的80GB硬盘,现在,这是永远不可避免的,它已经没有了空间。 我已经购买了一个新的驱动器(1TB,虽然我不确定是否相关)准备好安装,希望能够使未来的发行版更容易升级。
有一个简单的方法,我的/home
分区可以重新安置到新的驱动器,离开操作系统的旧?
我意识到,' 容易 '可能只是一个给定的价值 …但任何帮助表示赞赏。 另外,使用1TB驱动器可能会有问题,我的主板似乎很乐意从手册中支持它,但是在驱动器尺寸较大的情况下是否有任何深奥的Ubuntu问题?
1TB驱动器没有问题(这不是很大;-))
创build一个分区并格式化新驱动器(我现在称之为/ dev / sdb1)。 分区大小超过300GB时,我更喜欢XFS。
现在从X注销,以root身份login到tty1。 将新分区安装到/ mnt / temp-home并复制您的数据:
mkdir -p /mnt/temp-home && mount /dev/sdb2 /mnt/temp-home rsync -WaP /home/ /mnt/temp-home/
现在检查两次,如果/ mnt / temp-home拥有正确的权限和所有权的数据。 您可以移动文件夹名称,如果您想要并稍后删除您的旧家庭:
mv /home /home_old
以root身份创build新的挂载点和fstab条目:
umount /mnt/temp-home mkdir /home chmod 0755 /home cat >> /etc/fstab <<EOF /dev/sdb1 /home xfs defaults 0 2 EOF mount /home
你完成了! 现在login到X(gnome / kde / xfce ..)。 并享受你的新驱动器。
不要忘记删除/ home_old释放空间!
我稍微保守一点,因为我必须在大型系统上做这个,并且有数据。 我的方法:
创build新的文件系统并将其挂载到某处(比如/ mnt / new-home)
以root身份使用rsync将数据从当前位置复制到新位置:
# rsync -avW --progress --delete /home/* /mnt/new-home
你可以在系统生效和用户login的情况下做到这一点。实际上,你可以不止一次地执行这个操作 – 后续运行应该更快,因为大部分数据已经存在,而–delete标志将清理那些已被删除。 ( rsync会帮助你select其他的标志)
现在,您需要一个维护窗口,您可以将所有人都踢出服务器。 启动到单用户模式,重新挂载/ home和/ mnt / new-home,然后再次运行rsync命令。 这个rsync运行应该是快速的,因为99%的工作已经完成。 (或者至less比第一次运行速度快,反正我已经有了“单用户,最后通”的rsyncs运行长达四个小时,几乎没有什么…)
完成后,更改/ etc / fstab,以便将您用作新家的分区挂载为/ home。 您也可以将旧的主分区安装为/home.old,或者如果它只是较大分区中的目录,请将其重命名为/home.old。
重新启动到多用户,你应该完成。
我之所以不按照ThorstenS的build议来使用MV,是因为我有一些糟糕的经历,在MV中, 通过使用rsync,如果你做一个狗的新家早餐,你总是可以卸载它,newfs它,你又回来了 – 没有数据丢失。 而且我还喜欢将旧的来源保留一段时间,以防万一我的全新1TB硬盘在第一个星期内被丢弃。 过了一段时间,你会为新的驱动器感到高兴(或者迫切需要旧的空间),你可以清理它。
你的备份是好的,对吧? 🙂