mv:无法将“/home”移动到“/old_home”:设备或资源繁忙

mv:无法将“/home”移动到“/old_home”:设备或资源繁忙

我正在尝试/home按照所述步骤移动我的目录在 Ubuntu 帮助 wiki 中

/home一切都运行正常,直到我到达必须移动到的点/old_home

当我发出命令时:

cd / && sudo mv /home /old_home && sudo mkdir /home

我收到错误信息:

mv: cannot move `/home' to `/old_home': Device or resource busy 

当我发出命令时,我正在运行终端和浏览器。我应该注销并以 root 身份重新输入以发出命令吗?

答案1


我可能有点晚了,但我希望我的解决方案能帮助现在来这里的人。我认为https://help.ubuntu.com/community/Partitioning/Home/Moving忘记提到,Moving /home into /old_home只有当 /home 为不在自己的分区.如果只是另一个文件夹,mv /home /old_home则会起作用。但如果具有自己的分区,则不会。如果有自己的分区,那么您的命令将永远不会起作用,因为 fstab 会在启动时挂载该分区,因此会出现错误。如果您有一个单独的分区,我建议忽略此步骤。您不需要备份,因为当您移动到更新、更大的主分区时,您的旧分区将只是未挂载在那里。对较新的主分区感到满意后,您可以格式化它并重新使用该空间。 所以底线是,如果您有自己的分区,并且您按照上面链接中提到的步骤操作,那么您所要做的就是在 fstab 中注释掉较旧的主分区。否则,您的新主分区将永远不会被挂载。 就是这样。希望它能对某人有所帮助。 谢谢。home/home
/homemv /home /old_home
/home/home
/home

答案2

我是否应该注销并以 root 身份重新输入以发出命令?

是的!/home在登录时移动您的账户是一个非常糟糕的主意。文件仍在此处打开。

  1. 登出。

  2. Ctrl按+ Alt+进入虚拟终端F1

  3. 使用命令行登录。

  4. 使用sudo -i成为完全根,包括环境变量。

  5. 检查是否没有文件仍然打开/home,如果没有文件打开则继续:

    lsof -n | grep '/home/'
    
  6. 执行操作。

  7. 返回图形 VT :Ctrl++AltF7

  8. 重新登录。

或者,在恢复模式下运行此命令以确保没有用户打开任何文件:


我收到错误信息:

mv: 无法将 /home' 移动到 /old_home':设备或资源繁忙

这是大概因为不仅文件在那里打开,而且文件系统也由您在/home/username/.gvfs/某处挂载。注销应该会卸载它们。如果没有,请使用 检查当前的挂载cat /proc/mounts

相关内容