导航新进会员
在线用户目前共有 0 位用户和 7 位游客在线。
|
合理规划您的硬盘分区
作者:北南南北
来自:LinuxSir.Org 提要:对于一个硬盘(包括移动存储设备)如何规划分区结构及如何划分才是比较合理的;为了减少由于硬盘划分不合理而造成的风险及不必要的麻烦,有必要重述如何对一个硬盘的分区结构进行规划; +++++++++++++++++++++++++++++++++++++++++++++ 正文 +++++++++++++++++++++++++++++++++++++++++++++ 一、关于硬盘种类、物理几何结构及硬盘容量、分区大小计算; 1、硬盘种类、物理几何结构 硬盘的种类主要是SCSI 、IDE 、以及现在流行的SATA等;任何一种硬盘的生产都要一定的标准;随着相应的标准的升级,硬盘生产技术也在升级;比如 SCSI标准已经经历了SCSI-1 、SCSI-2、SCSI-3;其中目前咱们经常在服务器网站看到的 Ultral-160就是基于SCSI-3标准的;IDE 遵循的是ATA标准,而目前流行的SATA,是ATA标准的升级版本;IDE是并口设备,而SATA是串口,SATA的发展目的是替换IDE; 硬盘的物理几何结构是由盘、磁盘表面、柱面、扇区组成,一个张硬盘内部是由几张碟片叠加在一起,这样形成一个柱体面;每个碟片都有上下表面;磁头和磁盘表面接触从而能读取数据; 2、硬盘容量及分区大小的算法; 我们通过fdsik -l 可以发现如下的信息: Disk /dev/hda: 80.0 GB, 80026361856 bytes磁面个数 x 扇区个数 x 每个扇区的大小512 x 柱面个数 = 硬盘体积 (单位bytes) 所以在本例中磁盘的大小应该计算如下: 255 x 63 x 512 x 9729 = 80023749120 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) 我们在查看分区大小的时候,可以用生产厂家提供的算法来简单推算分区的大小;把小数点向前移动六位就是以G表示的大小;比如 hda1 的大小约为 6.144831G ; 二、关于硬盘分区划分标准及合理分区结构; 1、硬盘分区划分标准 硬盘的分区由主分区、扩展分区和逻辑分区组成;所以我们在对硬盘分区时要遵循这个标准;主分区(包括扩展分区)的最大个数是四个,主分区(包含扩展分区)的个数硬盘的主引导记录MBR(Master Boot Recorder)决定的,MBR存放启动管理程序(GRUB,LILO,NTLOARDER等)和分区表记录。其中扩展分区也算一个主分区;扩展分区下可以包含更多的逻辑分区;所以主分区(包括扩展分区)范围是从1-4,逻辑分区是从5开始的;比如下面的例子: Device Boot Start End Blocks Id System通过这个例子,我们可以看到主分区有3个,从 hda1-hda3 ,扩展分区由 hda5-hda10 ;此硬盘没有主分区4,所以也没有显示主分区hda4 ;但逻辑分区不可能从4开始,因为那是主分区的位置,明白了吧; 2、硬盘设备(包括移动存储设备)在Linux或者其它类Unix系统的表示; IDE 硬盘在Linux或者其它类Unix系统的一般表示为 hd* ,比如hda、hdb ... ... ,我们可以通过 fdisk -l 来查看;有时您可能只有一个硬盘,在操作系统中看到的却是 hdb ,这与硬盘的跳线有关;另外hdc 大多表示是光驱设备;如果您有两块硬盘,大多是 hda和hdb。在这方面说的太多也无用,还是以fdisk -l 为准为好; SCSI 和SATA 硬盘在Linux通常也是表示为 sd* ,比如 sda 、sdb ... ... 以fdisk -l 为准 移动存储设备在linux表示为 sd* ,比如 sda 、sdb ... ... 以fdisk -l 为准 3、合理的规划分区; 关于一个磁盘的分区,一个磁盘应该有四个主分区,其中扩展也算一个主分区;存在以下情况: 1)分区结构之一:四个主分区,没有扩展分区; [主|分区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] ... ...
这样 [主|分区2] 和 [主|分区4] 之间的 [扩展分区] 是有自由度,但[主|分区4]后的[空白未分区空间]怎么办?除非把主分区4完全利用扩展分区后的空间,否则您想在主分区4后再划一个分区是不可能的,划分逻辑分区更不可能; 虽然类似此种办法也符合一个磁盘四个主分区的标准,但这样主分区包围扩展分区的分区方法实在不可取;
我们根据这个标题,查看一下我们的例子,是不是符合这个标准呢? Device Boot Start End Blocks Id System后记: 把分区基础写出来,主要是想让新手弟兄知道什么是合理的分区结构,如果把硬盘分区规划好了,也为以学习省却了不少麻烦;在此文后,我计划写具体的分区工具介绍;这也算一个基础知识的积累;虽然老手都会,但新手可能还是需要的; 致谢: 对于本文zhy2111314 兄弟也有贡献;在此致谢; 附录: 《系统引导过程及硬盘分区结构论述》 《Linux 查看磁盘分区、文件系统、使用情况的介绍》 《实例解说 fdisk 使用方法》 《在Linux系统中存储设备的两种表示方法》 |
最新评论
|
你好,给我解答一个硬盘分区的问题吧,谢谢
我正在安装LINUX系统,找了很多资料看,昨天看到了你的文章,明白了很多,谢谢,我现在还有一个疑问:我现在需要给LINUX腾出空间,我现在用的是WINDOWSxp,有CDEF盘,我想把F盘(25G)腾出来,现在我是不是直接在WINDOWS下删除这个分区(应该对现在的系统没影响吧?),那么以前F盘的空间是不是就属于空白空间了,安装LINUX时,它会识别这些空白空间,对不对?那么,我可以用以前F盘的空间划分新的分区安装LINUX,windows下C D E 在LINUX下表示我可以明白,那空白的盘是怎么表示来的?安装时的分区怎么分空白盘呢?
我邮箱是:liuyun_swpu2009@yahoo.cn,发邮件和我说也行,回复也行
我是新手,很多不明白,装好系统慢慢还可以再学,大家帮我一下,谢谢了
这个 问题 太
这个 问题 太 简单了,大家都不值得回答啊?
我是LINUX新手,很喜欢LINUX,谢谢大家的帮助。
WHAT
WHAT??
太好了
太好了,我现在就需要这方面的。
如果北南南北再提供一些工具的下载就好了。
我最近在网上找的partition magic汉化版的都不是很好 。。
期待ing
终于知道了...
Thank you!
有个小错误吧
“每个扇区大小是 512byte,也就是0.5M”这一句应该是 0.5K 吧,如果要换算成 MB 的话就应该是 0.0005M。
兄弟说的对,一会就更正
兄弟仔细。
谢谢 。。
北南 呈上
谢谢
谢谢,很有帮助啊,非常感谢,看了好几篇,正好在装系统,很有用,会经常关注哦
经典
说得真的是好啊
我一直都对这个有些疑问,现在终于弄明白了
谢谢了
HEH
HEEH