磁盘分区
常见的磁盘接口有两种:IDE接口和SATA接口,现在主流的用的是SATA接口。可连接到IDE接口的设备叫IDE设备。
一个扁平的IDE接口可以连接两个IDE设备,再加上主机有两个IDE接口。这样就可以连接4个IDE设备了。
这两个IDE接口通常被称为IDE1(primary)及IDE2(secondary), 而每条排线上面的IDE装置可以被区分为Master与Slave。这四个IDE装置的档名为:
IDE\Jumper | Master | Slave |
IDE1(Primary) | /dev/hda | /dev/hdb |
IDE2(Secondary) | /dev/hdc | /dev/hdd |
例题:
如果你的PC上面有两个SATA磁碟以及一个U盘磁碟,而主板上面有六个SATA的插槽。这两个SATA磁碟分别安插在主板上的SATA1, SATA5插槽上, 请问这三个磁碟在Linux中的装置档名为何?
答:
由於是使用侦测到的顺序来决定装置档名,并非与实际插槽代号有关,因此装置的档名如下:
- SATA1插槽上的档名:/dev/sda
- SATA5插槽上的档名:/dev/sdb
- U盘磁碟(启动完成后才被系统捉到):/dev/sdc
磁盘的组成
磁盘主要由(盘片、机械手臂、磁碟读取头与主轴马达)所组成 ,而数据的写入其实是在盘片上面。
盘片上有扇区和柱面两种单位,其中扇区每个为512bytes。
第一个扇区主要记录了两个重要的资讯,分别是:
- 主引导分区(Master Boot Record, MBR):可以安装启动管理程序的地方,有446 bytes
- 分区表(partition table):记录整颗硬盘分割的状态,有64 bytes
MBR是很重要的,因为当系统在启动的时候会主动去读取这个区块的内容,这样系统才会知道你的程序放在哪里且该如何进行启动。
那么分割表又是啥?其实你刚刚拿到的整颗硬盘就像一根原木,你必须要在这根原木上面切割出你想要的区段, 这个区段才能够再制作成为你想要的家具!如果没有进行切割,那么原木就不能被有效的使用。 同样的道理,你必须要针对你的硬盘进行分割,这样硬盘才可以被你使用的!
磁盘分区表
在分区表所在的64bytes的容量中最多可以记录4个主分区(扩展分区)
图2.3.1、磁盘分区表的作用示意图
假设上面的硬盘装置档名为/dev/hda时,那么这四个分割槽在Linux系统中的装置档名如下所示, 重点在於档名后面会再接一个数字,这个数字与该分割槽所在的位置有关喔!
- P1:/dev/hda1
- P2:/dev/hda2
- P3:/dev/hda3
- P4:/dev/hda4
上图中我们假设硬盘只有400个磁柱,共分割成为四个分割槽,第四个分割槽所在为第301到400号磁柱的范围。 当你的操作系统为Windows时,那么第一到第四个分割槽的代号应该就是C, D, E, F。当你有数据要写入F槽时, 你的数据会被写入这颗磁碟的301~400号磁柱之间的意思。
既然分割表只有记录四组数据的空间,那么是否代表我一颗硬盘最多只能分割出四个分割槽?当然不是啦!有经验的朋友都知道, 你可以将一颗硬盘分割成十个以上的分割槽的!那又是如何达到的呢?在Windows/Linux系统中, 我们是透过刚刚谈到的扩展分配(Extended)的方式来处理的啦!扩展分配的想法是: 既然第一个磁区所在的分割表只能记录四笔数据, 那我可否利用额外的磁区来记录更多的分割资讯?实际上图示有点像底下这样:
图2.3.2、磁盘分区表的作用示意图
在上图当中,我们知道硬盘的四个分割记录区仅使用到两个,P1为主要分割,而P2则为扩展分配。请注意, 扩展分配的目的是使用额外的磁区来记录分割资讯,扩展分配本身并不能被拿来格式化。 然后我们可以透过扩展分配所指向的那个区块继续作分割的记录。
如上图右下方那个区块有继续分割出五个分割槽, 这五个由扩展分配继续切出来的分割槽,就被称为逻辑分割槽(logical partition)。 同时注意一下,由於逻辑分割槽是由扩展分配继续分割出来的,所以他可以使用的磁柱范围就是扩展分配所配置的范围喔! 也就是图中的101~400啦!
同样的,上述的分割槽在Linux系统中的装置档名分别如下:
- P1:/dev/hda1
- P2:/dev/hda2
- L1:/dev/hda5
- L2:/dev/hda6
- L3:/dev/hda7
- L4:/dev/hda8
- L5:/dev/hda9
仔细看看,怎么装置档名没有/dev/hda3与/dev/hda4呢?因为前面四个号码都是保留给Primary或Extended用的嘛! 所以逻辑分割槽的装置名称号码就由5号开始了!这是个很重要的特性,不能忘记喔!
还没有评论,来说两句吧...