为什么我的HDD分区是字符特殊设备?

我有一堆旧的1T磁盘上有一个mdadm数组。 他们已经退出了一段时间,但昨天我把他们插入到一个运行着Debian Jessie的服务器上。

最终我把arrays重新组合在一起,但是有两个驱动器拒绝重新添加。 看着这些驱动器,似乎我已经添加设备到arrays而不是(Linux RAID autodetect)分区(sdz而不是sdz1) – 我得到什么似乎适当的输出为mdadm -E /dev/sdz ,但是如果我运行mdadm -E /dev/sdz1 ,我得到mdadm: cannot open /dev/sdz1: No such device or address

进一步看,这两个驱动器的分区似乎是字符特殊设备,而不是块特殊:

 root@comp:~# file /dev/sda1 # good drive /dev/sda1: block special (8/225) root@comp:~# file /dev/sdz1 # bad drive /dev/sdz1: character special (8/209) 

即使使用dd清零整个坏驱动器,然后用fdisk重新创build分区,它们仍然以相同的方式回来! 这里发生了什么?


编辑:这是什么ls说这些设备:

 root@comp:~# ls -l /dev/sdz* brw-rw---- 1 root disk 65, 0 Feb 1 15:02 /dev/sdz cr-------- 1 root root 65, 1 Jan 31 18:31 /dev/sdz1 

E2:/ proc /分区的相关数字:

 root@comp:~# cat /proc/partitions | egrep 'sdz|sda' 65 0 976762584 sdz 65 32 976762584 sda 65 33 976760832 sda1 

我不明白为什么sdz partiton没有出现在这里。

rm /dev/sdz1删除/ dev / sdz1(字符设备分区),然后调用partprobe /dev/sdz rm /dev/sdz1 ,导致新分区正常显示。

我没有解释为什么最初发生,但这个解决scheme为我工作。