在一台新电脑上安装了 ubuntu,电脑上有一个 SSD 和一个 HDD。操作系统自然安装在 SSD 上。使用大约一周后,配置好一切并下载了东西,我决定是时候对额外的 HDD 进行分区和安装。我成功地对磁盘进行了分区,然后我决定将文件夹存储/home
在 HDD 上是个好主意。我跟着这移动文件夹的指南/home
。我完成了这个过程,一切似乎都运行良好。然后我意识到我仍然有这个/media/home
文件夹,尽管它只是暂时的。所以我再次查看了该指南,我看到当它说要创建这个目录时,它还说你可以在完成后删除它:
- 保存并关闭 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
命令足以删除未使用的空目录。
下次,请采取两件不同的事情来确保此问题不再发生:
/media/home
在尝试移除之前,请确保没有安装任何内容。要查看当前安装了什么以及安装在哪里,您可以运行mount
。或者直接运行:sudo umount /media/home
即使挂载点未被使用,该命令也是无害的。(另外,你应该注意输出。如果文件系统当前正在通过该挂载点进行访问,它惯于卸载文件系统——但它会告诉您它已失败。)
这实际上主要是为了确保
/media/home
挂载点确实能被删除。但它也会阻止您意外删除新主分区的内容。准备好删除
/media/home
挂载点后,请使用以下命令:sudo rmdir /media/home
通过使用该命令而不是递归命令
rm
,您可以避免删除里面的任何内容,以防您犯了错误并且里面存在某些东西。这是为了安全起见。使用
rm -r
也可以,但如果你犯了错误,你可能会删除比你预期更多的内容。(rm -r ...
如果你知道或相信这样做rmdir ...
就足够了,那么最好避免这样做。)
最后,请注意,删除旧的/media/home
挂载点完全不相关的步骤从删除原始分区上的旧主目录的备份。为此,您必须使用rm -r /old_home
,因为目标实际上是删除一堆文件,而不仅仅是一个空目录。