尝试将 /home 移动到新硬盘,但最终删除了 /home

尝试将 /home 移动到新硬盘,但最终删除了 /home

在一台新电脑上安装了 ubuntu,电脑上有一个 SSD 和一个 HDD。操作系统自然安装在 SSD 上。使用大约一周后,配置好一切并下载了东西,我决定是时候对额外的 HDD 进行分区和安装。我成功地对磁盘进行了分区,然后我决定将文件夹存储/home在 HDD 上是个好主意。我跟着移动文件夹的指南/home。我完成了这个过程,一切似乎都运行良好。然后我意识到我仍然有这个/media/home文件夹,尽管它只是暂时的。所以我再次查看了该指南,我看到当它说要创建这个目录时,它还说你可以在完成后删除它:

  1. 保存并关闭 fstab 文件,然后输入以下命令:

sudo mkdir /media/home

此命令将创建一个新目录,稍后用于临时挂载新分区。在该过程结束时可以删除该目录。

我继续这样做,但似乎无法删除该目录:

rm: cannot remove ‘/media/home’: Device or resource busy

只是它删除了/home

在删除之前我确实安装并配置了一些东西/home,但不是很多,所以故障很严重,但损害并不严重。我仍然想知道我做错了什么?我不应该删除吗/media/home

我现在应该做什么?下次按照本指南操作时我应该做些什么不同的事情?帮助。

谢谢!

答案1

显然你的新主分区安装在两个都 /home/media/home你跑步的时候rm -r /media/home

rm -r删除目录递归地。它会先删除目录中的所有文件。可以同时将设备挂载到多个挂载点。如果/media/home运行该命令时新主分区仍处于(或自动)挂载状态,则其内容将被删除。即使它也处于挂载状态,/home也不会阻止这种情况发生。

这也解释了rm: cannot remove ‘/media/home’: Device or resource busy错误。删除里面的所有内容/media/home(即挂载在该挂载点的分区上的所有文件)后,rm尝试删除/media/home自身。但无法删除挂载了文件系统的目录;尝试删除总是会失败,并出现“设备或资源繁忙”错误。

/media/home是一个挂载点。它实际上不包含任何文件,它只是一个文件系统中用于附加另一个文件系统内容的地方。当它上面没有挂载任何内容时,它应该是空的。因此,rm -r没有必要删除它——当它没有内容可递归时,您不需要递归删除它。通常的rmdir命令足以删除未使用的空目录。

下次,请采取两件不同的事情来确保此问题不再发生:

  1. /media/home在尝试移除之前,请确保没有安装任何内容。要查看当前安装了什么以及安装在哪里,您可以运行mount。或者直接运行:

    sudo umount /media/home
    

    即使挂载点未被使用,该命令也是无害的。(另外,你应该注意输出。如果文件系统当前正在通过该挂载点进行访问,它惯于卸载文件系统——但它会告诉您它已失败。)

    这实际上主要是为了确保/media/home挂载点确实被删除。但它也会阻止您意外删除新主分区的内容。

  2. 准备好删除/media/home挂载点后,请使用以下命令:

    sudo rmdir /media/home
    

    通过使用该命令而不是递归命令rm,您可以避免删除里面的任何内容,以防您犯了错误并且里面存在某些东西。

    这是为了安全起见。使用rm -r也可以,但如果你犯了错误,你可能会删除比你预期更多的内容。(rm -r ...如果你知道或相信这样做rmdir ...就足够了,那么最好避免这样做。)

最后,请注意,删除旧的/media/home挂载点完全不相关的步骤删除原始分区上的旧主目录的备份。为此,您必须使用rm -r /old_home,因为目标实际上是删除一堆文件,而不仅仅是一个空目录。

相关内容