fdisk

显示或划分磁盘分区


语法格式

fdisk [-uc] [-b sectorsize] [-C cyls] [-H heads] [-S sects] device
fdisk -l [-u] [devices]
fdisk -s partitions
fdisk [-h] [-v]

命令简介

一个磁盘可以分成若干逻辑磁盘,称作磁盘分区(简称分区)。磁盘的逻辑分区信息位于磁盘0号扇区的分区表。利用fdisk命令,可以查询磁盘分区表,划分磁盘分区。其中,devicedevices是磁盘的设备文件名,例如/dev/sda或/dev/sdb分别表示系统配备的第一个和第二个磁盘等。注意,磁盘的设备文件名引用的是整个磁盘。磁盘分区的设备文件名由磁盘的设备文件名与磁盘分区的编号组成,如/dev/sdb1是第二个磁盘的第一个分区。

Linux系统需要1~3个分区,分别用作“/”文件系统、swap交换分区和/boot文件系统。当需要增加磁盘存储应用数据时,或使用USB移动磁盘时,通常需要划分磁盘分区,创建文件系统。这就需要用到fdisk等命令。

fdisk是一个菜单驱动的交互程序。利用第一种语法格式可以进入交互方式。在进入fdisk命令的交互环境之后,可以在程序的提示下操作磁盘的分区表,如查询磁盘当前的逻辑划分、创建新的分区或删除不必要的分区等。

利用第二种语法格式,可以查询磁盘的分区表,显示磁盘当前的逻辑划分。

利用第三种语法格式,可以查询指定分区的大小。

fdisk命令能够识别DOS类型的分区表,以及BSD或SUN类型的磁盘标签,但不能识别GPT分区表。GPT主要用于大型磁盘的分区。必要时可以使用parted命令处理GPT分区表。

命令选项

-b sectorsize  指定磁盘扇区的大小。有效值是512、1024、2048或4096。

-c  关闭DOS兼容模式(建议)。

-C cyls  指定磁盘的柱面数量。

-h  显示命令的帮助信息,然后退出。

-H heads  指定磁盘的磁头数量(通常为255和16)。

-l  显示指定设备的分区表,然后退出。如果未指定设备,使用/proc/partitions文件中列举的设备(如果存在)作为默认的设备。

-s partition  显示指定分区的大小,以512字节的数据块为单位。

-S sects  指定磁盘每个磁道的扇区数量(通常为63)。

-u  显示分区表时,以扇区而非柱面为单位给出分区的大小。

-v  显示命令的版本信息,然后正常退出。

交互命令

d  删除一个磁盘分区。

l  显示可用的磁盘分区类型标识表。

m  显示可用的fdsik子命令。

n  创建一个新的磁盘分区。

p  显示当前的磁盘分区表。

q  直接退出fdisk命令。

t  设置或修改磁盘分区的类型标识。

u  修改显示或划分磁盘分区时使用的数量单位(扇区或柱面)。

w  把运行fdisk命令期间设置的分区信息写入磁盘分区表,然后退出。

应用实例

1. 利用fdisk命令,把40GB的移动磁盘划分为两个Linux分区,以便创建文件系统。

# fdisk /dev/sdb
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-38154, default 1): 
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-38154, default 38154): 19077

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (19078-38154, default 19078): 
Using default value 19078
Last cylinder, +cylinders or +size{K,M,G} (19078-38154, default 38154): 
Using default value 38154

Command (m for help): p
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1       19077    19534832   83  Linux
/dev/sdb2           19078       38154    19534848   83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
#

2. 使用fdisk命令,查询磁盘分区表,获取磁盘的分区信息。

# fdisk -l /dev/sda
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        2550    20482843+   7  HPFS/NTFS
/dev/sda2            2551        6119    28667992+   7  HPFS/NTFS
/dev/sda3            6120        6183      512000   83  Linux
/dev/sda4            6183        9730    28487680    5  Extended
/dev/sda5            6183        9730    28486656   8e  Linux LVM
#

索引:A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z