是否可以将/home挂载点从一个磁盘移动到/挂载点所在的磁盘?

是否可以将/home挂载点从一个磁盘移动到/挂载点所在的磁盘?

我有 Ubuntu 18 的设置:两个相同的磁盘。 ( ) 中sda//boot/efi。在另一个磁盘(sdb)中有/home

中的可用空间sda足以容纳 中使用的内容sdb

我想/home搬到sda.它可能是同一个分区sda1,也可能是一个新分区sda3

这是 gparted 向我展示的内容:

磁盘分区

有可能让这个动起来吗?

我不知道我说的是否有道理,但我的计划是:

  • 调整 sda1 的大小为 200GB
  • 将 sda 中的空白空间格式化为 ext4(创建 sda3)
  • 将sdb1的内容复制到sda3
  • 告诉linux /home现在在sda3中(这部分我不知道该怎么做)

答案1

如果您使用sudosu代替直接登录,您仍然会锁定主目录并且无法 umount /home。如果您无法直接登录,您可能应该使用 Live CD。

然而,另一种选择是:

  • 创建一个用户safemove,并有一个主目录/tmp
  • 添加safemove到 sudoers 文件visudo
  • safemove在终端上登录(通常是 control-shift-f1)。这将阻止在 下创建完整的图形桌面/tmp
  • 确保其他人都已注销。
  • 作为safemovesudo -s
  • mkdir /mnt/home
  • umount /home
  • mount /dev/sdb1 /mnt/home
  • 如果您不需要单独的分区,请复制/mnt/home/*到,包括所有权和权限标志。/home
  • /home从......中去除/etc/fstab
  • 深呼吸并重新启动。

您现在应该拥有所有内容了/dev/sda1。在删除用户之前首先检查这一点safemove

如果您打算搞乱/home,那么至少暂时拥有一个没有其 homedir 且/home可以sudo和/或 的用户 ID 总是好的su

如果你想

答案2

这是可能的,但您应该以 root 身份登录以避免锁定/home。然后您可以卸载/home,在其他地方重新安装(假设/mnt),然后复制所有文件以/mnt保留/home权限(cp -rp /mnt/* /home)。然后编辑/etc/fstab并更改安装位置sdb1

如果您无法以 root 身份登录,请使用 Live CD。

但是,如果您想更改保存个人文件的操作系统,则拥有单独的文件/home可以让您重新格式化。/但可以肯定的是,近 1TB 对于操作系统来说是相当重要的。

答案3

是的

我的/etc/fstab例子是

UUID=800e924a-a869-4152-9503-9d9cfecbd16e                /                       xfs     defaults        0 0
UUID=4f3da85a-71a9-4f6e-bc5f-dfd23a880b08                /boot                   xfs     defaults        0 0
UUID=1FAB-9515                                           /boot/efi               vfat    umask=0077,shortname=winnt 0 0
/dev/disk/by-uuid/e0791b9e-b620-4274-9857-78389b10f5a5   /data auto nosuid,nodev,nofail,x-gvfs-show 0 0

# my /data is a 15tb hardware raid-5, comes in as /dev/sda1
# my root partition comes in as /dev/sdb3, with /boot and /boot/efi as sda2 and sda1.

我没有/home作为单独的分区安装。如果是的话,您会将其视为/etc/fstab这样的条目,这将是相当明显的。

在您的情况下,您想/home在根分区上进行操作,所以这就是我要做的

  • 您现有的房屋已安装为单独的分区,请从/etc/fstab
  • mkdir /newhome
  • cp -rp /home/* /newhome/
  • umount /home
  • rmdir /home
  • mv /newhome /home
  • /home从您的/etc/fstab;中删除挂载点如果您想/home在根分区上使用这就是真正需要发生的事情/(它已经作为 /etc/fstab 挂载在/

笔记:如果以用户身份登录,并且挂载本来就很忙,则 umount 命令可能会导致失败。因此,如果您以 root 身份登录(其主目录位于/root而不是在已挂载的目录下),/home那么您应该没有问题。

笔记2:您甚至不需要使用/home文件夹约定,只需将用户文件夹的位置更改/etc/passwd为您想要这些用户帐户的位置驻留的文件夹。例如,我的服务器上指定的所有用户帐户在/etc/passwd下都有主文件夹/data/users/<name>。我确实有一个/home文件夹,但里面什么也没有。我的/data安装在/etc/fstab一组 raid-5 磁盘中,形成 10 TB 的空间。

相关内容