在 CentOS 7.6 中尝试挂载 8TB 磁盘时出现“不是块特殊设备。”错误

在 CentOS 7.6 中尝试挂载 8TB 磁盘时出现“不是块特殊设备。”错误

我正在尝试将 8TB 外置硬盘格式化并安装为 ext4,但似乎无法正常工作。该硬盘是 Seagate 8TB 扩展台式机硬盘。型号为STEB8000402

我可以使用 gdisk 创建分区:

sdc               8:32   0   7.3T  0 disk
└─sdc1            8:33   0   7.3T  0 part

但是当我创建文件系统时,我收到一个奇怪的错误,提示“/dev/sdc1 不是块特殊设备。”但它似乎完成了:

# mke2fs -t ext4 /dev/sdc1
mke2fs 1.42.9 (28-Dec-2013)
/dev/sdc1 is not a block special device.
Proceed anyway? (y,n) y
Discarding device blocks: done
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
246512 inodes, 984801 blocks
49240 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1008730112
31 block groups
32768 blocks per group, 32768 fragments per group
7952 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done

但后来,挂载时它似乎不起作用,而是挂载了/dev/loop0?我甚至不确定那是什么,文件系统的大小不对。

/dev/loop0               4.0G   16M  3.7G   1% /mnt/test

我读到这显然是某种新型驱动器,其扇区不在正常位置?如有任何帮助,我将不胜感激。

答案1

您的设备可能已分区并具有文件系统。您可能需要先删除所有内容。

fdisk在磁盘本身上使用,/dev/sdc而不是在分区上 使用/dev/sdc1

sudo fdisk -cu /dev/sdc

如果有任何现有分区,请首先使用命令删除它们d,最后w写入分区表并退出。

重新发出fdisk -cu /dev/sdc并再次使用n以创建具有最大大小的新分区w

使用 检查一切是否正确fdisk -lu /dev/sdc

您最终可以格式化新的分区:

sudo mke2fs -t ext4 /dev/sdc1

或者:

sudo mkfs.ext4 /dev/sdc1

答案2

我猜你以某种方式在那里创建了一个常规文件(或者可能是指向该文件的符号链接)。检查一下。如果它是一个块设备,那么在输出中

ls -l /dev/sdc1

第一个字母是b;另外

file /dev/sdc1

会说block special。如果不是这种情况,请调查该对象到底是什么。它可能一开始就不应该在那里。请注意,安装常规文件使用循环设备,这适合您的情况。

如果对象确实是常规文件或符号链接,umount则将其移除 ( rm) 或移开 ( mv)。请记住mke2fs对文件进行操作,因此如果您已将任何重要数据放入文件系统,则这些数据位于文件中,而不是分区中。

要将 重新创建/dev/sdc1为块设备,请调用sudo partprobe。这假设 及其分区表没有问题/dev/sdc。您还应该mke2fs再次调用,因为之前的 甚至没有触及该分区mke2fs


存在常规文件的一个可能原因是写入映像文件时/dev/sdc1没有确保目标存在(通常作为块设备)。此类操作不存在的目标创建一个常规文件。

如果问题再次出现(例如重启后、再次连接外部驱动器后),则意味着某些东西重新创建了该文件。这可能是由于某些编写不当的脚本假设它/dev/sdc1始终存在。请注意,此类脚本可能会在驱动器连接时覆盖您的实际分区。希望根本没有脚本,整个问题都是由于上述一次性事故造成的。

相关内容