linuxfenqu/ target=_blank class=infotextkey>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命名规则:
这是因为,在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 磁盘容量以及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
#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,计算每个分区大小的三种方法
从下面的命令中可以得出 /dev/sda1 大小是245M
查看磁盘整体情况
一个分区容量的值是由下面的公式而来的;
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是不是一个连续的数字.
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磁盘分区步骤示例
linux 分区方法(个人与服务器)
Gentoo Linux分区方案(示例)
linux分区方案(推荐)图文详解
Linux系统硬盘分区的合理方案
Linux分区与命名方案分享
linux分区方案(最佳方法)
linux分区方案(新手入门篇)
我的Linux理想分区