功能描述

使用fdisk命令可以对磁盘进行分区,它采用传统的问答式界面,除此之外还可以查看磁盘分区的详细信息。

硬盘管理:

MBR: Master boot record : 主引导记录

硬盘的0柱面、0磁头、1扇区称为主引导扇区(也叫主引导记录MBR)。它由三个部分组成,主引导程序、硬盘分区表DPT(Disk Partition table)和分区有效标志(55AA)。

在总共512字节的主引导扇区里主引导程序(boot loader)占446个字节,第二部分是Partition table区(分区表),即DPT,占64个字节,16*4=64,硬盘中分区有多少以及每一分区的大小都记在其中。第三部分是magic number,占2个字节,固定为55AA。

作用:在交互式的操作环境中管理磁盘分区

命令语法
fdisk[磁盘设备]

选项含义

选项 含义
-b<扇区大小> 指定磁盘的扇区大小,有效的值512、1024、2048或4096
-l 列出指定磁盘的分区表信息
-s<分区> 显示分区大小,单位为块
-u 搭配-l选项,用扇区数目取代柱面数目,来表示每个分区的起始地址
-C<柱面数> 指定柱面数
-H<磁头数> 指定磁头数
-S<扇区数> 指定磁盘每磁道的扇区数
 
子命令 功能
m 显示所有能在fdisk中使用的子命令
p 显示磁盘分区信息
a 设置磁盘启动分区
n 创建新的分区
e 创建扩展分区
p 创建主分区
t 更改分区的系统ID(也就是分区类型ID)
d 删除磁盘分区
q 退出fdisk,不保存磁盘分区设置
l 列出已知的分区类型
v 验证分区表
w 保存磁盘分区设置并退出fdisk
Ctrl+退格键 删除输入的错误字符

  示例:

  添加磁盘步骤

  [root@xuegod163 ~]# fdisk –l #查看设备使用状况
 

  [root@xuegod163 ~]# fdisk /dev/sda #指定分区的设备

  Command (m for help): n #创建一个新的分区

  Command action

  e extended                          #创建扩展分区

  p primary partition (1-4)     #创建一个主分区

  p

  Partition number (1-4): 1 #指定分区号

  First cylinder (1-2610, default 1): #指定开始柱面,默认,回车即可

  Using default value 1

  Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): +1G #指定结束的柱面,即指定分区的大小

  e #创建一个扩展分区

  Partition number (1-4): 2

  First cylinder (133-2610, default 133):

  Using default value 133

  Last cylinder, +cylinders or +size{K,M,G} (133-2610, default 2610): +5G

  Command (m for help): n

  Command action

  l logical (5 or over)

  p primary partition (1-4)

  l #创建一个逻辑分区

  First cylinder (133-786, default 133):

  Using default value 133

  Last cylinder, +cylinders or +size{K,M,G} (133-786, default 786): +1G

  Command (m for help): p #显示磁盘分区信息

  Disk /dev/sdb: 21.5 GB, 21474836480 bytes

  255 heads, 63 sectors/track, 2610 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: 0x7f85150a

  Device Boot Start End Blocks Id System

  /dev/sdb1 1 132 1060258+ 83 Linux

  /dev/sdb2 133 786 5253255 5 Extended

  /dev/sdb5 133 264 1060258+ 83 Linux

  Command (m for help): w #保存
 

磁盘分区信息描述

输出信息 信息描述
Disk /dev/sdb: 21.5 GB, 21474836480 bytes 硬盘容量,这里显示的硬盘容量是以1KB=1000字节为换算单位,而不是以1024字节为换算单位。所以我们在安装Linux系统之前规划的22GB硬盘容量在这里显示为21.5 GB
255 heads 每一个柱面有255个磁头
63 sectors/track 每一个磁头有63个块
2610 cylinders 该硬盘有2610个柱面
Units = cylinders of 16065 * 512 = 8225280 bytes 每一个柱面的容量大小为:255x63x512=8225280字节
Sector size (logical/physical): 512 bytes / 512 bytes 每一个块的大小为512字节

磁盘分区的表示方法如下:
  1. Device:磁盘分区设备名,如/dev/sdb1。
  2. Boot :表示引导分区,在上面的例子中/dev/sdb1是引导分区。
  3. Start:表示一个分区的开始柱面。
  4. End:表示一个分区的结束柱面。
  5. Id:一个两位的十六进制,表示分区类型。
  6. System:Id所定义的分区类型。
  7. Blocks(容量):表示分区容量,其单位是块,默认一个块是1KB。

  如果使用一块已经使用过的硬盘创建分区看到以下提示信息,处理方法:

  WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.

  The kernel still uses the old table. The new table will be used at

  the next reboot or after you run partprobe(8) or kpartx(8)

  Syncing disks.

  [root@xuegod63 ~]# partx -a /dev/sda

  reboot

  [root@xuegod63 ~]# ls /dev/sda*

  /dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4

  格式化:

  #mkfs.ext3 /dev/sdb1   或mkfs -t ext3 /dev/sdb1 #RHEL5

  #mkfs.ext4 /dev/sdb1   或mkfs -t ext4 /dev/sdb1

  [root@xuegod163 ~]# mkdir /sdb1 #创建挂载点

  [root@xuegod163 ~]# mount /dev/sdb1 /sdb1/ #挂载

  [root@xuegod163 ~]# df -h #查看挂载信息,-h使显示方便读取

  Filesystem Size Used Avail Use% Mounted on

  /dev/sda2 9.7G 4.2G 5.0G 46% /

  tmpfs 2.0G 76K 2.0G 1% /dev/shm

  /dev/sda1 194M 34M 151M 19% /boot

  /dev/sr0 3.6G 3.6G 0 100% /mnt

  /dev/sdb1 1020M 34M 935M 4% /sdb1