linux硬盘分区基础及设备号的解释
要了解linux分区,需要先明确一下主分区、扩展分区和逻辑分区这三个概念。
分区概念
主分区:一块物理硬盘上可以被独立使用的一部分,一个硬盘最多可以有4个主分区。
扩展分区:为了突破一个物理硬盘只能有4个分区的限制,引入了扩展分区。扩展分区和主分区的地位相当,但是扩展分区本身不能被直接使用,然而可以被继续划分成多个逻辑分区。
逻辑分区:逻辑分区可以有任意多个,但是不能独立存在,多个连续的逻辑分区可做为一个扩展分区。一个硬盘只能有一个扩展分区。
总结:也就是说,在一个物理硬盘上主分区和扩展分区加在一起最多仍然只有4个。但是扩展分区可以继续被划分成逻辑分区,而对多数用户而言,其实主分区和逻辑分区在使用上是没什么区别的。这样就达到了一快硬盘几乎可以有无限个分区的目的。
分区实例
现在电脑上有一个SCSI硬盘,这时查看设备
ls -l /dev
会发现有一个sda,如果是IDE硬盘,就是hda。
分区方案一:4个主分区
这时候能看到:sda,sda1,sda2,sda3,dsa4
分区方案二:一个主分区然后一个逻辑分区
这时候能看到:sda,sda1,sda2,sda5
这里sda是物理硬盘,sda1是主分区,sda2是扩展分区,sda5是逻辑分区(正是因为必须保留4个数字给主分区和扩展分区使用,所以逻辑分区的数字必须从5开始)。
分区方案三:一个逻辑分区
这里能看到:sda,sda1,sda5
总结:见到这些数字不要害怕,这样一解释就很容易理解了。如果有多块物理硬盘就会出现sdb,sdc。
分区号1234按创建时间顺序分配,逻辑分区按从硬盘上分区位置分配。
分区编号混乱
有时候你可能会碰到这样一个问题,磁盘的设备文件,比如/dev/sda, sdb, sdc等等在某些情况下会混乱掉,比如sda变成了sdb或者sdc变成了sdb等等。这种情况出现会导致磁盘设备管理的混乱,最常见的比如Linux文件系统的启动问题。这个其实是linux内核自身的原因。
目前Linux内核对于这种磁盘设备的映射基本上取决于三个顺序,
一是磁盘驱动程序的加载;
二是主机PCI插槽的监测;
三是磁盘本身的监测,先来的当然是a,以此类推。
知道出现磁盘分区编号混乱的三个原因后,博主碰到这种问题时直接把硬盘在主板上的插拔顺序换一下解决。