合理规划硬盘分区
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
提要:
对于一个硬盘(包括移动存储设备)如何规划分区结构及如何划分才是比较合理的;为了减少由于硬盘划分不合理而造成的风险及不必要的麻烦,有必要重述如何对一个硬盘的分区结构进行规划;
一、关于硬盘种类、物理几何结构及硬盘容量、分区大小计算
1
、硬盘种类、物理几何结构
硬盘的种类主要是
SCSI
、
IDE
、以及现在流行的
SATA
等;
任何一种硬盘的生产都要一定的标准;随着相应的标准的升级,硬盘生产技术也在升级;比如
SCSI
标准已经经历了
SCSI-1
、
SCSI-2
、
SCSI-3
;其中目前咱们经常在服务器网站看到的
Ultral-160
就是基于
SCSI-3
标准的;
IDE
遵循的是
ATA
标准,而目前流行的
SATA
,是
ATA
标准的升级版本;
IDE
是并口设备,而
SATA
是串口,
SATA
的发展目的是替换
IDE
;
硬盘的物理几何结构是由盘、磁盘表面、柱面、扇区组成,
一个张硬盘内部是由几张碟片叠加在一起,这样形成一个柱体面;每个碟片都有上下表面;磁头和磁盘表面接触从而能读取数据;
2 、硬盘容量及分区大小的算法;
2 、硬盘容量及分区大小的算法;
我们通过
fdsik -l
可以发现如下的信息:
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 9729 55617030 5 Extended
/dev/hda5 2806 3825 8193118+ 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
/dev/hda8 5199 6657 11719386 83 Linux
/dev/hda9 6658 7751 8787523+ 83 Linux
/dev/hda10 7752 9729 15888253+ 83 Linux
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 9729 55617030 5 Extended
/dev/hda5 2806 3825 8193118+ 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
/dev/hda8 5199 6657 11719386 83 Linux
/dev/hda9 6658 7751 8787523+ 83 Linux
/dev/hda10 7752 9729 15888253+ 83 Linux
heads
是磁盘面;
sectors
是扇区;
cylinders
是柱面;每个扇区大小是
512byte
,也就是
0.5K
;
通过上面的例子,我们发现此硬盘有
255
个磁盘面,有
63
个扇区,有
9729
个柱面;所以整个硬盘体积换算公式应该是:
磁面个数
x
扇区个数
x
每个扇区的大小
512 x
柱面个数
=
硬盘体积
(单位
bytes)
提示:
由于硬盘生产商和操作系统换算不太一样,硬盘厂家以
10
进位的办法来换算,而操作系统是以
2
进位制来换算,所以在换算成
M
或者
G
时,不同的算法结果却不一样;所以我们的硬盘有时标出的是
80G
,在操作系统下看却少几
M
;
上面例子中,硬盘厂家算法
和
操作系统算数比较:
硬盘厂家:
80023749120 bytes = 80023749.120 K = 80023.749120 M
(向大单位换算,每次除以
1000
)
操作系统: 80023749120 bytes = 78148192.5 K = 76316.594238281 M (向大单位换算,每次除以 1024 )
操作系统: 80023749120 bytes = 78148192.5 K = 76316.594238281 M (向大单位换算,每次除以 1024 )
二、关于硬盘分区划分标准及合理分区结构
1
、硬盘分区划分标准
硬盘的分区由主分区、扩展分区和逻辑分区组成;
所以我们在对硬盘分区时要遵循这个标准;主分区(包括扩展分区)的最大个数是四个,主分区(包含扩展分区)的个数硬盘的主引导记录
MBR
(
Master Boot Recorder
)决定的,
MBR
存放启动管理程序
(GRUB
,
LILO
,
NTLOARDER
等)和分区表记录。
其中扩展分区也算一个主分区;
扩展分区下可以包含更多的逻辑分区;
所以主分区(包括扩展分区)范围是从
1-4
,逻辑分区是从
5
开始的;
比如下面的例子:
Device Boot Start End Blocks Id System
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 9729 55617030 5 Extended
/dev/hda5 2806 3825 8193118+ 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
/dev/hda8 5199 6657 11719386 83 Linux
/dev/hda9 6658 7751 8787523+ 83 Linux
/dev/hda10 7752 9729 15888253+ 83 Linux
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 9729 55617030 5 Extended
/dev/hda5 2806 3825 8193118+ 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
/dev/hda8 5199 6657 11719386 83 Linux
/dev/hda9 6658 7751 8787523+ 83 Linux
/dev/hda10 7752 9729 15888253+ 83 Linux
2
、硬盘设备(包括移动存储设备)在
Linux
或者其它类
Unix
系统的表示;
IDE
硬盘在
Linux
或者其它类
Unix
系统的一般表示为
hd*
,
比如
hda
、
hdb ... ...
,我们可以通过
fdisk -l
来查看;还是以
fdisk -l
为准;
SCSI
和
SATA
硬盘在
Linux
通常也是表示为
sd*
,比如
sda
、
sdb ... ...
以
fdisk -l
为准
移动存储设备在
linux
表示为
sd*
,
比如
sda
、
sdb ... ...
以
fdisk -l
为准
3
、合理的规划分区
分区结构之一:四个主分区
,
没有扩展分区;
[
主|分区1] [主分|区2] [主|分区3] [主|分区4]
这种情况,如果您想在一个磁盘上划分五个以上分区,这样是行不通的;
分区结构之二:
三个主分区
一个扩展分区;
[
主 | 分区1 ] [ 主 | 分区2 ] [ 主 | 分区3 ] [扩展分区]
|
[
逻辑|分区5] [逻辑|分区6] [逻辑|分区7] [逻辑|分区8] ... ...
这种情况行得通,而且分区的自由度比较大;分区也不受约束,能分超过
5
个分区;
2
)最合理的的分区方式;
最合理的分区结构
:
主分区在前,扩展分区在后,然后在扩展分区中划分逻辑分区;
主分区的个数
+
扩展分区个数要控制在四个之内;比如下面的分区是比较好的;
[
主|分区1] [主|分区2] [主|分区3] [扩展分区]
|
[
逻辑|分区5] [逻辑|分区6] [逻辑|分区7] [逻辑|分区8] ... ...
[
主|分区1] [主|分区2] [扩展分区]
|
[
逻辑|分区5] [逻辑|分区6] [逻辑|分区7] [逻辑|分区8] ... ...
[
主|分区1] [扩展分区]
|
[
逻辑|分区5] [逻辑|分区6] [逻辑|分区7] [逻辑|分区8] ... ...
最不合理的分区结构:
主分区包围扩展分区;
比如下面的;
[
主|分区1] [主|分区2] [扩展分区] [主|分区4] [空白未分区空间]
|
[
逻辑|分区5] [逻辑|分区6] [逻辑|分区7] [逻辑|分区8] ... ...
我们根据这个标题,查看一下我们的例子,是不是符合这个标准呢?
Device Boot Start End Blocks Id System
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 9729 55617030 5 Extended
/dev/hda5 2806 3825 8193118+ 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
/dev/hda8 5199 6657 11719386 83 Linux
/dev/hda9 6658 7751 8787523+ 83 Linux
/dev/hda10 7752 9729 15888253+ 83 Linux
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 9729 55617030 5 Extended
/dev/hda5 2806 3825 8193118+ 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
/dev/hda8 5199 6657 11719386 83 Linux
/dev/hda9 6658 7751 8787523+ 83 Linux
/dev/hda10 7752 9729 15888253+ 83 Linux
后记:
把分区基础写出来,主要是想让新手弟兄知道什么是合理的分区结构,如果把硬盘分区规划好了,也为以学习省却了不少麻烦;
本文出自 “
jekay100的博客” 博客,转载请与作者联系!
本文出自 51CTO.COM技术博客
转载于:https://blog.51cto.com/guoziwei/93462