![如何获取主要号码列表 -> 驱动程序协会](https://linux22.com/image/63901/%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96%E4%B8%BB%E8%A6%81%E5%8F%B7%E7%A0%81%E5%88%97%E8%A1%A8%20-%3E%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E5%8D%8F%E4%BC%9A.png)
答案1
Documentation/admin-guide/devices.txt
在内核源代码中记录了分配过程并列出了所有分配的设备号。sd
获取一大堆主要设备编号,因为它可以处理大量设备:major 8 涵盖/dev/sda
to /dev/sdp
,major 65 涵盖/dev/sdq
to /dev/sdaf
,66 /dev/sdag
to/dev/sdav
等等,一直到 135 for /dev/sdig
to /dev/sdiv
(总共 256 个磁盘设备) 。
答案2
Stephen Kitt 的答案中的链接提供了常见设备类型的表格。然而,某些系统(例如设备映射器)不会对其主编号进行硬编码,而是动态获取它们。
在这些情况下,您可以读取该/proc/devices
文件以获取已注册的主编号表,以及驱动程序指定的描述字符串,该字符串应该为您指明正确的方向。
请注意,由于该值是动态注册的,因此它可能会在每次启动时发生变化,具体取决于驱动程序模块注册的顺序。