当前位置: 首页 > 工具软件 > fdisk > 使用案例 >

Linux命令之fdisk命令

松雅健
2023-12-01

一、命令简介

  Linux fdisk 是一个创建和维护分区表的程序,它兼容 DOS 类型的分区表、BSD 或者 SUN 类型的磁盘列表。fdisk(第一种调用形式)是一个菜单驱动的程序,用于创建和操作分区表。它理解GPT(目前处于实验阶段)、MBR、Sun、SGI和BSD分区表。默认情况下,fdisk不使用DOS兼容模式和圆柱体作为显示单元。硬盘可以分为一个或多个逻辑磁盘,称为分区。此分区记录在分区表中,可在中找到磁盘的扇区0。(在BSD世界中,人们谈论的是“磁盘片”和“磁盘标签”。)Linux至少需要一个分区,即它的根文件系统。它可以使用交换文件和/或交换分区,但后者是可用的效率更高。因此,通常需要第二个Linux分区作为交换分区。在与英特尔兼容的硬件上,BIOS系统通常只能访问磁盘的前1024个柱面。因此,拥有大型磁盘的用户通常会创建一个第三个分区,只有几MB大,通常安装在/boot上,用于存储启动时所需的内核映像和一些辅助文件,以确保BIOS可以访问这些内容。可能出于安全、易于管理和备份的原因,或者测试时,要使用超过最小数量的分区。

二、使用示例

1、获取命令帮助

[root@s151 ~]# fdisk --help

2、查看命令版本

[root@s151 ~]# fdisk -v
fdisk,来自 util-linux 2.23.2

3、查看所有分区情况

[root@s151 ~]# fdisk -l

磁盘 /dev/sda:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000b6d0b

设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 125829119 61864960 8e Linux LVM

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

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

磁盘 /dev/mapper/centos-home:20.1 GB, 20073938944 字节,39206912 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

4、查看指定分区情况

[root@s151 ~]# fdisk -l /dev/mapper/centos-home

磁盘 /dev/mapper/centos-home:20.1 GB, 20073938944 字节,39206912 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

5、查看分区块大小

[root@s151 ~]# fdisk -s /dev/sdb
20971520

6、创建一个分区

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

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

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

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

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

7、删除一个分区

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

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

命令(输入 m 获取帮助):d
分区号 (1,2,默认 2):2
分区 2 已删除

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

三、使用语法和参数说明

1、使用语法

fdisk [选项] <磁盘> 更改分区表
fdisk [选项] -l <磁盘> 列出分区表
fdisk -s <分区> 给出分区大小(块数)

2、参数说明

参数参数说明
-b <大小>扇区大小(512、1024、2048或4096)
-c[=<模式>]兼容模式:“dos”或“nondos”(默认)
-h打印此帮助文本
-u[=<单位>]显示单位:“cylinders”(柱面)或“sectors”(扇区,默认)
-v打印程序版本
-C <数字>指定柱面数
-H <数字>指定磁头数
-S <数字>指定每个磁道的扇区数

3、菜单操作说明

命令命令说明
a切换可引导标志
b编辑bsd磁盘标签
c切换dos兼容性标志
d删除分区
g创建一个新的空GPT分区表
G创建一个IRIX(SGI)分区表
l列出已知的分区类型
m打印此菜单
n添加一个新分区
o创建一个新的空DOS分区表
p打印分区表
q退出而不保存更改
s创建一个新的空Sun磁盘标签
t更改分区的系统id
u更改显示/输入单位
v验证分区表
w将表写入磁盘并退出
x额外功能(仅限专家)
 类似资料: