我最近安装了 Manjaro Linux,一个基于 Arch 的系统。我没有在设置中指定/dev/sda6
我的驱动器。/home
/home
所以现在我的驱动器中有一个/
。
我怎样才能将我的安装/dev/sda6
为我的/home
?
我尝试编辑/etc/fstab
文件并重新启动,但没有什么区别。你能帮我解决这个问题吗?
答案1
首先也是最重要的,如果你有目录/家
那么你想先将它们复制到某个地方。
Make a note of the permissions and ownership so that you
can make sure that they are the same when you move them.
Normally you will see /home permissions as 0700
# ls -lah /home
drwx------ 4 user.user 4.0K Oct 11 21:58 user
如果您需要格式化 ext4 分区,请使用:
mkfs.ext4 /dev/sda6
然后卸载当前的/家目录映射使用:
umount /home
可以使用命令验证df
如果需要,请使用 -f 开关进行强制。 IE。umount -f /home
然后当你完成后,使用:
mount /dev/sda6 /home
将您的目录复制到/家您备份的。
如果有必要,您可以使用以下命令将它们设置回原来的状态:
chown -R user.user /home/user
chmod 0700 /home/user
现在相应地编辑您的 fstab!
你的新/dev/sda6现在应该映射到/家当你重新启动时
如果您更改了映射/etc/fstab适当地。
答案2
从您的非 root 用户帐户注销并以 root 身份登录。您可能必须切换到文本控制台才能执行此操作。确保没有其他用户帐户登录,并且没有用户拥有的进程在 /home 下打开文件。保证这一点的最简单方法是重新启动到单用户模式。
然后,以 root 身份:
mkfs.ext4
如果尚未格式化,请格式化 /dev/sda6 (例如使用)。- 编辑 /etc/fstab 将 /dev/sda6 挂载为 /home.new
mount /home.new
rsync -avx /home/ /home.new
注意:最后的
/
on/home/
是必需的umount /home.new
mv /home /home.old
- 编辑 /etc/fstab 将 /dev/sda6 挂载为 /home
mount /home
您现在应该能够以非 root 用户身份再次登录。如果一切正常,您可以安全地/home.old
删除sudo rm -rf /home.old
您可以随时恢复到删除 / 之前的状态,home.old
只需卸载 /home,注释掉 /etc/fstab、rmdir /home
和中的 /dev/sda6 行即可mv /home.old /home
。/dev/sda6
如果执行此操作,您将丢失新 ( ) /home 中的所有更改(例如新的、更新的或删除的文件) 。