第一次在这里发帖。我正在学习 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 等... 并以首选磁盘大小再次添加它。它对我有用。