在众多磁盘管理工具中,`fdisk`无疑是最经典、最强大的一款
作为Linux用户和系统管理员,熟练掌握`fdisk`命令,尤其是其中的“n”选项,对于高效地进行磁盘分区操作至关重要
本文将深入探讨`fdisk`命令及其“n”选项的使用,揭示其背后的原理与技巧,帮助读者成为磁盘分区管理的专家
一、`fdisk`命令简介 `fdisk`是一个用于磁盘分区表操作的命令行工具,它允许用户创建、删除、修改磁盘分区
自Linux诞生以来,`fdisk`就因其强大的功能和灵活性而广受欢迎
无论是处理传统的MBR(Master Boot Record)分区表,还是现代的GPT(GUID Partition Table),`fdisk`都能游刃有余
使用`fdisk`进行磁盘分区的基本流程包括: 1.启动fdisk:通过指定磁盘设备文件(如`/dev/sda`)启动`fdisk`
2.查看当前分区布局:使用p选项列出当前磁盘上的所有分区信息
3.创建新分区:使用n选项创建新的分区
4.设置分区类型:对于MBR分区表,需要指定分区类型(如主分区、扩展分区或逻辑分区)
5.分配分区大小:指定新分区的大小和起始位置
6.设置分区ID(可选):对于特定用途的分区,可能需要设置特定的分区ID
7.写入更改:使用w选项将所做的更改保存到磁盘
8.退出fdisk:使用q选项退出fdisk
二、“n”选项:创建新分区的核心 在`fdisk`的所有选项中,“n”选项无疑是最具影响力的一个
它允许用户创建新的磁盘分区,是磁盘分区管理的起点
使用“n”选项时,`fdisk`会引导用户完成一系列步骤,以定义新分区的属性和布局
步骤详解: 1.选择分区类型: - 对于MBR分区表,用户需要选择创建的是主分区(Primary partition)、扩展分区(Extended partition)还是逻辑分区(Logical partition within the extended partition)
通常,一个磁盘最多可以包含4个主分区,或者3个主分区加上一个扩展分区(扩展分区内部可以包含多个逻辑分区)
- GPT分区表则没有这些限制,用户可以自由创建任意数量的主分区
2.指定分区号: - 对于MBR的主分区和扩展分区,用户需要为分区分配一个编号(1-4)
- 对于GPT分区,分区号通常由系统自动分配,用户无需手动指定
3.设置分区大小: - 用户需要指定新分区的起始扇区(Start sector)和结束扇区(End sector),或者选择使用磁盘的剩余空间(通常通过输入默认值实现)
-`fdisk`提供了便捷的单位转换功能,用户可以使用KB、MB、GB等单位来指定分区大小
4.确认分区创建: - 完成上述设置后,`fdisk`会显示新分区的详细信息,并询问用户是否确认创建
确认后,新分区将被添加到分区表中,但此时更改尚未写入磁盘
三、实战操作:使用`fdisk`和“n”选项创建新分区 以下是一个使用`fdisk`和“n”选项创建新分区的实战示例: 启动fdisk并指定磁盘设备 sudo fdisk /dev/sdb 查看当前分区布局(可选) Command (m forhelp): p 创建新分区 Command (m forhelp): n Partition type: p primary(0 primary, 0 extended, 4free) e extended Select (default p): p 选择创建主分区 Partition number(1-4, default 1):1 指定分区号为1 First sector(2048-10485759, default 2048): 使用默认值作为起始扇区 Last sector, +/-sectors or +/-size{K,M,G} (2048-10485759, default 10485759): +5G 指定分区大小为5GB 确认分区创建 Command (m forhelp): p Disk /dev/sdb: 50 GiB, 53687091200 bytes, 10485760 sectors Units: sectors of 1512 = 512 bytes Sector size(logical/physical):512 bytes / 512 bytes I/O size(minimum/optimal):512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x00000000 Device Boot Start End Sectors Size Id Type /dev/sdb1 2048 10487807 10485760 5G 83 Linux 写入更改到磁盘 Command (m forhelp): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. 在上述示例中,我们成