我有 Ubuntu 18 的这个设置:两个相同的磁盘。在一个 ( sda
) 中有/
和/boot/efi
。在另一个磁盘 ( sdb
) 中有/home
.
中的可用空间sda
足以容纳 中使用的内容sdb
。
我想/home
搬到sda
. 它可能是同一个分区sda1
,也可能是一个新的分区,比如说sda3
。
这是 gparted 向我展示的内容:
有没有可能让这个移动?
我不知道我说的是否有道理,但我的计划是:
- 调整 sda1 的大小为 200GB
- 将 sda 中的空白空间格式化为 ext4(创建 sda3)
- 将sdb1的内容复制到sda3
- 告诉 linux /home 现在在 sda3 中(这部分我不知道该怎么做)
这是可能的,但您应该以 root 身份登录以避免锁定
/home
。然后你可以卸载/home
,在别处重新安装(假设/mnt
),然后复制所有文件/mnt
以/home
保留权限(cp -rp /mnt/* /home
)。然后编辑/etc/fstab
并更改您安装的位置sdb1
。如果您无法以 root 身份登录,请使用 Live CD。
但是,如果您想更改保留个人文件的操作系统,则可以使用单独的文件
/home
重新格式化。/
但可以肯定的是,近 1TB 的操作系统非常重要。如果您使用
sudo
orsu
而不是直接登录,您仍然会锁定主目录并且您将无法 umount/home
。如果您无法直接登录,您可能应该使用 Live CD。然而,另一种选择是:
safemove
,有一个主目录/tmp
。safemove
到 sudoers 文件中visudo
safemove
在终端上登录(通常是 control-shift-f1)。这将阻止在/tmp
.safemove
,sudo -s
mkdir /mnt/home
umount /home
mount /dev/sdb1 /mnt/home
/mnt/home/*
到,包括所有权和权限标志。/home
/home
_/etc/fstab
您现在应该将所有内容都包含在
/dev/sda1
. 在删除用户之前先检查一下safemove
。如果您要弄乱
/home
,最好至少暂时拥有一个没有其 homedir/home
并且可以sudo
和/或su
.如果你想
是的
我
/etc/fstab
的例子是我没有
/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 as 中/
)注意:如果以挂载本来就很忙的用户身份登录,则 umount 命令可能会导致失败。因此,如果您以 root 身份登录,其主目录
/root
不在挂载目录下,/home
您应该没有问题。注意2:您甚至不需要使用
/home
文件夹约定,只需将用户文件夹的位置更改为/etc/passwd
您希望这些用户帐户主文件夹所在的位置。例如,我在我的服务器上指定的所有用户帐户的/etc/passwd
主文件夹都位于/data/users/<name>
. 我确实有一个/home
文件夹,但里面什么都没有。我/data
的安装在/etc/fstab
其中,是一组 raid-5 磁盘,可产生 10 tb 的空间。