合理规划您的硬盘分区

作者:北南南北
来自: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
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)
所以在本例中磁盘的大小应该计算如下: 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] [扩展分区]<br /> |<br /> [逻辑|分区5] [逻辑|分区6] [逻辑|分区7] [逻辑|分区8] ... ... <br />
[主|分区1] [主|分区2] [扩展分区]<br /> | <br /> [逻辑|分区5] [逻辑|分区6] [逻辑|分区7] [逻辑|分区8] ... ... <br />
[主|分区1] [扩展分区]<br /> | <br />[逻辑|分区5] [逻辑|分区6] [逻辑|分区7] [逻辑|分区8] ... ...<br />

最不合理的分区结构: 主分区包围扩展分区;比如下面的;

[主|分区1] [主|分区2] [扩展分区] [主|分区4] [空白未分区空间]<br /> |<br /> [逻辑|分区5] [逻辑|分区6] [逻辑|分区7] [逻辑|分区8] ... ... <br />

这样 [主|分区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

后记:略;

【转载】合理规划您的硬盘分区相关推荐

  1. 合理规划您的硬盘分区

    合理规划您的硬盘分区 作者:北南南北 来自:LinuxSir.Org 提要:对于一个硬盘(包括移动存储设备)如何规划分区结构及如何划分才是比较合理的:为了减少由于硬盘划分不合理而造成的风险及不必要的麻 ...

  2. fdisk -l查看硬盘分区信息及硬盘分区介绍

    原文:https://blog.csdn.net/a1809032425/article/details/79692035 linux fdisk 命令和df区别是什么?  fdisk工具是分区工具: ...

  3. 系统引导管理 之 系统引导过程及硬盘分区结构论述

    作者: zhy2111314 来自: LinuxSir.Org ouc.edu.cn 摘要: 本文是理论性文档,主要讲述系统引导过程以及硬盘的物理结构: +++++++++++++++++++++++ ...

  4. LinuX 硬盘分区细节详谈 【 整理至 LinuxSir BY FreeXploiT 】

    系统引导过程及硬盘分区结构论述 作者: zhy2111314 来自: LinuxSir.Org ouc.edu.cn 摘要: 本文是理论性文档,主要讲述系统引导过程以及硬盘的物理结构: +++++++ ...

  5. LinuX 硬盘分区细节

    系统引导过程及硬盘分区结构论述 作者: zhy2111314 来自: LinuxSir.Org ouc.edu.cn 摘要: 本文是理论性文档,主要讲述系统引导过程以及硬盘的物理结构: +++++++ ...

  6. LinuX 硬盘分区细节详谈

    系统引导过程及硬盘分区结构论述 作者: zhy2111314 来自: LinuxSir.Org ouc.edu.cn 摘要: 本文是理论性文档,主要讲述系统引导过程以及硬盘的物理结构: +++++++ ...

  7. linux 查看硬盘的uuid_Ubuntu中查看硬盘分区UUID的方法(所有Linux目录的解释)

    在Ubuntu中UUID的两种获取方法,至于UUID是什么,你可以大概理解为分区的标识符,像条形码那样. 在终端中输入下面的命令就可心查看到分区UUID了. 命令1. sudo blkid 命令2. ...

  8. 【转载】联想电脑无法重装系统原因 硬盘分区问题

    在维修电脑的过程中,发现"联想"品牌机要重装系统,或者用Ghost还原安装时候,会出现错误,使得安装无法全部完成. 其实这是联想的保护技术,在机箱背后,注意观察,就会发现一个拨动开 ...

  9. Ubuntu硬盘分区/格式化/挂载文件系统各种应用(转载)

    摘要:硬盘上有些什么.文件们都有多大,在有些时候我们是需要关心的,所以这里简单介绍两个命令:df.du.一个Ubuntu硬盘可以划分4个区,3个主要分区,一个扩展分区,而扩展分区里可以划分n个逻辑分区 ...

  10. Linux学习笔记之——Linux硬盘分区知识

    搭建Linux环境之前,有必要对Linux的硬盘分区知识有所了解.本文总结Linux的硬盘分区知识. 一.关于硬盘种类.物理几何结构及硬盘容量.分区大小计算       首先了解一下硬盘本身的一些信息 ...

最新文章

  1. etcd 笔记(04)— etcd 网关与 gRPC 网关
  2. numa节点_漫步云端NUMA调度
  3. C语言满分代码:L1-050 倒数第N个字符串 (15分)
  4. UML造型——使用EA时序图工具的开发实践和经验
  5. Excel和Word 简易工具类,JEasyPoi 2.1.5 版本发布
  6. 内推 | 字节跳动算法提前批
  7. OOM分析(1) Android 源,如何分析android的OOM,与java静态代码分析工具
  8. GitHub 上 5 款超好用的数据库 GUI 带你玩转 MongoDB、Redis、SQL 数据库
  9. 对Mac硬盘重新分区后如何恢复丢失的数据?
  10. 使用MVPArms框架时,访问网络没响应。
  11. maven导入ojdbc14.jar
  12. linux配置c11,C11标准的泛型机制
  13. 怎样在计算机查汉字,推荐一种集汉字识字、查字、计算机输入于一体的规范汉字字形输入法—郑码(之二)...
  14. windows安装php
  15. Cannot resolve MVC View
  16. 存储系统性能 - 带宽计算
  17. 【结构化思考】边缘计算架构 3D模型参考
  18. Android 获取设备唯一标识
  19. python一键替换_python 实现批量替换文本中的某部分内容
  20. 图像边缘锯齿及处理方法

热门文章

  1. 安装rvm的时候提示curl证书的问题..
  2. Zabbix安装记录
  3. 虚拟机VMware tools安装
  4. 双显卡笔记本安装linux,双显卡笔记本安装 Ubuntu 18.04 攻略
  5. 学习OO,实现的小跟堆代码
  6. 第十二章 trie路由--基于Linux3.10
  7. CentOS 6系统FreeSwitch和RTMP服务 安装及演示(四)
  8. 第四部分 在configure.in中使用宏来检测
  9. linux文件系统初识
  10. 水下清淤机器人_国产第五代箱涵清淤机器人真机亮相上海城市管网展恒通环境展位...