fdisk工具详解
fdisk 是一个在Unix和类Unix系统中用于管理磁盘分区的强大工具。以下是对你列出的每个参数的解释和示例:
root@switch:/home/admin# fdisk -l /dev/mmcblk0
Disk /dev/mmcblk0: 57.63 GiB, 61865984000 bytes, 120832000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xa973cb01Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 3072 8191 5120 2.5M 1 FAT12
/dev/mmcblk0p2 40960 51199 10240 5M b W95 FAT32
/dev/mmcblk0p3 51200 120831999 120780800 57.6G 5 Extended
/dev/mmcblk0p5 53248 12636159 12582912 6G 83 Linux
/dev/mmcblk0p6 12638208 25221119 12582912 6G 83 Linux
/dev/mmcblk0p7 25223168 27320319 2097152 1G 83 Linux
/dev/mmcblk0p8 27322368 29419519 2097152 1G 83 Linux
/dev/mmcblk0p9 29421568 120831999 91410432 43.6G 83 Linux输出内容解释如下:NAME:设备的名称。
MAJ:MIN:设备的主要和次要号码。
RM:是否可以删除(对于磁盘设备而言)。
SIZE:设备的大小。
RO:是否只读。
TYPE:设备的类型。
MOUNTPOINT:设备挂载的点,如果没有挂载,则为空。
具体来看输出内容:mtdblock0:一个MTD(Memory Technology Device)块设备,大小为16M,没有挂载。
mmcblk0:一个MMC(eMMC)块设备,大小为57.6G,没有挂载。
mmcblk0p1、mmcblk0p2、mmcblk0p3 等:这些都是mmcblk0设备上的分区。例如,mmcblk0p1是mmcblk0设备的一个分区,大小为2.5M。
此外,还显示了两个用于启动的boot块设备,以及一个rpmb设备。
总之,这个输出描述了你的系统中有哪些块设备和它们的大小、类型以及是否挂载等信息。
-b, --sector-size :这个参数用于设置物理和逻辑扇区的大小。例如,如果你想设置扇区大小为4096字节,你可以使用 fdisk -b 4096 /dev/sda。
-B, --protect-boot:这个参数用于防止在创建新标签时擦除引导位。
-c, --compatibility[=]:这个参数用于设置兼容模式, 可以是 ‘dos’ 或 ‘nondos’(默认)。
-L, --color[=]:这个参数用于为输出添加颜色。默认情况下,输出是彩色的。
-l, --list:这个参数用于显示分区并退出。例如,你可以使用 fdisk -l /dev/sda 来查看磁盘 /dev/sda 的分区信息。
-o, --output :这个参数用于指定要输出的列。例如,你可以使用 fdisk -o name,start,size /dev/sda 来输出磁盘 /dev/sda 的分区名、开始扇区和大小。
-t, --type :这个参数用于只识别指定的分区表类型。例如,你可以使用 fdisk -t msdos /dev/sda 来将磁盘 /dev/sda 识别为MS-DOS分区表类型。
-u, --units[=]:这个参数用于指定显示单位,可以是 ‘cylinders’ 或 ‘sectors’(默认)。
-s, --getsz:这个参数用于显示设备大小(以512字节扇区为单位)。这个参数已经过时,建议使用 --units sectors 来获取扇区数量。
–bytes:这个参数用于以字节为单位输出SIZE,而不是以人类可读的格式输出。
-w, --wipe :这个参数用于擦除签名(auto,always或never)。
-W, --wipe-partitions :这个参数用于从新分区中擦除签名(auto,always或never)。
-C, --cylinders :这个参数用于指定扇区的数量。
-H, --heads :这个参数用于指定磁头的数量。
-S, --sectors :这个参数用于指定每轨扇区的数量。
-h, --help:这个参数用于显示帮助信息。
-V, --version:这个参数用于显示版本信息。
**fdisk交互时参数的含义及举例说明 **
DOS (MBR) 参数:
a: 切换引导标志。
示例: 如果一个分区是活动的,使用a可以使其变为非活动,反之亦然。
b: 编辑嵌套的BSD disklabel。
c: 切换DOS兼容性标志。
示例: 当创建新分区时,可以使用c来确保新的分区类型被设置为兼容DOS。
Generic 参数:
d: 删除一个分区。
示例: d然后选择要删除的分区编号即可删除它。
F: 列出未分区的空间。
l: 列出已知的分区类型。
示例: 查看所有已知的分区类型。
n: 添加一个新的分区。
示例: 创建一个新的主分区或逻辑分区。
p: 打印分区表。
t: 更改分区的类型。
v: 验证分区表。
示例: 在更改或创建分区后,使用v来确保所有内容都正确。
i: 打印关于分区的信息。
Misc 参数:
m: 打印此菜单。
u: 更改显示/条目的单位。
x: 专家模式功能(仅限专家使用)。
Script 参数:
I: 从sfdisk脚本文件加载磁盘布局。
O: 将磁盘布局导出到sfdisk脚本文件。
Save & Exit 参数:
w: 将表写入磁盘并退出。
q: 不保存更改并退出。
Create a new label 参数:
g: 创建一个新的空的GPT分区表。
G: 创建一个新的空的SGI (IRIX) 分区表。
o: 创建一个新的空的DOS分区表。
s: 创建一个新的空的Sun分区表。
简单的一个Demo:
# 启动 fdisk 交互模式
fdisk /dev/sda# 创建第一个主分区
Command (m for help): n
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-20971519, default 2048): 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): 100M# 创建第二个主分区
Command (m for help): n
Select (default p): p
Partition number (2-4, default 2): 2
First sector (12048-20971519, default 12048): 12048
Last sector, +sectors or +size{K,M,G} (12048-20971519, default 20971519): 500M# 创建第三个主分区
Command (m for help): n
Select (default p): p
Partition number (3-4, default 3): 3
First sector (22048-20971519, default 22048): 22048
Last sector, +sectors or +size{K,M,G} (22048-20971519, default 20971519): 1G# 创建逻辑分区
Command (m for help): n
Select (default e): e
Logical drive size (min/max): +500M/3G
First sector (34359738368-37376698567, default 34359738368): 34359738368
Last sector, +sectors or +size{K,M,G} (34359738368-37376698567, default 37376698567): +500M
Logical drive size (min/max): +500M/1.8G
First sector (34459741760-37476696767, default 34459741760): 34459741760
Last sector, +sectors or +size{K,M,G} (34459741760-37476696767, default 37476696767): +500M
Logical drive size (min/max): +500M/3.6G
First sector (34559744160-37576698567, default 34559744160): 34559744160
Last sector, +sectors or +size{K,M,G} (34559744160-37576698567, default 37576698567): +500M
Logical drive size (min/max): +500M/unlimited
First sector (34659746560- , default 34659746560): 34659746560
Last sector, +sectors or +size{K,M,G} (34659746560- , default : set size=unlimited to create a new extended partition)