我试图将单独的 /home 分区与 linux mint 13 中的 / 分区合并。我被告知要卸载 /home,将其安装在不同的位置并将内容复制到 / 分区上的 /home 目录。
我已经尝试过,但无法卸载/home。当我尝试这样做时,我收到一条消息:
umount: /home device is busy (which processes use this device can be possibly be found with lsof or fuser)
我如何卸载我的 /home 并将其安装在单独的位置(/dev/sda2/mnt/home)以便能够将内容复制到 /home?
答案1
umount: /home 设备正忙
这意味着您(或某人)当前正在使用/home
文件系统上的文件。最简单的解决方案是让所有普通用户注销系统,然后以 root 身份重新登录。
(您可能需要在登录窗口应用程序的安全选项卡中将系统配置为“允许本地系统管理员登录”。)
如果 umount 仍然报错,那么,如错误消息所述,请查看以下输出:
lsof /home
和,
fuser -mv /home
这些命令将显示哪些进程在/home
文件系统上打开了文件,以便您可以关闭它们。
/home
请注意,像使用当前工作目录打开终端/控制台这样看似无辜的事情将导致/home
正在使用并停止umount /home
。
答案2
我在 Google 计算引擎中遇到了这个问题,我将 /home 设置为单独的分区。
在这种情况下,您永远无法以 root 身份登录,您必须以用户身份登录,然后切换到 root,因此永远不可能umount /home
我的解决方案是以普通用户身份登录
ssh myuser@myvm
然后,一旦进入,我就切换到 root 并关闭我自己的会话,如下所示:
cd /
exec sudo su
首先,我转到根文件夹,以防我的主文件夹抱怨正在使用。然后我将当前的 bash 会话替换为 root 会话,方法是在前面exec
加上sudo su
现在我可以umount /home
毫无问题了。
答案3
由于错误消息建议运行lsof
或fuser
显示哪个进程正在使用/home
,您应该尝试:
$ fuser -v /home/
USER PID ACCESS COMMAND
/home: root kernel mount /home
配合lsof
输出可以更长。
对您来说简单的解决方案是尝试修改/etc/fstab
以安装/home
到不同的分区。像这样的东西:
/dev/sdb3 /home ext4 defaults,noatime 0 2
确保评论或删除旧条目,重新启动并查看更改。
答案4
另一个想法是使用救援磁盘重新启动,获取 root shell,安装所有分区,然后将旧数据执行 cp -r 到新位置,然后进行同步并卸载所有分区并重新启动。顺便说一句,您还可以修改 /etc/fstab 表,以按照您想要的方式在已安装的根分区上进行操作(而不是救援 /etc/fstab)。
之后重新启动,一切都很好。