Linux 使用fdisk和gdisk对磁盘进行分区和删除分区操作
1. fdisk详细操作步骤 1.1 启动fdisk并查看分区表 sudo fdisk /dev/sdX # 替换X为实际磁盘标识,如sda、sdb等 进入交互界面后,输入p查看当前分区表: Command (m for help): p 1.2 创建新分区详细步骤 输入n创建新分区: Command (m for help): n 选择分区类型: Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p 设置分区号(1-4): Partition number (1-4, default 1): 1 指定起始扇区(通常按默认值): First sector (2048-10485759, default 2048): [Enter] 指定分区大小: Last sector, +sectors or +size{K,M,G,T,P} (2048-10485759, default 10485759): +5G 查看创建的分区: Command (m for help): p 保存更改: Command (m for help): w 1.3 删除分区详细步骤 查看当前分区: Command (m for help): p 输入d删除分区: Command (m for help): d 选择要删除的分区号: Partition number (1-4): 1 确认删除后查看: Command (m for help): p 保存更改: Command (m for help): w 2. gdisk详细操作步骤 2.1 启动gdisk并查看分区表 sudo gdisk /dev/sdX # 替换X为实际磁盘标识 进入交互界面后,输入p查看当前分区表: Command (? for help): p 2.2 创建新分区详细步骤 输入n创建新分区: Command (? for help): n 设置分区号(自动递增): Partition number (1-128, default 1): [Enter] 指定起始扇区: First sector (34-20971486, default = 2048) or {+-}size{KMGTP}: [Enter] 指定结束扇区或大小: Last sector (2048-20971486, default = 20971486) or {+-}size{KMGTP}: +10G 设置分区类型(可选): Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): [Enter] 查看创建的分区: Command (? for help): p 保存更改: Command (? for help): w 2.3 删除分区详细步骤 查看当前分区: Command (? for help): p 输入d删除分区: Command (? for help): d 选择要删除的分区号: Partition number (1-2): 1 确认删除后查看: Command (? for help): p 保存更改: Command (? for help): w 3. 实际操作示例记录 3.1 使用fdisk创建分区示例记录 $ sudo fdisk /dev/sdb Welcome to fdisk (util-linux 2.34). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): p Disk /dev/sdb: 10 GiB, 10737418240 bytes, 20971520 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: 0x5a1b2c3d Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-20971519, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-20971519, default 20971519): +2G Created a new partition 1 of type 'Linux' and of size 2 GiB. Command (m for help): p Disk /dev/sdb: 10 GiB, 10737418240 bytes, 20971520 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: 0x5a1b2c3d Device Boot Start End Sectors Size Id Type /dev/sdb1 2048 4196351 4194304 2G 83 Linux Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks. 3.2 使用gdisk创建分区示例记录 $ sudo gdisk /dev/sdc GPT fdisk (gdisk) version 1.0.5 Partition table scan: MBR: not present BSD: not present APM: not present GPT: not present Creating new GPT entries in memory. Command (? for help): n Partition number (1-128, default 1): First sector (34-20971486, default = 2048) or {+-}size{KMGTP}: Last sector (2048-20971486, default = 20971486) or {+-}size{KMGTP}: +5G Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): p Disk /dev/sdc: 20971520 sectors, 10.0 GiB Model: VBOX HARDDISK Sector size (logical/physical): 512/512 bytes Disk identifier (GUID): 8D1F3B4A-5C6D-4E7F-9012-3A4B5C6D7E8F Partition table holds up to 128 entries Main partition table begins at sector 2 and ends at sector 33 First usable sector is 34, last usable sector is 20971486 Partitions will be aligned on 2048-sector boundaries Total free space is 15728573 sectors (7.5 GiB) Number Start (sector) End (sector) Size Code Name 1 2048 10487807 5.0 GiB 8300 Linux filesystem Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. The operation has completed successfully. 4. 重要注意事项 数据安全: 操作前务必备份重要数据 确保操作的是正确的磁盘设备 w命令会立即写入更改,无法撤销 分区后操作: # 让内核重新读取分区表 sudo partprobe /dev/sdX # 对新分区进行格式化 sudo mkfs.ext4 /dev/sdX1 # 挂载新分区 sudo mkdir /mnt/newpart sudo mount /dev/sdX1 /mnt/newpart 恢复选项: fdisk:没有内置恢复功能 gdisk:可以使用b命令恢复备份GPT表 转换分区表类型: # 将MBR转换为GPT(使用gdisk) sudo gdisk /dev/sdX # 输入'w'时会询问是否转换为GPT # 将GPT转换为MBR(使用fdisk) sudo fdisk /dev/sdX # 可能需要先删除所有GPT分区 通过以上详细步骤和示例记录,您应该能够熟练使用fdisk和gdisk进行磁盘分区管理操作。
fdisk和gdisk的主要区别
特性 | fdisk | gdisk |
---|---|---|
分区表类型 | 主要用于MBR(MS-DOS)分区表 | 专为GPT(GUID分区表)设计 |
分区数量限制 | 最多4个主分区或3主分区+1扩展分区 | 最多128个分区(理论更多) |
磁盘大小限制 | 最大2TB | 最大8ZB(zettabytes) |
分区类型代码 | 使用1字节十六进制代码 | 使用16字节GUID |
兼容性 | 所有系统都支持 | 需要UEFI/现代BIOS支持 |
备份功能 | 无自动备份 | 自动创建备份GPT表 |
分区对齐 | 需要手动注意 | 自动处理对齐 |
交互界面 | 较简单 | 功能更丰富 |
何时使用哪种工具:
- 使用
fdisk
:传统BIOS系统、MBR分区表、小于2TB的磁盘 - 使用
gdisk
:UEFI系统、GPT分区表、大于2TB的磁盘、需要更多分区的场景
注意:在操作分区表前,请确保已备份重要数据,错误的操作可能导致数据丢失。