linux磁盘分区fdisk命令详解
1、什么是分区?
分区是将一个硬盘驱动器分成若干个逻辑驱动器,分区是把硬盘连续的区块当做一个独立的磁硬使用。分区表是一个硬盘分区的索引,分区的信息都会写进分区表。
2、为什么要有多个分区?
防止数据丢失:如果系统只有一个分区,那么这个分区损坏,用户将会丢失所的有数据。
增加磁盘空间使用效率:可以用不同的区块大小来格式化分区,如果有很多1K的文件,而硬盘分区区块大小为4K,那么每存储一个文件将会浪费3K空间。这时我们需要取这些文件大小的平均值进行区块大小的划分。
数据激增到极限不会引起系统挂起:将用户数据和系统数据分开,可以避免用户数据填满整个硬盘,引起的系挂起。
3、分区工具fdisk用法介绍
fdisk命令参数介绍
p、打印分区表。
n、新建一个新分区。
d、删除一个分区。
q、退出不保存。
w、把分区写进分区表,保存并退出。
实例:
[root@localhost ~]# fdisk /dev/hdd
按"p"键打印分区表
这块硬磁尚未分区
按"n"键新建一个分区。
出现两个菜单e表示扩展分区,p表示主分区
按"p"键出现提示:"Partition number (1-4): "选择主分区号
输入"1"表示第一个主分区。
直接按回车表示1柱面开始分区。
提示最后一个柱面或大小。
输入+5620M 按回车
表示第一个分区为5G空间。
按"p"查看一下分区
这样一个主分区就分好了。
接下来分第二个主分区,把剩余空间都给第二个主分区。
按"n"
键新增一个分区
按"p"键设为主分区
输入"2"把主分区编号设为2
按两下回车把剩余空间分给第二个主分区。
按"p"键打印分区表
按"w"键保存退出。
读者可根据自己的硬盘大小来划分合适的分区。
4、使用分区
在使用硬盘之前必须对其分区进行格式化,并挂载。
[root@localhost ~]#mkfs.ext3 /dev/hdd1
[root@localhost ~]#mkfs.ext3 /dev/hdd2
创建挂载目录
[root@localhost ~]#mkdir /hdd1 /hdd2
挂载/dev/hdd1 /dev/hdd2
[root@localhost ~]#mount /dev/hdd1 /hdd1
[root@localhost ~]#mount /dev/hdd2 /hdd2
查看
[root@localhost ~]#df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hda3 7.5G 2.8G 4.3G 40% /
/dev/hda1 99M 17M 78M 18% /boot
tmpfs 62M 0 62M 0% /dev/shm
/dev/hdd1 2.5G 68M 2.3G 3% /hdd1
/dev/hdd2 2.5G 68M 2.3G 3% /hdd2
现在往/hdd1目录写数据就存储到/dev/hdd这块硬盘了
fdisk -l显示信息详解
fdisk -l显示信息详解
[[email protected] ~]# 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: 0x00044938
Device Boot Start End Blocks Id System
/dev/sda1 * 1 638 5120000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 638 893 2048000 83 Linux
Partition 2 does not end on cylinder boundary.
/dev/sda3 893 1020 1024000 82 Linux swap / Solaris
Partition 3 does not end on cylinder boundary.
/dev/sda4 1020 1306 2292736 5 Extended
/dev/sda5 1021 1306 2291712 83 Linux
解析:
Disk /dev/sda: 10.7 GB, 10737418240 bytes
块设备名称为/dev/sda,此设备的大小为10.7GB,这个数字不是特别精确,我系统是10GB;10737418240 bytes这是转换成字节后的大小,即:10737418240/1024/1024/1024=10GB (注:bytes=B,表示“字节”,bit=b,表示“位”)
255 heads, 63 sectors/track, 1305 cylinders
255 heads:表示磁头数为255
63 sectors/track:表示每磁道上有63个扇区
1305 cylinders:表示共有1305个柱面,柱面是分区的最小单位
Units = cylinders of 16065 * 512 = 8225280 bytes
16065=255*63 因为每一个磁头都是在同一个柱面的,63表示每个磁道上的扇区数量,这两个数的乘积表示一个柱面上的扇区数量;所以16065*512表示一个柱面的大小是8225280字节
Sector size (logical/physical): 512 bytes / 512 bytes
表示一个扇区的大小是512字节
总结:所以一个磁盘的大小=一个柱面大小*柱面的总数=磁头数量*每个磁道上的扇区数*一个扇区大小*柱面总数
即:磁盘大小=8225280*1305=10733990400bytes=9.99GB=255*63*512*1305
上例中显示出我们的磁盘只有1305个柱面,但下边的分区信息中出现了1306个柱面数,不必太在意,linux显示的这些数据不会十分精确。