所有的硬件设备在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接口的磁盘驱动器几乎已经被淘汰了,他们的文件名也都被模拟成/dev/sd[a-p]了! linux虚拟机中的磁盘设备文件名为/dev/vd[a-p]!
更多硬件设备对应的文件名可以参考如下网页:
https://www.kernel.org/doc/Documentation/devices.txt

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

回到顶部

在linux物理主机中,IDE接口硬盘在linux中的设备文件名为/dev/hd[a-d], SATA接口硬盘设备文件名为/dev/sd[a-d]。 目前主流的磁盘接口多为SATA接口,大部分Linux distribution已经将IDE接口的磁盘设备文件名仿真成SATA接口的硬盘.
SATA/USB/SAS等磁盘接口都是由SCSI模块驱动, 这些接口的磁盘设备文件名也都是/dev/sd[a-p]。 linux虚拟机使用虚拟接口VirtIO磁盘设备,虚拟磁盘设备文件名为/dev/vd[a-p]!

那么磁盘设备文件名是按照什么顺序分配呢? 假设主板上有六个SATA接口插槽,有两块SATA接口磁盘和一个usb磁盘, 两块磁盘分别插在主板的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中设置设备的启动顺序!

我们在安装linux的时候,就是把linux操作系统相关文件安装到硬盘上。 linux的安装很大一部分工作就是对磁盘进行分区规划。 一块磁盘可以被分成多个分区(partition), 在Windows上可以将磁盘分成为C盘, D盘, E盘等,这个C, D, E就是分区(partition)。 Linux设备都是以文件的形式存在,上面是一整块磁盘的设备文件名,但是如果磁盘被分区成多个分区,每个分区也对应着一个设备文件名! 只需要在磁盘设备文件名后面加上数字即可,如果按照传统的MBR磁盘分区方式,第一个主分区设备文件名是/dev/sda1, 第二个主分区设备文件名是/dev/sda2,第三个主分区设备文件名是/dev/sda3,第四个主分区设备文件名是/dev/sda4.
传统的MBR磁盘分区方式中主分区至少有1个,最多只能有4个,扩展分区为0或者1个。 主分区和扩展分区的总数不能超过4个。扩展分区无法直接使用,需要再划分为至少一个逻辑分区。 除了MBR传统分区方式,还有最新的GPT分区方式. 下面让我们先详细的了解一下磁盘的分区,然后再继续探讨分区的设备文件名。搞明白之后也没有那么复杂!

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