Fdisk分区工具
1. Overview
*Fdisk是IBM的老牌分区工具,支持绝大多数操作系统,几乎所有的Linux操作系统都默认装有fdisk;包括在Linux Rescue模式下依然能够使用。
*fdisk是基于MBR的分区工具(是当年IMB设计给PC机来使用的),所以如果需要使用GPT,则无法使用fdisk进行分区
*只有超级用户权限(如root,Uid=0的;可以用在命令行中输入id来查询)才可以执行fdisk,因为命令都是咋/sbin下面,需要特权级的用户;
*使用su - 命令切换到Root用户
*fdisk分区后,需要使用partprobe(立即生效)让内核识别新的分区
2. Command Reference
*fdisk –l # 列出所有安装的磁盘及分区信息
*fdisk /dev/sdb #对目标磁盘进行分区操作
*partprobe #分区之后,让内核更新分区信息,否则系统需要restart后,内核才能识别新的分区
*/proc/partitions 文件夹(目录)也可以用来查看分区信息
2.1 命令fdisk -l的界面
上图sda disk information中对 255 heads,63 sectors/track,1958 cylinders的解析:
sda磁盘总共有1958个cylinder(柱面),每个cylinder(柱面)有63个sectors(扇区),每个sectors(扇区)有255个heads(磁头)
那么这块sda的总的磁头数量为:255*63*1958=31455270
因为一块磁盘的空间大小计算方式为:这块磁盘的总的磁头数量(Heads)*512bytes(因为每个磁头数量为512字节)
所以这块磁盘的空间为31455270*512=16105098240=16.1G
fdisk /dev/sdb后,按m,再按l(list know partition type),列出的分区类型
2.2 命令fdisk /dev/sdb的交互式界面:如下图
按m (for help)+Enter后的交互式界面,如下图
按n+Enter后(add a new partition),出现的交互式见面
按“P”后(创建主分区),出现的交互式界面如下图
Partition number按1后,出现如下图:Cylinder数从1-1044
输入分区大小为+2G后,如下图,也可以输入Cylinder数量,不过要计算一下,计算方法为要分配的容量如2G(2048000000bytes)=XCylinder*63sectors*255heads*512bytes
2.3 创建扩展分区
在root权限下输入命令 fdisk /dev/sdb 回车,按n(create new partition)回车,按e(extended Partition)回车;输入2(第二个分区)回车;在First Cylinder(default是263)处直接回车,在last cylinder(Default是1044,就是创建分区1后的所有剩余空间都划分为扩展分区)处直接回车。按P查看分区信息。
这样扩展分区就创建划分好了(必然占用了一个主分区表空间信息);但是扩展分区是不能直接使用的,必须在此基础上继续再创建逻辑分区,才能够使用。接下来,继续创建逻辑分区。
2.4 创建逻辑分区(Logical Partition)
按n回车,发现e(extended)选项没有了,取而代之的是l(Logical Partition);而且逻辑分区的号永远都是从5开始(5 or Over)
按l回车,再分+2G的空间给第一个逻辑分区,注意,下面逻辑分区号是从5开始sdb5,柱面号从263--524;Blocks(空间大小为2G)
那么,对于创建的分区而言,为了系统能够识别,我们还要创建分区类型ID。
2.5 修改id partition type
按m(for help)回车,再按t回车;如果不知道system 类型对应的id号,请再按大写的L(list known partition types)回车
2.6 所有的操作仅仅存放在内存中,如果要生成分区操作,请按w按钮