我的电脑中有 2 个 HDD 驱动器。目前,第二个驱动器安装为/media/storage
。
我如何将我的用户数据从 移动/home
到/media/storage/home
?
我可以先将数据移到那里,然后再简单地将其符号链接回来吗?
答案1
从命令行移动主页
为了避免在图形环境中工作时产生副作用,我们应该使用 ++Ctrl执行从终端移动 HOME 的所有操作。AltF1
临时挂载新分区:
sudo mkdir /mnt/tmp
sudo mount /dev/sdb1 /mnt/tmp
假设/sdb1是 HOME 的新分区
将 HOME 复制到新位置:
sudo rsync -avx /home/ /mnt/tmp
然后,我们可以将新分区挂载为 HOME
sudo mount /dev/sdb1 /home
确保所有数据都存在。最简单的方法是/home
此时删除旧数据(您可以稍后再执行此操作,但之后您必须启动实时系统才能查看旧数据):
sudo umount /home # unmount the new home first!
sudo rm -rf /home/* # deletes the old home
使 HOME 成为永久
fstab
我们需要知道从以下条目看到的新分区的 UUID :
sudo blkid
记下或复制/粘贴正确的 UUID 来编辑您fstab
的
sudo nano /etc/fstab # or any other editor
并在末尾添加以下行:
UUID=<noted number from above> /home ext4 defaults 0 2
请小心选择适当的文件系统,例如,ext3
如果是 ext3 格式
重启
之后重启,您的/home
新驱动器上有足够的空间。
答案2
如果你只想移动你的主目录,即/home/你的用户名然后只需将您的主目录复制到其他分区,然后使用系统->管理->用户和组打开用户设置对话框。单击钥匙图标进行身份验证
之后选择要更改的用户并单击属性,转到高级选项卡
将主目录更改为新目录,即您复制到其他分区的目录。
答案3
官方详细流程是在 Ubuntu 帮助 wiki 上
查找分区的 UUID
sudo blkid
设置 Fstab
sudo -H gedit /etc/fstab
并将这些行添加到其中
UUID=???????? /media/home ext4 defaults 0 2
并将其替换????????
为目标/home
分区的 UUID 号码。
保存并关闭fstab
文件,然后输入以下命令:
sudo mkdir /media/home
复制/home
到新分区
sudo rsync -aXS --progress --exclude='/*/.gvfs' /home/. /media/home/.
检查复印是否有效
sudo diff -r /home /media/home -x ".gvfs/*"
注意:您还会看到一些有关文件未找到的错误。这些错误是由于符号链接指向当前不存在的位置(但重新启动后会存在)造成的。您可以忽略这些错误 - 但请检查其他内容。
为交换机准备 fstab
sudo -H gedit /etc/fstab
现在编辑您之前添加的行,将/media/home
部分内容更改为简单地说/home
,使其看起来像这样:
UUID=???????? /home ext4 defaults 0 2
搬入/home
/old_home
cd / && sudo mv /home /old_home && sudo mkdir /home
重新启动或重新挂载全部
用以下命令重新启动或者重新挂载所有:
sudo mount -a
答案4
好的,我发现唯一可行的方法是创建另一个用户,授予其管理员权限,注销主 ID,使用新 ID 登录,然后使用 usermod 命令。