硬盘分区主要分为:
主分区(primary partition):可以马上被使用但不能再分区。
扩展分区(extension partition):必须再进行分区后才能被使用。
逻辑分区(logical partition):由扩展分区建立起来的分区。
主分区和扩展分区的数目之和不能大于4,逻辑分区数量上没有限制,扩展分区其实是逻辑分区的集合。
硬盘分区的标识一般使用/dev/hd[a-z]X或者/dev/sd[a-z]X来标识,其中[a-z]代表硬盘号,X代表硬盘内的分区号。
整块硬盘分区的块号标识:Linux下用hda、hdb、sda、sdb 等来标识不同的硬盘;其中:
IDE接口硬盘:表示为/dev/hda1、/dev/hdb ...;
SCSI 接口的硬盘、SATA接口的硬盘表示为/dev/sda、/dev/sdb ... ... ;
硬盘内的分区:
如果X的值是1到4,表示硬盘的主分区(包含扩展分区);
逻辑分区从是从5开始的,比如/dev/hda5肯定是逻辑分区了;
例如:
用hda1、hda2、 hda5、hda6 来标识不同的分区。
字母a 代表第一块硬盘。
b代表第二块硬盘,依次类推。
而数字1 代表一块硬盘的第一个分区、2 代表第二个分区,依次类推。
1 到4 对应的是主分区(Primary Partition)或扩展分区(Extension Partition)。
从5开始,对应的都是硬盘的逻辑分区(Logical Partition)。
一块硬盘即使只有一个主分区,逻辑分区也是从5开始编号的,这点应特别注意。
fdisk - Patition table manipulator for Linux
[root@owenz /]# fdisk -h
Usage:
fdisk [options] change partition table
fdisk [options] -l list partition table(s)
fdisk -s give partition size(s) in blocks
Options:
-b sector size (512, 1024, 2048 or 4096)
-c switch off DOS-compatible mode
-h print help
-u give sizes in sectors instead of cylinders
-v print version
-C specify the number of cylinders
-H specify the number of heads
-S specify the number of sectors per track
对硬盘进行分区操作
1、查看系统硬盘详细信息
[root@owenz ~]# fdisk -l
Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 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: 0x00073632
Device Boot Start End Blocks Id System
/dev/sda1 * 1 1306 10484736 83 Linux
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 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: 0x26bd48cd
Device Boot Start End Blocks Id System
我们先详细看下sdb这块硬盘的信息,255 heads说明此硬盘包含255个磁头,63 sectors/track说明每个磁道中包含63个扇区,1305 cylinder说明有1305个柱面,Units = heads * sectors * sectorsize即
每个柱面可存放数据的大小。磁盘的总容量计算为heads * sectors * sectorsize * cylinder = 10737418240 bytes,相关知识请参考:
http://blog.csdn.net/cupid1102/article/details/50128623
2、对磁盘进行分区
[root@owenz ~]# fdisk /dev/sdb
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): m --m输出命令帮助信息
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Command (m for help): n --添加一个分区
Command action
e extended
p primary partition (1-4)
p --选择添加的为扩展分区还是主分区
Partition number (1-4): 1 --输入主分区的number(1-4)
First cylinder (1-1305, default 1): --开始的柱面
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-1305, default 1305): 200 --结束的柱面,这两个参数决定了分区的大小,Units * (Last cylinder - First cylinder + 1),个人认为这样分配的好处为让一个分区的数据可以分散到各个head上。
Command (m for help): p --查看分区
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 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: 0x26bd48cd
Device Boot Start End Blocks Id System
/dev/sdb1 1 200 1606468+ 83 Linux
Command (m for help): w --保存退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.