Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1352951
  • 博文数量: 245
  • 博客积分: 10021
  • 博客等级: 上将
  • 技术积分: 3094
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-12 14:51
文章存档

2011年(2)

2009年(152)

2008年(91)

我的朋友

分类:

2009-01-04 12:35:04

但是硬碟总不能真的拿锯子来切切割割吧?那硬碟还真的是会坏掉去!那怎办?在前一小节的图示中, 我们有看到‘开始与结束磁柱’吧?那是档案系统的最小单位,也就是分割槽的最小单位啦!没有错, 我们就是利用参考对照磁柱号码的方式来处理啦! 在分割表所在的64 bytes容量中,总共分为四组记录区,每组记录区记录了该区段的启始与结束的磁柱号码。 若将硬碟以长条形来看,然后将磁柱以直条图来看,那么那64 bytes的记录区段有点像底下的图示:

图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号磁柱之间的意思。

由于分割表就只有64 bytes而已,最多只能容纳四笔分割的记录, 这四个分割的记录被称为主要(Primary)或延伸(Extended)分割槽。 根据上面的图示与说明,我们可以得到几个重点资讯:

    * 其实所谓的‘分割’只是针对那个64 bytes的分割表进行设定而已!
    * 硬碟预设的分割表仅能写入四组分割资讯
    * 这四组分割资讯我们称为主要(Primary)或延伸(Extended)分割槽
    * 分割槽的最小单位为磁柱(cylinder)
    * 当系统要写入磁碟时,一定会参考磁碟分割表,才能针对某个分割槽进行资料的处理

咦!你会不会突然想到,为啥要分割啊?基本上你可以这样思考分割的角度:

   1. 资料的安全性:
      因为每个分割槽的资料是分开的!所以,当你需要将某个分割槽的资料重整时,例如你要将电脑中Windows的C槽重新安装一次系统时, 可以将其他重要资料移动到其他分割槽,例如将邮件、桌面资料移动到D槽去,那么C槽重灌系统并不会影响到D槽! 所以善用分割槽,可以让你的资料更安全。

   2. 系统的效能考量:
      由于分割槽将资料集中在某个磁柱的区段,例如上图当中第一个分割槽位于磁柱号码1~100号,如此一来当有资料要读取自该分割槽时, 磁碟只会搜寻前面1~100的磁柱范围,由于资料集中了,将有助于资料读取的速度与效能!所以说,分割是很重要的!

既然分割表只有记录四组资料的空间,那么是否代表我一颗硬碟最多只能分割出四个分割槽?当然不是啦!有经验的朋友都知道, 你可以将一颗硬碟分割成十个以上的分割槽的!那又是如何达到的呢?在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号开始了!这是个很重要的特性,不能忘记喔!

主要分割、延伸分割与逻辑分割的特性我们作个简单的定义啰:

    * 主要分割与延伸分割最多可以有四笔(硬碟的限制)
    * 延伸分割最多只能有一个(作业系统的限制)
    * 逻辑分割是由延伸分割持续切割出来的分割槽
    * 能够被格式化后,作为资料存取的分割槽为主要分割与逻辑分割。延伸分割无法格式化;
    * 逻辑分割的数量依作业系统而不同,在Linux系统中,IDE硬碟最多有59个逻辑分割(5号到63号), SATA硬碟则有11个逻辑分割(5号到15号)。

事实上,分割是个很麻烦的东西,因为他是以磁柱为单位的‘连续’磁碟空间, 且延伸分割又是个类似独立的磁碟空间,所以在分割的时候得要特别注意。我们举底下的例子来解释一下好了:
例题:
在Windows作业系统当中,如果你想要将D与E槽整合成为一个新的分割槽,而如果有两种分割的情况如下图所示,图中的特殊颜色区块为D与E槽的示意,请问这两种方式是否均可将D与E整合成为一个新的分割槽?

图2.3.3、磁碟空间整合示意图
答:

    * 上图可以整合:因为上图的D与E同属于延伸分割内的逻辑分割,因此只要将两个分割槽删除,然后再重新建立一个新的分割槽,就能够在不影响其他分割槽的情况下,将两个分割槽的容量整合成为一个。

    * 下图不可整合:因为D与E分属主分割与逻辑分割,两者不能够整合在一起。除非将延伸分割破坏掉后再重新分割。但如此一来会影响到所有的逻辑分割槽,要注意的是:如果延伸分割被破坏,所有逻辑分割将会被删除。 因为逻辑分割的资讯都记录在延伸分割里面嘛!


由于第一个磁区所记录的分割表与MBR是这么的重要,几乎只要读取硬碟都会先由这个磁区先读起。 因此,如果整颗硬碟的第一个磁区(就是MBR与partition table所在的磁区)物理实体坏掉了,那这个硬碟大概就没有用了! 因为系统如果找不到分割表,怎么知道如何读取磁柱区间呢?您说是吧!底下还有一些例题您可以思考看看:
例题:
如果我想将一颗大硬碟‘暂时’分割成为四个partitions,同时还有其他的剩余容量可以让我在未来的时候进行规划,我能不能分割出四个Primary?若不行,那么你建议该如何分割?
答:

    * 由于Primary+Extended最多只能有四个,其中Extended最多只能有一个,这个例题想要分割出四个分割槽且还要预留剩余容量,因此P+P+P+P的分割方式是不适合的。因为如果使用到四个P,则即使硬碟还有剩余容量,因为无法再继续分割,所以剩余容量就被浪费掉了。

    * 假设你想要将所有的四笔记录都花光,那么P+P+P+E是比较适合的。所以可以用的四个partitions有3个主要及一个逻辑分割,剩余的容量在延伸分割中。

    * 如果你要分割超过4槽以上时,一定要有Extended分割槽,而且必须将所有剩下的空间都分配给Extended,然后再以logical的分割来规划Extended的空间。 另外,考虑到磁碟的连续性,一般建议将Extended的磁柱号码分配在最后面的磁柱内。


例题:
我能不能仅分割出一个Primary与一个Extended即可?
答:
当然可以,这也是早期Windows作业系统惯用的手法!此外,逻辑分割槽的号码在IDE可达63号,SATA则可达15号,因此仅一个主要与一个延伸分割即可,因为延伸分割可继续被分割出逻辑分割槽嘛!

例题:
假如我的PC有两颗SATA硬碟,我想在第二颗硬碟分割出6个可用的分割槽(可以被格式化来存取资料之用),那每个分割槽在Linux系统下的装置档名为何?且分割类型各为何?至少写出两种不同的分割方式。
答:
由于P(primary)+E(extended)最多只能有四个,其中E最多只能有一个。现在题目要求6个可用的分割槽,因此不可能分出四个P。底下我们假设两种环境,一种是将前四号全部用完,一种是仅花费一个P及一个E的情况:

    * P+P+P+E的环境:
      分割示意图

      实际可用的是/dev/sdb1, /dev/sdb2, /dev/sdb3, /dev/sdb5, /dev/sdb6, /dev/sdb7这六个,至于/dev/sdb4这个延伸分割本身仅是提供来给逻辑分割槽建立之用。


    * P+E的环境:
      分割示意图

      注意到了吗?因为1~4号是保留给主要/延伸分割槽的,因此第一个逻辑分割槽一定是由5号开始的!再次强调啊!所以/dev/sdb3, /dev/sdb4就会被保留下来没有用到了!

评论:硬盘分割的前四个分区号是保留给主分区和扩展分区的。逻辑分区一定是从5号开始。

阅读(3908) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~