硬盘

转载 2006年06月04日 11:44:00
一、关于硬盘种类、物理几何结构及硬盘容量、分区大小计算;


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
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.5M;

通过上面的例子,我们发现此硬盘有 255个磁盘面,有63个扇区,有9729个柱面;所以整个硬盘体积换算公式应该是:

磁面个数 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
/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

通过这个例子,我们可以看到主分区有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
/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




后记:

 

把分区基础写出来,主要是想让新手弟兄知道什么是合理的分区结构,如果把硬盘分区规划好了,也为以学习省却了不少麻烦;在此文后,我计划写具体的分区工具介绍;这也算一个基础知识的积累;虽然老手都会,但新手可能还是需要的;


致谢:

对于本文zhy2111314 兄弟也有贡献;在此致谢;


附录:

《系统引导过程及硬盘分区结构论述》
《Linux 查看磁盘分区、文件系统、使用情况的介绍》
《实例解说 fdisk 使用方法》

Ubuntu 15.10 新增硬盘详细过程

查看硬盘信息fdisk -l //执行查看命令命令执行完后会输入类似下面的信息,找到需要增加的硬盘盘符,例如/dev/sdaDisk /dev/xvda: 75.2 GB, 75161927680 b...
  • hanshileiai
  • hanshileiai
  • 2017年01月17日 18:53
  • 647

如何给电脑加装硬盘?

随着固态硬盘的推广,越来越多的人会在自己的电脑上加装固态硬盘,从而加快电脑运行速度;或者我们有的时候已经有了固态硬盘,但容量不大,需要另加一个来扩容。其实很简单,从淘宝上买一个即可,自己安装很快也能搞...
  • baidu_33758283
  • baidu_33758283
  • 2018年01月23日 21:05
  • 463

获取硬盘序列号(VC)

说明:经过上百台计算机测试,IDE和SATA硬盘可以获取序列号;SCSI硬盘没有测试环境,无法测试成功与否。请有条件的朋友帮忙测试下,给个消息,谢谢。            虚拟机上测试不了,不用测试...
  • pingyangcst
  • pingyangcst
  • 2011年07月10日 02:00
  • 3255

通过vsphere给esxi添加本地硬盘

本文由秀依林枫提供友情赞助,首发于烂泥行天下。 公司ESXi服务器的硬盘空间不够使用,现在新加了一块硬盘在ESxi服务器上。在服务器上添加完硬盘后,在Vsphere上是看不到新加硬盘的。 下面我们...
  • zhousongyue
  • zhousongyue
  • 2015年05月18日 13:45
  • 2241

新买的3TB新硬盘为何缩水了??

部分网友购买3TB硬盘装机使用,点击电脑属性查看硬盘容量,发现容量仅2.72TB,与3TB容量相差0.28TB之多,等于不见一半多的500GB硬盘。这不是骗人么? 硬盘容量涉及十进制和二...
  • u011543503
  • u011543503
  • 2013年08月14日 10:20
  • 822

win下的休眠对硬盘有影响

经常修改,容易导致硬盘分区表混乱。 win8下面,右键点击开始,默认去掉了休眠。 他把内存数据保存到了硬盘上面,如果错误,说不定给让恢复的进程执行不确定的指令。...
  • xiuzhentianting
  • xiuzhentianting
  • 2016年01月25日 21:10
  • 540

用JAVA获取硬盘序列号的方法

希捷(Seagate)迈拓(Maxtor)西部数据(Western Digital)三星(SAMSUNG) 日立(HITACHI)等硬盘都有自己规定方式编号的硬盘序列号,所谓序列号就是硬盘编号。硬盘序...
  • wugouzi
  • wugouzi
  • 2014年05月07日 00:09
  • 4835

硬盘电机驱动电路

手里有一块报废的希捷硬盘,好在电机是好的。。   于是,有了鼓捣这电机的想法。 查了下资料 根据这哥们的方法,实现了 http://tieba.baidu.com/p/2192115004     用...
  • wzs298
  • wzs298
  • 2013年08月19日 18:22
  • 4413

关于服务器硬盘寿命

连续无故障时间 这是指硬盘从开始运行到出现故障的最长时间,单位是小时。一般硬盘的MTBF至少在3万或4万小时。来源百度百科http://baike.baidu.com/view/188738.htm...
  • yxwmzouzou
  • yxwmzouzou
  • 2015年03月04日 00:40
  • 3471

Power 520六种硬盘背板的介绍

Power 520六种硬盘背板的介绍 Power 520的e-config工具支持六种硬盘背板,分别为:fc#8308,fc#8310,fc#8341,fc#8345,fc#8340和fc#83...
  • zhou000yang
  • zhou000yang
  • 2014年11月18日 16:30
  • 1162
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:硬盘
举报原因:
原因补充:

(最多只允许输入30个字)