umount /home 不起作用

umount /home 不起作用

我试图将单独的 /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

由于错误消息建议运行lsoffuser显示哪个进程正在使用/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)。

之后重新启动,一切都很好。

相关内容