`

linux磁盘分区详解

 
阅读更多

参考资料

http://blog.csdn.net/freexploit/article/details/961330

http://soft.yesky.com/os/lin/74/2155574.shtml

 

 

linux分区规定:

1 设备管理

在linux中,每一个硬件设备都映射到一个系统的文件.

 

linux把各种ide设备分配了一个由hd前缀组成的文件.

而对于各种scsi设备.则分配了一个由sd前缀组成的文件.

对于scsi硬盘则标识为"sdx~".scsi硬盘是用sd来表示分区所在设备的类型.

“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),

“~”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,

从5开始就是逻辑分区。

例,

IDE设备:一台PC上可以有两个ide接口.

我们称其为第一IDE第二IDE.每个ide上有两个ide设备.

我们将其称为主盘,从盘.其中硬盘和光驱都是IDE设备。

linux命名规则:

第一IDE的主盘:/dev/hda

第二IDE的主盘:/dev/hdb

第二IDE的主盘:/dev/hdc
第二IDE的从盘:/dev/hdd

这是因为,在UNIX/LINUX系统中,将所有的设备都当做一个文件,放在/dev目录下.

故所有文件都放到/dev目录下.

2 分区数量 

硬盘分区是针对一个硬盘进行的操作.

关于一个磁盘的分区,一个磁盘应该有四个主分区,其中扩展也算一个主分区

主分区.1-3个

扩展分区.0-1个

逻辑分区.无限制

 扩展分区本身无法用来存放数.要使用它必须将其分成若干个<1-n个>逻辑分区.

 

最合理的分区结构

主分区在前,扩展分区在后,然后在扩展分区中划分逻辑分区;主分区的个数+扩展分区个数要控制在四个之内;比如下面的分区是比较好的;

 

[主|分区1] [主|分区2] [主|分区3] [扩展分区]
                                                            |
             [逻辑|分区5] [逻辑|分区6] [逻辑|分区7] [逻辑|分区8] ... ... 

 

[主|分区1] [主|分区2] [扩展分区]
                                          |        
   [逻辑|分区5] [逻辑|分区6] [逻辑|分区7] [逻辑|分区8] ... ... 

      

[主|分区1] [扩展分区]
                        |        
[逻辑|分区5] [逻辑|分区6] [逻辑|分区7] [逻辑|分区8] ... ...

3 各分区的作用

在linux中规定.每一个硬盘设备最多能有4个主分区<其中包含扩展分区>.也就是在一个硬盘中,主分区和扩展分区一共最多是4个.

主分区的作用是计算机用来进行启动操作系统的,

因此每一个操作系统的启动.或者称作引导程序都应该放在主分区上.

<这是主分区和扩展分区以及逻辑分区最大的区别>

4 其他理解

 对主要分区、扩展分区与逻辑分区的特性做一个简单的定义:

 

  • 主要分区和扩展分区最多可以有四个
  • 扩展分区最多只能有一个
  • 逻辑分区是有扩展分区持续切割出来的分区槽
  • 磁盘被格式化后,作为数据存取的分割槽为主要分区与逻辑分区,扩展分区无法格式化

 5 磁盘容量以及分区大小的算法

Js代码 复制代码
  1. #fdisk -l  
  2. Disk /dev/hda: 80.0 GB, 80026361856 bytes  
  3. 255 heads, 63 sectors/track, 9729 cylinders  
  4. Units = cylinders of 16065 * 512 = 8225280 bytes  
  5.    Device Boot Start End Blocks Id System  
  6. /dev/hda1 * 1 765 6144831 7 HPFS/NTFS  
  7. /dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)  
  8. /dev/hda3 2806 9729 55617030 5 Extended  
  9. /dev/hda5 2806 3825 8193118+ 83 linux  
  10. /dev/hda6 3826 5100 10241406 83 linux  
  11. /dev/hda7 5101 5198 787153+ 82 linux swap / Solaris  
  12. /dev/hda8 5199 6657 11719386 83 linux  
  13. /dev/hda9 6658 7751 8787523+ 83 linux  
  14. /dev/hda10 7752 9729 15888253+ 83 linux  
#fdisk -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:扇区 每个扇区大小512byte

 cylinders:柱面

 整个磁盘体积换算公式:

         磁面个数*扇区个数*每个扇区的大小512*柱面个数

            = 磁盘体积(单位 bytes)

255 x 63 x 512 x 9729 = 80023749120 bytes

 

 

        /dev/hda1 主分区 

       /dev/hda2  主分区

       /dev/hda3 扩展分区

                <相当于一个容器.从属它的逻辑分区有:

                      hda5,hda6,hda7,hda8,hda9,hda10>

磁盘总容量 = 主分区(包括扩展分区)总容量

扩展分区容量=逻辑分区总容量

hda=hda1+hda2+hda3

hda3=hda5+hda6+hda7+hda8+hda9+hda10

 

 计算磁盘剩余空间:

实际已经分区的体积

 hda1+hda2+hda3=

6144831+16386300+39728745

= 62259876 (b)

=60800.67 (M)

 整个磁盘的大小

80.0gb=78150.744M

未分区的可用空间

17350.074M

6 计算每个分区大小的三种方法

1

从下面的命令中可以得出 /dev/sda1 大小是245M

[root@localhost Desktop]# df -lh|grep /dev/sda1
/dev/sda1             291M   31M  245M  12% /boot

下面的命令是查看磁盘整体情况

[root@localhost Desktop]# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 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: 0x000f1e94

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          39      307200   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              39        2354    18598912   83  Linux
/dev/sda3            2354        2611     2064384   82  Linux swap / Solaris

 

一个分区容量的值是由下面的公式而来的;

Blocks = (相应分区End数值 - 相应分区Start数值)x 单位cylinder(磁柱)的容量

 

sda1的大小:

(39-1)*8225280 bytes = 312560640 bytes = 约为312M

3
注:换算单位以硬盘厂家提供的10进位算起,如果以操作 系统二进制来算,这个分区容量应该更少一些,得出的这个值和我们通过 fdisk -l 看到的 /dev/sda1的值是大体相当的,因为换算方法不一样,所以也不可能尽可能的精确;再加上分区时的一点损失之类,有时或大或小是存在的;

 7 估算一个存储设备是否被完全划分
只要看 fdisk -l 输出的内容中的 cylinders(柱体) 上一个分区的End 和 下一个分区的Start是不是一个连续的数字.
Disk /dev/sda: 1035 MB, 1035730944 bytes
256 heads, 63 sectors/track, 125 cylinders
Units = cylinders of 16128 * 512 = 8257536 bytes
   Device Boot Start End Blocks Id System
/dev/sda1 1 25 201568+ c W95 FAT32 (LBA)
/dev/sda2 26 125 806400 5 Extended
/dev/sda5 26 50 201568+ 83 linux
/dev/sda6 51 76 200781 83 linux
 

sda有 125个cylinders (柱体),有一个主分区和一个扩展分区构成;在扩展分区中,我们看到End的值为125,而这个移动硬盘的cylinder也是125,这能说明这个硬盘 不可能再添加任何主分区了;根据我们上面所说的 sda1 sda2 sda5 sda6 之间未有任何未划分空间,但sda6 的cylinders (柱体)的End值却是 76 ,而 sda总的cylinders (柱体)有125个,由此看来sda 在 sda6后面有未划分区域;

至于sda 有多少未划分空间,我们算一下就知道了;扩展分区总容量是 806400 K ,大约是 806.400M左右,而逻辑分区 sda5 和sda6 的大小加起来是 400M左右,所以还仍有400M左右未划分空间,并且只能划分为链逻辑分区;

分享到:
评论

相关推荐

    linux下磁盘分区详解

    ### Linux下磁盘分区详解 #### 一、磁盘设备命名规则 在Linux系统中,磁盘设备的命名方式与Windows有所不同。对于IDE硬盘,其设备名称为`hdx`(其中`x`代表从`a`到`d`的字母,这是因为IDE硬盘最多只能有四个),而...

    linux下磁盘分区详解图文.doc

    linux 下磁盘分区详解图文 Linux 下磁盘分区是指在 Linux 操作系统中对磁盘进行分区和管理的过程。磁盘分区是指将物理磁盘分成多个逻辑磁盘,以便更好地管理和使用磁盘空间。 在 Linux 中,磁盘设备名通常以 hd 或...

    linux磁盘分区详解 (怎样学习磁盘分区)

    Linux磁盘分区详解 Linux磁盘分区是Linux操作系统中的一种基本存储管理机制,它将硬盘分配成多个逻辑上的独立区域,以便更好地管理和使用硬盘资源。 Linux磁盘分区可以分为基本分区(primary partion)和扩充分区...

    在职教育3g学院-lamp经典入门29linux磁盘分区详解

    "在职教育3g学院-lamp经典入门29linux磁盘分区详解"课程聚焦于这一主题,旨在帮助初学者和进阶者深入了解Linux系统下磁盘的管理和配置。 首先,我们需要了解Linux磁盘的基本概念。在Linux中,磁盘被分为物理设备...

    linux磁盘分区详解.doc

    Linux磁盘分区是系统管理的重要环节,特别是在服务器和高级用户环境中。Linux的磁盘分区与Windows有所不同,主要基于不同的文件系统和分区结构。在Linux中,磁盘设备名称通常是基于其接口类型的,例如IDE硬盘被标识...

    Linux磁盘分区挂载详解

    ### Linux磁盘分区挂载详解 #### 一、引言 在Linux系统中,磁盘管理是一项非常重要的任务。无论是日常运维还是系统优化,都需要掌握如何有效地管理磁盘空间。本文将详细介绍Linux磁盘分区与挂载的过程,涵盖检查...

    linux磁盘分区简介

    ### Linux磁盘分区详解 #### 一、磁盘分区的重要性及其背景 随着现代计算机技术的发展,用户越来越多地选择购买预装操作系统的计算机设备,这使得一部分用户可能并未深入理解计算机内部的一些基本概念,比如磁盘...

    linux下用命令磁盘分区详解

    ### Linux下用命令磁盘分区详解 在Linux操作系统中,磁盘分区是一项基本但至关重要的任务,它允许用户根据需求将物理磁盘划分为多个独立的逻辑单元,从而实现资源的有效管理和利用。本文将深入探讨如何使用`fdisk`...

    总结:Linux系统磁盘分区常用的工具

    ### Linux系统磁盘分区常用工具详解 #### 一、引言 在Linux系统中,磁盘分区是一项重要的任务,它不仅影响着系统的性能与稳定性,还关乎数据的安全性。为了更好地管理和利用磁盘空间,Linux提供了多种磁盘分区工具...

    linux分区详解

    在深入探讨Linux分区详解之前,我们首先需理解Linux操作系统下的磁盘分区概念及其重要性。Linux作为一款开源、免费且高度可定制的操作系统,在服务器、嵌入式设备以及个人计算机领域有着广泛的应用。其强大的文件...

    Linux下分区详解

    Linux下的分区管理是系统管理员必备的技能之一,它涉及到如何有效地组织和利用硬盘空间,以满足不同的存储需求。本文将详细解析Linux系统中的分区过程,包括如何查看分区信息、使用`fdisk`工具进行分区管理和理解...

    Linux中磁盘分区

    ### Linux中磁盘分区知识点详解 #### 5.1 硬盘与格式化 **硬盘**是计算机存储系统中的核心部件,它负责长期存储数据。对于任何操作系统来说,包括Linux,硬盘的有效管理至关重要。 **格式化(Formatting)**是...

    讲解Linux硬盘分区步骤

    对于Linux下的分区操作,通常分为几个主要分区类型,包括boot、root、home、swap、tmp和usr等。其中,boot分区通常存储系统的引导文件,对于一般系统而言,分配100MB的容量已经足够。root分区通常代表系统的根目录,...

    Linux磁盘维护命令详解

    3. **mount/umount**: `mount` 命令用于挂载磁盘分区到文件系统中的特定目录,而 `umount` 是用来卸载的。例如,`mount /dev/sdb1 /mnt/data` 将设备 `/dev/sdb1` 挂载到 `/mnt/data` 目录。 4. **df/df -h**: `df`...

    Ubuntu安装过程之磁盘分区.pdf

    ### Ubuntu安装过程中的磁盘分区详解 #### 一、引言 随着Linux系统的普及与应用,越来越多的人开始尝试安装Ubuntu操作系统。在安装过程中,磁盘分区是一个非常关键的步骤,它直接影响到系统的稳定性和数据的安全性...

    day2磁盘分区,详细笔记文档总结

    Linux磁盘分区详解 磁盘结构由磁道(track)、扇区(sector)、磁头(head)和柱面(cylinder)组成。每个扇区(sector)大小为512字节,每个磁道(track)划分为63个扇区,逻辑磁头(盘面)数设为255个。一个柱面...

    Linux 磁盘手动分区(涉及oracle)

    ### Linux磁盘手动分区详解(涉及Oracle) #### 一、引言 在Linux系统中,合理地进行磁盘分区管理对于提高系统的稳定性和性能至关重要。特别是在部署关键业务应用如Oracle数据库时,恰当的磁盘分区策略能够显著...

Global site tag (gtag.js) - Google Analytics