Chinaunix首页 | 论坛 | 博客
  • 博客访问: 36801
  • 博文数量: 9
  • 博客积分: 215
  • 博客等级: 入伍新兵
  • 技术积分: 105
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-08 14:00
文章分类
文章存档

2011年(9)

最近访客

分类: LINUX

2011-04-14 15:41:51

看了《鸟哥的私房菜》关于硬盘分区一章,好多谜团终于解开,很不错的一本书。

在我双系统的linux上使用fdisk –l查看磁盘分区格式如下:

Disk /dev/sda: 320.1 GB, 320072933376 bytes

255 heads, 63 sectors/track, 38913 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x038deb41

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1        6467    51946146    7  HPFS/NTFS

/dev/sda2            6468       14209    62182400    7  HPFS/NTFS

/dev/sda3           14209       21950    62182400    7  HPFS/NTFS

/dev/sda4           21950       38914   136258561    f  W95 Ext'd (LBA)

/dev/sda5           21950       29925    64056320    7  HPFS/NTFS

/dev/sda6           29925       32415    19998720   83  Linux

/dev/sda7           32415       32664     1998848   82  Linux swap / Solaris

/dev/sda8           32664       38914    50201600   83  Linux

上面的sda1,sda2,sda3,sda5是用作windows的磁盘分区,其中sda1,sda2,sda3是主分区,sda5是从扩展分区sda4中划分出来的逻辑分区。sda6,sda7,sda8是用作linux的磁盘分区。

只有自己动手操作了,才能真正懂得深层的原理。

 

书要认真读才能真正领悟,将书中的知识记录一下吧:

SCSI(Small Computer System Interface;小型计算机系统接口),它是一种用于计算机和智能设备之间(硬盘、软驱、光驱、打印机、扫描仪)系统级接口的独立处理器标准。SCSI是一种智能的通用标准接口,它是各种计算机与外部设备之间的接口标准。IDE也是一种极为常用的接口标准。

为什么要有主分区、扩展分区和逻辑分区:

实际上在早期的中并没有主分区、扩展分区和逻辑分区的概念,每个分区的类型都是现在所称的主分区。由于硬盘仅仅为保留了64个字节的存储空间,而每个分区的参数占据16个字节,故中总计只能存储4个分区的数据。也就是说,一块物理硬盘只能划分为4个逻辑磁盘。在具体的应用中,4个逻辑磁盘往往不能满足实际需求。为了建立更多的逻辑磁盘供使用,引入了扩展分区和逻辑分区,并把原来的分区类型称为主分区。

硬盘划分的配置:

硬盘划分与配置的好坏,会影响日后您的主机的使用情况,此外,正确的硬盘划分会让您的数据保有一定的安全性。比如,如果您的Windows硬盘中仅有C区,那么当Windows需要重新安装,您又想重新格式化(format),而C区中已经放了很多重要的文件数据,这个时候怎么办?光是将这些重要数据搬到其他空间就让人受不了。所以,有经验的人都喜欢将硬盘划分成两个区以上,将系统文件与数据文件分开,以达到比较好的管理效果!不过,由于Linux的硬盘划分具有较大弹性,同时,Linux硬盘分区工具fdisk功能很强悍,此外,要分割得好,必须了解基础的硬盘架构,所以,下面我们就来介绍硬盘的基本架构,然后介绍如何划分。

硬盘数据线与硬盘代号

通常在586之后生产的主机板上都有两条数据线的接口(数据线就是用来连接硬盘与主机板的东西),我们称这种接口为IDE接口,这也是目前的主流硬盘接口,为了区分硬盘读取的先后顺序,主机板上的这两个接口分别被称为Primary(主要的)与Secondary(次要的)。如果您仔细观察,每一条数据线上还有两个插孔,也就是说一条数据线可以接两个IDE接口的设备(硬盘或光驱),而您有两条数据线,因此一个主机板在默认情况下,应该可以接4IDE接口的设备。好了,那么如何判别哪一个数据线是主硬盘(Master),哪一个是从硬盘(Slave)呢?这时就需要调整硬盘上的跳针(jump)才可以知道。请查看您的硬盘驱动器,上面应该会有图示说明。

所以,如果我有一个光驱,那么在我的主机上最多只能再安装3IDE接口的硬盘。由于我的硬盘与Linux的硬盘代号有关,我怎么知道这个硬盘代号呢?先从IDE 1PrimaryIDE)的主硬盘计算,最后是IDE 2的从硬盘,所以各个硬盘的代号如下表所示。

                                 磁盘在linux中的磁盘代号

假如我只有一块硬盘,而且这块硬盘接在IDE 2的主硬盘上,那么它在Linux中的代号就是/dev/hdc。但是,如果我这块硬盘被分割成两个区,那么每个区(partition)在Linux中的代号又是什么呢?

