Linux
/proc/devices 中的所有“sd”設備是什麼
該
/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
那些“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
其中次要編號可能是匹配的 - /proc 會顯示次要修訂號,以及為什麼它們被稱為
sd
. 無論哪種方式,我都沒有看到任何設備沒有。135
.有人可以向我解釋一下嗎?
第一個磁碟
/dev/sda
是8: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.
其餘的用於您的其餘驅動器(主要數字 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
好吧,您可能沒有那麼多磁碟,並且系統只生成您實際擁有的設備所需的節點,所以
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 ...
另請注意,這
/dev/vcs*
是字元設備,而不是塊設備。輸出中的第一個字母ls
告訴它是哪一個。