我在将 /home 文件夹从 SSD 移动到外部 HDD 时遇到了问题。SSD 上有 Linux 和 Windows 双启动,空间不足,所以我想将 /home 分区移动到外部驱动器。
我正在遵循这个指南: https://www.maketecheasier.com/move-home-folder-ubuntu/
我已遵循最初几个步骤:
在 /media/home 创建了一个临时主文件夹,并在 fstab 上为其指定了外部分区的 UUID。这很有效,我可以看到这个文件夹的大小正确。
我使用 rsync 将所有文件从 /home 复制到 /media/home
此时我遇到了一个问题,我无法将 /home 目录重新定位到 /home_backup。它告诉我设备或资源正忙。所以我查了一下,发现了类似的问题:
mv:无法将“/home”移动到“/old_home”:设备或资源繁忙
现在,阅读第一个答案,它说如果你的 /home 是它自己的分区(对我来说就是这种情况)你应该忽略该步骤并注释掉 fstab 中的当前主分区,否则新的分区将永远不会被挂载。
这是正确的吗?下一个答案说注销并进入虚拟终端,以身份运行sudo -i
并检查lsof -n | grep '/home'
以确保没有打开任何内容。在我的例子中,它列出了 bash 和 sudo。
也许我太小心了,但我需要电脑在大学里工作,不能因为笔记本电脑变砖而减慢速度。有人能解释一下正确的流程吗?我不知道如何才能在 /home 上安装我的新分区,并在当前分区中注释掉 fstab 中的当前分区。特别是如果我上面的尝试告诉我 sudo 和 bash 正在用尽当前的 /home/username。
不知道这是否有意义,但希望有人能帮我澄清这一点。
答案1
这是一种可能性。
创建可启动的 Linux 拇指驱动器。这里有一篇文章https://www.cnet.com/how-to/what-to-do-with-your-usb-flash-drive-run-linux/
从拇指驱动器启动。
将硬盘安装在介质下。
使用“sudo su”成为 root。
您现在应该可以重命名 /home 目录。
关闭硬盘并从硬盘重新启动。
如果您正确设置了 fstab,它就可以工作。
如果没有,您可能会难以登录,因为没有可用的 /home。
在这种不幸的情况下,您需要返回该过程并撤消重命名。
您或许会考虑第二种选择。
如果 /home 下的磁盘使用情况全部集中在一个或两个目录中,那么您可以将 home 保留在原处,而是放入指向这些目录副本的链接。
这样可以保留其他用户名并且可能更容易排除故障。
迈克· G.
答案2
按照 Mike 的回答再多做一步...在 mv 之后创建一个空的 /home。指南也说要这样做。我认为这是挂载工作所必需的。
(我本来想对迈克的回答发表评论,但我没有这样做的声誉)