认识硬盘

基本上,硬盘是由最小的单位扇区(sector)组成,而数个扇区组成一个磁柱(cylinder),最后构成整个硬盘的容量大小。关于硬盘的管理在第7章介绍,这里主要讲解如何分割硬盘,如下图所示:

       磁盘分区表与数据存储区示意图

从上面的图示可以清楚地看到,硬盘分为两个区域,一个用于放置这个硬盘的信息,我们称为主引导扇区(Master Boot RecorderMBR),一个则是放置实际数据文件的地方。MBR可以说是整个硬盘最重要的地方,因为在MBR中记录了两个重要的东西,分别是启动管理程序与硬盘分区表(partition table)。因此,只要MBR物理实体坏掉了,这块硬盘差不多就要报废了,因为,如果系统找不到硬盘分区表,就无法使用这块硬盘。首先看看什么是硬盘分区表。简单地说,我们说的“硬盘分割”就是修改这个硬盘分区表,它基本上定义了第n个磁盘区块是由第x磁柱到第y个磁柱,所以,每次系统要去读取n磁盘区块时,就只会读取第xy个扇区之间的数据。因此,可不要以为系统真的会在硬盘上用力地划标签,实际上,它最大的功能就是修改MBR中的硬盘分区表。不过,由于这个MBR区块的容量有限,所以,当初设计的时候就只设计成4个分割记录,这些分割记录就被称为Primary(主分区)及Extended(扩展分区),也就是说,一块硬盘最多可以有4Primary+ Extended区,其中,Extended只能有一个,因此,您如果要将硬盘分割成4个区,那么最多可以是:

P P P P

P P P E

其中需要特别注意的是,在上面的情况中,3P + E只有3个可用的磁盘,如果要让4个都可用,就得分割成4P(因为扩展分区不能直接使用,还需要分割成逻辑分区才行,下面会继续说明)。那么为什么要有扩展分区呢?这是因为如果我们要将硬盘分割成5个区,就要用到扩展分区,扩展分区本身不能在任何系统上使用,还需要额外地分割成Logical(逻辑分区)才能使用,所以,藉由这个扩展分区,我们就可以分割超过5个可用的分区了。不过,在实际分割时,还是容易出现问题,下面我们来思考几个问题:

问题一:如果我要将我的大硬盘暂时分割成4个区,同时,还有其他的空间可以用于未来的规划,那么该如何分割?

说明:由上面可知,Primary + Extended最多只能有4个分区,而如果需要超过5个分区,就要用到扩展分区。因此,在这个例子中,我们千万不能将硬盘分割成4个主分区。为什么呢?假如您有一个20GB的硬盘,而4个主分区共用去了15GB,您想还有5GB可以利用对吧?错!剩下的5GB完全不能使用,这是因为已经没有多余的硬盘分区表记录区可以记录了,因此也就无法进行额外的分割,当然,空间也就浪费了。因此千万注意,如果您要将硬盘分成超过4个区以上,请记得一定要有扩展分区,而且必须将所有剩下的空间都分配给扩展分区,然后再以逻辑分区来规划扩展分区的空间。

问题二:可不可以仅分割1个主分区与1个扩展分区呢?

说明:当然可以!基本上,逻辑分区可以有16个以上,因此,您可以仅分割一个主分区,然后将剩余空间都划分给扩展分区,利用逻辑分区来进行其他的分区规划即可。

问题三:假设我的硬盘安装在IDE 1Master,并且我想将其分割成6个可用的硬盘分区,那么每个磁盘在Linux下的代号是什么?

说明:由于硬盘在Primary + Extended情况下最多可以分成4个区,因此,在Linux下,已经将硬盘分区表1 ~ 4预先保留下来,如果只用了2P + E,那么将会空出两个分区表记录区。再详细地说明一下,假设我将4P + E都用完了,那么硬盘的实际分割会如下图所示。

硬盘分割示意图

实际可以使用的是/dev/hda1/dev/hda2/dev/hda3/dev/hda5/dev/hda6/dev/hda76个分区。而/dev/hda4这个扩展分区仅是用来规划出让逻辑分区可以利用的磁盘空间而已。

那么如果只想分割成1个主分区与1个扩展分区,该怎么办?这时您的磁盘分割变成如下图所示:

磁盘分割示意图

注意到了吗?因为1~4号已经被预留下来,所以第一个逻辑分区的代号由5号开始,后面依次以累加的方式增加磁盘代号,而/dev/hda3/dev/hda4则是被保留下来的空代号。

 

阅读(1598) | 评论(1) | 转发(0) |
0

上一篇:GNU与GPL

下一篇:fdisk,fsck,ssh,telnet,$PATH

给主人留下些什么吧!~~

lo_5292012-03-06 19:25:42

还是鸟哥给力。