Linux学习笔记6-使用fdisk进行磁盘管理

699 查看

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

上图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

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)=XCylinder63sectors255heads*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查看分区信息。

Linux使用fdisk进行磁盘管理

这样扩展分区就创建划分好了(必然占用了一个主分区表空间信息);但是扩展分区是不能直接使用的,必须在此基础上继续再创建逻辑分区,才能够使用。接下来,继续创建逻辑分区。

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按钮