日期:2014-05-16  浏览次数:20786 次

Linux中的主机规划和磁盘分区

以下内容摘自《鸟哥的私房菜》

?

在Linux系统中,每个设备都被当成一个文件来对待。比如说:IDE接口的硬盘文件的文件名是/dev/hd[a-d]。

下面列出了一些常见设备在Linux中的文件名

?

? ? ? ? ? ? ? ? ? 设备 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 设备在Linux内的文件名 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
IDE硬盘 /dev/hd[a-d]
SCSI/SATA/USB硬盘(也就是移动硬盘??) /dev/sd[a-p]
U盘 /dev/sd[a-p]同上一样
软驱(还有人用???) /dev/fd[0-1]
打印机

25针:/dev/lp[0-2]

USB:/dev/usb/lp[0-15]

鼠标

USB:/dev/usb/mouse[0-15]

PS2:/dev/psaux

当前CD ROM/DVD ROM /dev/cdrom
当前鼠标 /dev/mouse
磁带机(还有人用???)

IDE:/dev/ht0

IDE:/dev/st0

?

那么下来我们来看看磁盘分区

?

1)磁盘连接的方式与设备文件名的关系

?

? ?对着上面的图就可以知道他们之间的关系

?

? ? ? Q: 为什么IDE接口的设备名只能是/dev/hd[a-d]四个呢??

?

? ? ? A:这是因为一个IDE扁平电缆可以连接两个IDE设备,通常情况下,主机又都只提供2个这样的电缆,因此最多只能连接4个IDE设备。

?

? 2)磁盘的组成

? ? ? 我们知道磁盘主要有盘片、机械手臂、磁头与主轴马达等组成,而数据的写入其实只是在盘片。盘片上面又可以细分为扇区与柱面两种单位,其中每个扇区的大小为512bytes那么大。柱面是文件系统最小的单位,也是分区的最小单位。

?

? ? ? 一个盘片有多个扇区,但是第一个扇区特别重要,这是因为他记录了整块磁盘的重要信息。最主要的两个信息为:

? ? 1)主引导分区(Master Boot Record,MBR):可以安装引导加载程序的地方,大小为446bytes。

? ? ? ? ? MBR非常的重要,因为系统在开机的时候会主动去读取这个区域的信息,这样系统才会知道你的程序放在哪里,且该如何开机。

? ? 2)分区表(partition table):记录整块磁盘分区的状态,有64bytes。

? ? ? ? ?在分区表的64bytes容量中,总共分为四组记录区,每组记录区记录了该区段的起始于与结束的柱面号码。如下图所示:

?

?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 图:磁盘分区表的作用示意图

?

?从上图我们可以得到:

? ? ? ? ? ?所谓的分区只是针对那个64bytes的分区表进行设置而已

? ? ? ? ? ?磁盘默认的分区表仅能写入四组分区信息

? ? ? ? ? ?这四组分区我们成为主分区(Primary)或扩展分区(Extended)

? ? ? ? ? ?分区最小的单位是柱面(cylinder)

?

? ? ? ?Q:既然第一个磁区所在的分割表只能记录四笔数据, 那我可否利用额外的磁区来记录更多的分割资讯???

? ? ? ?A: 可以。如下图所示:

?

? ? ? ? ? 在上图当中,我们知道硬盘的四个分割记录区仅使用到两个,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号开始了!这是个很重要的特性,不能忘记喔!

? ? 所以我们总结一下:

? ? 1)主分区与扩展分区最多可以有4个

? ? 2)扩展分区最多只能有一个

? ? 3)逻辑分区时由扩展分区持续切割出来的分区

? ? 4)能被格式化后作为数据访问的分区为主分区和逻辑分区,扩展分区是无法格式化的。

? ? 5)逻辑分区的数量依操作系统而不同,在Linux系统中,IDE硬盘最多有59个逻辑分区,SATA硬盘则有11个逻辑分区。

?

3)开机流程与主引导分区(MBR)

? ?简单的说,整个启动流程到操作系统之前的动作应该是这样的:

  1. BIOS:启动主动运行的韧体,会认识第一个可启动的装置;