1、fdisk简介

[root@localhost /]# whatis fdisk
fdisk (8)            - manipulate disk partition table   #操作磁盘分区表

    fdisk命令适用于2TB以下的磁盘设置。

2、fdisk语法

fdisk [磁盘名称]  例如:fdisk /dev/sdb

3、fdisk选项以及操作命令

    1)fdisk常用选项:

选项 说明
-l 显示系统中所有磁盘信息,包括分区信息
-h 显示此帮助信息
-v 显示版本信息

    2)fdisk常用操作命令:

操作命令 含义
m 查看帮助信息
p 查看分区信息
n 创建分区(p主分区、e扩展分区、l逻辑分区)
d 删除分区
t 转换分区类型
q 不保存退出
w 保存并退出
l 列出已知的分区类型

提示:以上操作命令是fdisk /dev/sdb进入磁盘管理后的操作命令的含义。

4、实例

    1)查看系统中所有磁盘的信息

[root@localhost /]# fdisk -l

磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区    #/dev/sda磁盘信息
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x00094c41

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048    41943039    20458496   8e  Linux LVM

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区     #/dev/sdb磁盘信息
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/rhel-swap:2147 MB, 2147483648 字节,4194304 个扇区   #交换分区信息
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/rhel-root:18.8 GB, 18756927488 字节,36634624 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

    2)使用fdisk命令对/dev/sdb进行分区管理

[root@localhost /]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x8b6742b9 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):m                               #m查看帮助信息
命令操作
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition                             #d删除分区
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types                                                 #l列出已知的分区类型
   m   print this menu                                #m查看帮助信息
   n   add a new partition                            #n创建分区
   o   create a new empty DOS partition table
   p   print the partition table                      #p查看分区信息
   q   quit without saving changes                    #q不保存退出
   s   create a new empty Sun disklabel
   t   change a partition's system id                 #t转换分区类型
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit                   #w保存并退出
   x   extra functionality (experts only)

命令(输入 m 获取帮助):p    #p查看分区信息

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x8b6742b9

   设备 Boot      Start         End      Blocks   Id  System

命令(输入 m 获取帮助):n    #n添加分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)    #p主分区
   e   extended                                   #e扩展分区
Select (default p): p
分区号 (1-4,默认 1):                            #分区号
起始 扇区 (2048-41943039,默认为 2048):          #起始扇区号
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+2G   #分区大小
分区 1 已设置为 Linux 类型,大小设为 2 GiB

命令(输入 m 获取帮助):p     #n创建分区

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x8b6742b9

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux

命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
分区号 (2-4,默认 2):
起始 扇区 (4196352-41943039,默认为 4196352):
将使用默认值 4196352
Last 扇区, +扇区 or +size{K,M,G} (4196352-41943039,默认为 41943039):+3G
分区 2 已设置为 Linux 类型,大小设为 3 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x8b6742b9

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352    10487807     3145728   83  Linux

命令(输入 m 获取帮助):n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): e
分区号 (3,4,默认 3):
起始 扇区 (10487808-41943039,默认为 10487808):
将使用默认值 10487808
Last 扇区, +扇区 or +size{K,M,G} (10487808-41943039,默认为 41943039):
将使用默认值 41943039
分区 3 已设置为 Extended 类型,大小设为 15 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x8b6742b9

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352    10487807     3145728   83  Linux
/dev/sdb3        10487808    41943039    15727616    5  Extended

命令(输入 m 获取帮助):n
Partition type:
   p   primary (2 primary, 1 extended, 1 free)
   l   logical (numbered from 5)
Select (default p): l
添加逻辑分区 5
起始 扇区 (10489856-41943039,默认为 10489856):
将使用默认值 10489856
Last 扇区, +扇区 or +size{K,M,G} (10489856-41943039,默认为 41943039):+5G
分区 5 已设置为 Linux 类型,大小设为 5 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x8b6742b9

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352    10487807     3145728   83  Linux
/dev/sdb3        10487808    41943039    15727616    5  Extended
/dev/sdb5        10489856    20975615     5242880   83  Linux

命令(输入 m 获取帮助):d      #d删除分区
分区号 (1-3,5,默认 5):1     #要删除的分区号
分区 1 已删除

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x8b6742b9

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb2         4196352    10487807     3145728   83  Linux
/dev/sdb3        10487808    41943039    15727616    5  Extended
/dev/sdb5        10489856    20975615     5242880   83  Linux

命令(输入 m 获取帮助):w     #保存并退出
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost /]# fidsk -l /dev/sdb    #查看/dev/sdb的分区信息
-bash: fidsk: 未找到命令
[root@localhost /]# fdisk -l /dev/sdb

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x8b6742b9

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb2         4196352    10487807     3145728   83  Linux
/dev/sdb3        10487808    41943039    15727616    5  Extended
/dev/sdb5        10489856    20975615     5242880   83  Linux

5、总结

    1)fdisk命令适用于2TB磁盘的分区管理;

    2)fdisk -l 查看所有磁盘、分区的信息;

    3)fdisk命令操作:①、m查看帮助信息;②、p查看分区信息;③、n创建分区(p主分区、e扩展分区、l逻辑分区);④、d删除分区;⑤、q不保存退出;⑥、w保存并退出;⑦、t转换分区类型;⑧、l列出已知的分区类型。