/proc/devices 中的所有“sd”设备是什么

Rei*_*ica 3 linux devices proc

/proc/devices文件按主要修订号和名称列出设备。在我的系统上它显示(部分):

Block devices:
259 blkext
  7 loop
  8 sd
  9 md
 11 sr
 65 sd
 66 sd
 67 sd
 68 sd
 69 sd
 70 sd
 71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd
253 device-mapper
254 mdp
Run Code Online (Sandbox Code Playgroud)

那些“sd”设备是什么?第一个(修订号 8)可能是,/dev/sda但其余的没有出现/dev- 没有带有这些主要修订号的设备。

确实看到了设备列表:

crw-rw---- 1 root tty       7, 128 Jul 29 14:15 vcsa
crw-rw---- 1 root tty       7, 129 Jul 29 14:15 vcsa1
crw-rw---- 1 root tty       7, 130 Jul 29 14:15 vcsa2
crw-rw---- 1 root tty       7, 131 Jul 29 14:15 vcsa3
crw-rw---- 1 root tty       7, 132 Jul 29 14:15 vcsa4
crw-rw---- 1 root tty       7, 133 Jul 29 14:15 vcsa5
crw-rw---- 1 root tty       7, 134 Jul 29 14:15 vcsa6
Run Code Online (Sandbox Code Playgroud)

其中,未成年人数量可能匹配-将/ proc中显示次要版本号,以及为什么他们叫sd。无论哪种方式,我都没有看到任何设备。135.

有人可以向我解释一下吗?

ilk*_*chu 6

第一个磁盘/dev/sda8:0(major:minor),但主编号 8 也包含接下来的 15 个磁盘(Documentation/devices.txt在内核源代码中):

  8 block       SCSI disk devices (0-15)
                  0 = /dev/sda          First SCSI disk whole disk
                 16 = /dev/sdb          Second SCSI disk whole disk
                 32 = /dev/sdc          Third SCSI disk whole disk
                    ...
                240 = /dev/sdp          Sixteenth SCSI disk whole disk

                Partitions are handled in the same way as for IDE
                disks (see major number 3) except that the limit on
                partitions is 15.
Run Code Online (Sandbox Code Playgroud)

其余部分用于驱动器的其余部分(主要编号 66-71 和 128-134 相似,并且所有分区方案都相同):

 65 block       SCSI disk devices (16-31)
                  0 = /dev/sdq          17th SCSI disk whole disk
                 16 = /dev/sdr          18th SCSI disk whole disk
                    ...


135 block       SCSI disk devices (240-255)
                  0 = /dev/sdig         241st SCSI disk whole disk
                    ...
                240 = /dev/sdiv         256th SCSI disk whole disk
Run Code Online (Sandbox Code Playgroud)

那么,你可能没有很多的磁盘,系统只生成所需要的你确实有设备节点,所以你看不到任何东西,但sda其分割给/dev


至于vcsa和朋友,它们与虚拟控制台有关:

  7 char        Virtual console capture devices
                  0 = /dev/vcs          Current vc text contents
                  1 = /dev/vcs1         tty1 text contents
                    ...
                128 = /dev/vcsa         Current vc text/attribute contents
                129 = /dev/vcsa1        tty1 text/attribute contents
                    ...
Run Code Online (Sandbox Code Playgroud)

还要注意的/dev/vcs*是字符设备,而不是块设备。ls输出中的第一个字母告诉它是哪个。