概述
fdisk是IBM开发的分区工具,支持绝大所属OS.
Linux的发行版本基本都装有fdisk, 在rescue模式下仍可使用.
fdisk基于MBR, 因此使用GPT分区机制的无法使用fdisk
相关
fdisk命令使用权限: root
fdisk -l 列出所有安装的磁盘及其分区信息
fdisk /dev/sda 可以对目标磁盘进行分区操作
partprobe 更新分区信息, 否则需要重启才可识别新分区
文件/proc/partitions 参看该文件可了解分区信息
操作
fdisk -l 查看磁盘及分区信息
Disk /dev/sdb: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 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: 0x00000000
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 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: 0x000acc0a
Device Boot Start End Blocks Id System
/dev/sda1 1 262 2097152 82 Linux swap / Solaris
Partition 1 does not end on cylinder boundary.
/dev/sda2 * 262 1045 6290432 83 Linux
fdisk /dev/sdb 进入fdisk的交互界面
[root@wuqinfei wuqinfei]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x7e5f041d.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help):
帮助信息
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Command (m for help): p print the partition table
Command (m for help): p
Disk /dev/sdb: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 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: 0x7e5f041d
Device Boot Start End Blocks Id System
Command (m for help):
创建 主分区 /dev/sdb1 大小256M
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-130, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-130, default 130): +256M
Command (m for help): p
Disk /dev/sdb: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 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: 0x7e5f041d
Device Boot Start End Blocks Id System
/dev/sdb1 1 34 273073+ 83 Linux
创建 扩展分区 /dev/sdb2 大小为剩下的所有空间
Command (m for help): n
Command action
e extended
p primary partition (1-4)
e
Partition number (1-4): 2
First cylinder (35-130, default 35):
Using default value 35
Last cylinder, +cylinders or +size{K,M,G} (35-130, default 130):
Using default value 130
Command (m for help): p
Disk /dev/sdb: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 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: 0x7e5f041d
Device Boot Start End Blocks Id System
/dev/sdb1 1 34 273073+ 83 Linux
/dev/sdb2 35 130 771120 5 Extended
创建 逻辑分区 /dev/sdb5 大小256M (注: 逻辑分区从分区号5开始)
Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First cylinder (35-130, default 35):
Using default value 35
Last cylinder, +cylinders or +size{K,M,G} (35-130, default 130): +256M
Command (m for help): p
Disk /dev/sdb: 1073 MB, 1073741824 bytes
255 heads, 63 sectors/track, 130 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: 0x7e5f041d
Device Boot Start End Blocks Id System
/dev/sdb1 1 34 273073+ 83 Linux
/dev/sdb2 35 130 771120 5 Extended
/dev/sdb5 35 68 273073+ 83 Linux
更改分区类型
82 Linux swap / So
83 Linux
85 Linux extended
Command (m for help): t
Partition number (1-5): 5
Hex code (type L to list codes): l
0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
1 FAT12 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT-
2 XENIX root 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 40 Venix 80286 84 OS/2 hidden C: c6 DRDOS/sec (FAT-
4 FAT16 <32M 41 PPC PReP Boot 85 Linux extended c7 Syrinx
5 Extended 42 SFS 86 NTFS volume set da Non-FS data
6 FAT16 4d QNX4.x 87 NTFS volume set db CP/M / CTOS / .
7 HPFS/NTFS 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility
8 AIX 4f QNX4.x 3rd part 8e Linux LVM df BootIt
9 AIX bootable 50 OnTrack DM 93 Amoeba e1 DOS access
a OS/2 Boot Manag 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 52 CP/M 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs
e W95 FAT16 (LBA) 54 OnTrackDM6 a5 FreeBSD ee GPT
f W95 Ext'd (LBA) 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/
10 OPUS 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b
11 Hidden FAT12 5c Priam Edisk a8 Darwin UFS f1 SpeedStor
12 Compaq diagnost 61 SpeedStor a9 NetBSD f4 SpeedStor
14 Hidden FAT16 <3 63 GNU HURD or Sys ab Darwin boot f2 DOS secondary
16 Hidden FAT16 64 Novell Netware af HFS / HFS+ fb VMware VMFS
17 Hidden HPFS/NTF 65 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 70 DiskSecure Mult b8 BSDI swap fd Linux raid auto
1b Hidden W95 FAT3 75 PC/IX bb Boot Wizard hid fe LANstep
1c Hidden W95 FAT3 80 Old Minix be Solaris boot ff BBT
1e Hidden W95 FAT1
Hex code (type L to list codes): 83
将分区表写入
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@wuqinfei wuqinfei]# ls /dev/sdb* /dev/sdb /dev/sdb1 /dev/sdb2 /dev/sdb5
partprobe 让内核更新分区信息
[root@wuqinfei wuqinfei]# partprobe Warning: WARNING: the kernel failed to re-read the partition table on /dev/sda (Device or resource busy). As a result, it may not reflect all of your changes until after reboot. Warning: Unable to open /dev/sr1 read-write (Read-only file system). /dev/sr1 has been opened read-only. [root@wuqinfei wuqinfei]#
fdisk -l
[root@wuqinfei wuqinfei]# fdisk -l Disk /dev/sdb: 1073 MB, 1073741824 bytes 255 heads, 63 sectors/track, 130 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: 0x05424238 Device Boot Start End Blocks Id System /dev/sdb1 1 34 273073+ 83 Linux /dev/sdb2 35 130 771120 5 Extended /dev/sdb5 35 68 273073+ 83 Linux Disk /dev/sda: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 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: 0x000acc0a Device Boot Start End Blocks Id System /dev/sda1 1 262 2097152 82 Linux swap / Solaris Partition 1 does not end on cylinder boundary. /dev/sda2 * 262 1045 6290432 83 Linux
cat /proc/partitions
[root@wuqinfei wuqinfei]# cat /proc/partitions major minor #blocks name 8 16 1048576 sdb 8 17 273073 sdb1 8 18 1 sdb2 8 21 273073 sdb5 8 0 8388608 sda 8 1 2097152 sda1 8 2 6290432 sda2