问题描述
我的电脑里有2个硬盘驱动器。目前,第二个驱动器安装为/media/storage
。
如何将用户数据从/home
移至/media/storage/home
?
我可以将数据移到那里然后简单地将其符号链接吗?
最佳解决方法
如果您只想移动您的主目录,即/home /your-username,则只需将您的主目录复制到其他分区,然后使用System-> Administration-> Users&用于打开用户设置对话框的组。单击按键图标以验证您的自我
之后,选择要更改的用户并单击属性,转到高级选项卡
将主目录更改为新目录,即您复制到其他分区的目录。
次佳解决方法
从命令行移动HOME
为避免在图形环境中工作时产生副作用,我们应执行所有操作,以便使用Ctrl
+ Alt
+ F1
从终端移动HOME。
暂时挂载新分区:
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!
rm -rf /home/* #deletes the old 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
Reboot
重新启动后,您的/home
驻留在具有足够空间的新驱动器上。
第三种解决方法
官方详细程序是here on the Ubuntu help 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
第四种方法
确实。这是轻松更改特定用户的主目录位置的好方法。在阅读问题时,我理解这将是全局的/home目录。在这种情况下,您可以在另一台设备上创建分区,手动移动其中的所有文件,然后在/etc /fstab文件本身中更改安装点的设备
第五种方法
好吧,我发现这个工作的唯一方法是创建另一个用户,给它管理权限,注销主id,用新id登录然后使用usermod命令。