分区帮助 - /dev/sda1 显然被系统使用;不会在这里创建文件系统

分区帮助 - /dev/sda1 显然被系统使用;不会在这里创建文件系统

第一次在这里发帖。我正在学习 LFCS 课程,因此对 Linux 系统管理员来说还比较陌生,所以如果这是一个显而易见的问题,请原谅。

我遇到了一个非常令人沮丧的问题,让我困惑了好几天。我在这个网站和谷歌上搜索了好久,但还没有找到与我的问题相关的答案。

我在自己的 CentOS 7 VM 上做一个小项目,我正在设置 Kibana 和 Elastic 搜索。首先 - 我正在为此在我的 HD 上设置一个分区,并且已经使用 fdisk 创建了一个没有问题的分区。当我将新分区写入表时,我总是收到表未正确更新的错误。但在运行 partprobe 之后,这个问题解决了。接下来是时候将文件系统放在新分区上了,但这里是我遇到问题的地方,我总是收到这个错误 - /dev/sda1 显然正在被系统使用;不会在这里创建文件系统!

# lsblk
NAME   MAJ:MIN RM    SIZE RO TYPE MOUNTPOINT
sda      8:0    0   24.5G  0 disk
└─sda1   8:1    0 1023.8M  0 part
sdb      8:16   0    512M  0 disk [SWAP]

# mkfs -t ext4 /dev/sda1
mke2fs 1.42.9 (28-Dec-2013)
/dev/sda1 is apparently in use by the system; will not make a filesystem here!
#

我读过类似的帖子,很多答案都包括检查 raid 信息是否存储在磁盘上,但我的虚拟机肯定不是这种情况。

该磁盘也已卸载,并且上面没有文件系统:-

# file -sL /dev/sda1
/dev/sda1: data#

任何帮助或想法都会得到感激。我在这里抓狂了!非常感谢 :)

答案1

根据您的回复:

当我运行时mount,输出没有提到/dev/sda1唯一提到的部分是该磁盘的其余部分:

/dev/sda on / type ext4 (rw,relatime,data=ordered)

在这种情况下,看起来就像您最初安装操作系统时,您放置了一个/dev/sda没有分区表或任何分区的文件系统 - 即:在裸块设备上。

现在您已经添加了分区表,您可能已经覆盖/破坏了根文件系统的第一部分 - 当您重新启动时,您可能会看到错误。

请记住,/dev/sda指的是所有的设备,从头到尾.../dev/sda1指的是同一设备的一个较小区域。它们不是两个独立的实体,而是sda1的一个子集sda

根据下图:

  • 您的文件系统处于绿色状态(裸块设备)
  • 您刚刚在文件系统的开头写入了红色分区表(我猜是 MBR)。
  • 如果你在橙色部分使用mkfs(又名“分割"),那么您将进一步破坏存在于底层块设备(绿色)上的数据。

块设备布局

当您进行安装时,我建议您始终创建一个分区表(膜生物反应器或者谷氨酰胺磷酸酶,这取决于你),并将你的文件系统放在分割,而不是在裸块设备上。


附注:如果您已经使用过分区,那么您可以删除/dev/sdb,并将交换文件放在位于/dev/sda...的分区上。

答案2

很简单,你所做的就是终止当前终端,所以解决方案是:删除特定硬盘,即 SATA 等... 并以首选磁盘大小再次添加它。它对我有用。

相关内容