硬件设备在Linux中的文件名


所有的硬件设备在linux下都会被识别并组织成文件!一个设备对应一个设备文件!
几乎所有的硬件设备文件都在/dev目录内, 通过ls -al命令可以看到诸如/dev/sda, /dev/sr0这样的设备文件名。
例如,IDE接口的硬盘文件名为/dev/sd[a-d],中括号内a-d表示a-d的任意一个字母,相当于/dev/sda,/dev/sdb,/dev/sdc和/dev/sdd四个文件。
中括号[ ]的这种表示法在后面还会经常用到。 /dev/lp0和/dev/fd0分别表示打印机和软盘! 下面是常见的设备和文件名对照表:

linux常见设备文件名
linux常见设备文件名
设备 文件名
SCSI/SATA/USB接口硬盘驱动器或U盘 /dev/sd[a-p]
IDE接口硬盘驱动器(已逐步被SATA接口取代)
/dev/hd[a-d]
虚拟机内的Virt I/O设备 /dev/vd[a-p]
软盘驱动器 /dev/fd[0-7]
打印机 /dev/lp[0-2] (25针串口)
/dev/usb/lp[0-15] (USB接口)
鼠标 /dev/input/mouse[0-15] (通用)
/dev/psaux (PS/2接口)
/dev/mouse (当前鼠标)
CDROM/DVDROM /dev/scd[0-1] (通用)
/dev/sr[0-1] (通用,CentOS较常见)
/dev/cdrom (当前CDROM)
磁带机 /dev/ht0 (IDE接口)
/dev/st0 (SATA/SCSI接口)
/dev/tape (当前磁带)
IDE接口的磁盘驱动器几乎已经被淘汰了!事实上目前IDE接口的磁盘设备文件名也都被模拟成/dev/sd[a-p]了! 如果linux主机是因特网供货商(ISP)提供的云主机,那么很有可能是linux虚拟机主机。 因为设备都是虚拟出来的虚拟设备,所以linux虚拟机中的磁盘设备文件名为/dev/vd[a-p]!
更多Linux内核支持的硬件设备与文件名可以参考如下网页:
https://www.kernel.org/doc/Documentation/devices.txt

2.磁盘连接的方式与设备文件名的关系

回到顶部

本章的重点是安装linux,那么是要把linux安装到哪里呢?其实就是安装到硬盘了。 linux的安装很大一部分工作就是对磁盘进行分区规划。 我们知道一块磁盘是可以被分区成多个分区的(partition), 以旧有的 Windows 观点来看,你可能会有一颗磁盘并且将他分区成为 C:, D:, E:槽对吧!那个 C, D, E 就是分区(partition)啰。但是 Linux 的设备都是以文件的型态存在,那分区的文件名又是什么? 如 何进行磁盘分区?磁盘分区有哪些限制?目前的 BIOS 与 UEFI 分别是啥?MSDOS 与 GPT 又是 啥? 都是我们这个小节所要探讨的内容啰。
磁盘常用的接口分别是SATA和SAS接口,目前主流的是SATA接口。 IDE接口硬盘在linux中的设备文件名为/dev/hd[a-d],老式的IDE接口已经被淘汰, 为了统一处理大部分Linux distribution已经将IDE接口的磁盘设备文件名仿真成和SATA接口的硬盘设备文件名一样了! 所以基本上看不到/dev/hd[a-d]文件名了!
在实体物理linux主机中SATA接口硬盘设备的文件名为/dev/sd[a-d]。 如果是linux主机为虚拟机,虚拟机使用的虚拟接口VirtIO磁盘设备, 虚拟磁盘设备文件名为/dev/vd[a-p]!
由于SATA/USB/SAS等磁盘接口都是使用SCSI模块来驱动, 这些接口的磁盘设备文件名都是/dev/sd[a-p]。 那么磁盘设备文件名是按照什么顺序分配呢? 假设主板上有六个SATA接口插槽,有两块SATA接口磁盘和一个usb磁盘, 两块SATA接口磁盘分别插在主板的SATA1, SATA5插槽上,usb磁盘接在usb接口上,如何给这三个设备分配文件名呢? 如果是旧式的IDE接口,文件名是按照主板IDE接口插槽顺序分配,第一个插槽为/dev/hda,第二个插槽为/dev/hdb,以此类推。 当然IDE已经被淘汰了,我们也就不需要过多的关注了!
按照上面传统的思路,设备文件名应该是:
1. SATA1插槽上的文件名:/dev/sda;
2. SATA5插槽上的文件名:/dev/sde;
3. USB磁盘文件名:/dev/sdf;
但是但是对于SATA/USB/SAS等接口设备,linux是按照设备的启动识别顺序分配文件名,第一个被linux启动识别的磁盘设备为/dev/sda, 第二个就是/dev/sdb,第三个就是/dev/sdc。并不会和主板上的插槽代号一一对应,如果是设备启动顺序是SATA1、SATA5、USB, 那么正确的设备文件名应该是:
1. SATA1插槽上的文件名:/dev/sda;
2. SATA5插槽上的文件名:/dev/sdb;
3. USB磁盘文件名:/dev/sdc;
设备的启动顺序可以在开机BIOS中设置! 上面是一整个磁盘的设备文件名,但是如果磁盘被分区成多个分区,每个分区也对应着一个设备文件名! 只需要在磁盘设备文件名后面加上数字即可,如果按照传统的MBR磁盘分区方式,第一个主分区设备文件名是/dev/sda1, 第二个主分区设备文件名是/dev/sda2,第三个主分区设备文件名是/dev/sda3, 第四个主分区设备文件名是/dev/sda4.
第五个主分区呢?哈哈,其实不会有第五个主分区的, 因为传统的MBR磁盘分区方式中主分区至少有1个,最多只能有4个, 扩展分区为0或者1个。主分区和扩展分区的总数不能超过4个。扩展分区无法直接使用,需要再划分为至少一个逻辑分区。 除了MBR传统分区方式,还有最新的GPT分区方式!天哪!感觉刚刚学明白了一点,一下子又堕入无边地狱! 下面让我们先详细的了解一下磁盘的分区,然后再继续探讨分区的设备文件名。搞明白之后也没有那么复杂!

initroot编辑整理,转载请注明www.initroot.com

100次点赞 100次阅读