将主文件夹移动到第二个驱动器

Sta*_*ann 68 users directory

我的电脑中有 2 个硬盘驱动器。目前第二个驱动器安装为/media/storage.

如何将我的用户数据从 移动/home/media/storage/home

我可以将数据移到那里然后简单地将其符号链接回来吗?

Tak*_*kat 93

从命令行移动 HOME

为了避免副作用,同时在图形,环境中工作,我们应该从终端与执行所有操作搬回家Ctrl+ Alt+ F1

临时挂载新分区:

sudo mkdir /mnt/tmp
sudo mount /dev/sdb1 /mnt/tmp
Run Code Online (Sandbox Code Playgroud)

假设/sdb1是 HOME 的新分区

将 HOME 复制到新位置:

sudo rsync -avx /home/ /mnt/tmp
Run Code Online (Sandbox Code Playgroud)

然后我们可以将新分区挂载为 HOME

sudo mount /dev/sdb1 /home
Run Code Online (Sandbox Code Playgroud)

以确保所有数据都存在。最简单的方法是此时删除旧的/home(您可以稍后执行此操作,但您必须启动实时系统才能看到旧的家):

sudo umount /home  #unmount the new home first!
rm -rf /home/*  #deletes the old home
Run Code Online (Sandbox Code Playgroud)

让家成为永久

我们需要知道fstab从以下位置看到的条目的新分区的 UUID :

sudo blkid
Run Code Online (Sandbox Code Playgroud)

记下或复制/粘贴正确的 UUID 以编辑您fstab

sudo nano /etc/fstab   #or any other editor
Run Code Online (Sandbox Code Playgroud)

并在最后添加以下行:

UUID=<noted number from above>    /home    ext4    defaults   0  2
Run Code Online (Sandbox Code Playgroud)

请注意在此处选择合适的文件系统,例如ext3ext3 格式

重启

一个后重启,你/home有足够的空间所在的新的驱动器上。

  • 我建议您注销要移动的配置文件,然后您还可以使用诸如“usermod”之类的分发工具来完成此任务。 (2认同)

bin*_*inW 34

如果您只想移动您的主目录,即/home/your-username,那么只需将您的主目录复制到其他分区,然后使用 System->Administration->Users & Groups 打开用户设置对话框。单击密钥图标以验证您的身份

替代文字

之后选择要更改的用户并单击属性,转到高级选项卡

替代文字

将主目录更改为新目录,即您复制到其他分区的目录。

  • 的确。这是轻松更改特定用户的主目录位置的好方法。在阅读问题时,我了解到这将适用于全局 /home 目录。在这种情况下,您可以在另一个设备上创建分区,手动将所有文件移动到那里,然后在 /etc/fstab 文件本身中更改挂载点的设备。 (3认同)
  • @jfmessier:您应该将其作为答案而不是评论! (3认同)
  • 如果您在命令行上使用 'cp' 复制主目录,则最好使用 'cp -rPa *' : r 表示递归,P 表示不跟踪链接,a 表示保留所有权和权限标志。 (2认同)
  • 13.04 中的 Unity 没有“用户和组”,只有不包含这些选项的“用户”设置。你能提到13.04中Unity的相应术语吗? (2认同)

小智 17

官方详细过程在 Ubuntu 帮助 wiki 上


找到分区的 UUID

sudo blkid
Run Code Online (Sandbox Code Playgroud)

设置 Fstab

sudo -H gedit /etc/fstab 
Run Code Online (Sandbox Code Playgroud)

并将这些行添加到其中

UUID=????????   /media/home    ext4    defaults    0  2 
Run Code Online (Sandbox Code Playgroud)

并将 替换为????????预期/home分区的 UUID 编号。

保存并关闭fstab文件,然后键入以下命令:

sudo mkdir /media/home
Run Code Online (Sandbox Code Playgroud)

复制/home到新分区

sudo rsync -aXS --progress --exclude='/*/.gvfs' /home/. /media/home/.
Run Code Online (Sandbox Code Playgroud)

检查复制工作

sudo diff -r /home /media/home -x ".gvfs/*"
Run Code Online (Sandbox Code Playgroud)

注意:您还可能会看到有关未找到文件的一些错误。这是由于符号链接指向当前不存在的位置(但在您重新启动后会存在)。您可以忽略这些 - 但请查看其他任何内容。

为交换机准备 fstab

sudo -H gedit /etc/fstab
Run Code Online (Sandbox Code Playgroud)

现在编辑您之前添加的行,将/media/home部分更改为简单地说/home,使其看起来像这样:

UUID=????????   /home   ext4    defaults     0  2 
Run Code Online (Sandbox Code Playgroud)

移动/home/old_home

cd / && sudo mv /home /old_home && sudo mkdir /home
Run Code Online (Sandbox Code Playgroud)

重新启动或重新安装所有

重新启动或重新安装所有这些:

sudo mount -a
Run Code Online (Sandbox Code Playgroud)


jfm*_*ier 7

的确。这是轻松更改特定用户的主目录位置的好方法。在阅读问题时,我了解到这将适用于全局 /home 目录。在这种情况下,您可以在另一个设备上创建分区,手动将所有文件移动到那里,然后在 /etc/fstab 文件本身中更改挂载点的设备