Linux 下查看硬盘分区类型

在 Linux 系统管理中,了解硬盘分区类型是一项基础且重要的操作。不同的分区类型有着不同的用途和特性,正确查看分区类型有助于我们进行磁盘管理、数据存储规划等工作。本文将详细介绍在 Linux 下查看硬盘分区类型的方法。

目录#

  1. 使用 fdisk 命令查看分区类型
  2. 使用 parted 命令查看分区类型
  3. 使用 lsblk 命令辅助查看
  4. 常见分区类型及含义
  5. 最佳实践与注意事项

1. 使用 fdisk 命令查看分区类型#

fdisk 是 Linux 系统中常用的磁盘分区操作工具,我们也可以用它来查看分区类型。

示例用法#

首先,以 root 用户身份或者使用 sudo 权限执行以下命令(假设我们要查看 /dev/sda 磁盘的分区情况):

sudo fdisk -l /dev/sda

执行后会输出类似以下的信息:

Disk /dev/sda: 200 GiB, 214748364800 bytes, 419430400 sectors
Disk model: Virtual disk
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: gpt
Disk identifier: [具体标识符]

Device       Start       End   Sectors   Size Type
/dev/sda1     2048   1050623   1048576   512M EFI System
/dev/sda2  1050624 419430366 418379743 199.5G Linux filesystem

在输出结果中,Type 列就显示了分区类型,如上述示例中的 EFI System(用于 UEFI 引导的系统分区)和 Linux filesystem(Linux 文件系统分区)。

原理#

fdisk 通过读取磁盘的分区表(如 GPT 或 MBR 分区表)信息,解析并展示出每个分区的起始、结束扇区以及分区类型等内容。

2. 使用 parted 命令查看分区类型#

parted 也是一个强大的磁盘分区操作工具,同样可以用于查看分区类型。

示例用法#

执行以下命令(查看 /dev/sda 磁盘):

sudo parted /dev/sda print

输出结果示例:

Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sda: 215GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name                  Flags
 1      1049kB  538MB   537MB   fat32        EFI System Partition  boot, esp
 2      538MB   215GB   214GB   ext4

这里 File system 列(对于一些分区类型,也能体现分区用途相关信息)可以帮助我们了解分区类型,像 fat32(常用于 EFI 系统分区等场景)和 ext4(常见的 Linux 文件系统类型)。

原理#

parted 基于对磁盘分区元数据的解析,以更直观的表格形式展示分区信息,包括分区类型相关内容。

3. 使用 lsblk 命令辅助查看#

lsblk 命令主要用于列出块设备信息,虽然它不像 fdisk 和 parted 那样直接明确标注分区类型,但可以结合其他信息辅助判断。

示例用法#

执行:

lsblk -f /dev/sda

输出示例:

NAME   FSTYPE   LABEL           UUID                                 MOUNTPOINT
sda                                                                 
├─sda1 vfat     EFI-SYSTEM      [具体 UUID]                          /boot/efi
└─sda2 ext4     [无标签]        [具体 UUID]                          /

从 FSTYPE 列可以知道分区所使用的文件系统类型(这在一定程度上能反映分区类型,比如使用 vfat 文件系统的分区很可能是用于 EFI 相关的分区),MOUNTPOINT 列显示了分区的挂载点(也能辅助判断分区用途,进而推测分区类型)。

原理#

lsblk 通过读取内核中块设备的相关信息,展示块设备的层次结构、文件系统类型等内容。

4. 常见分区类型及含义#

  • EFI System(对应文件系统常见 fat32):用于 UEFI 引导模式下存储引导加载程序等相关文件,是支持 UEFI 启动的系统必不可少的分区。
  • Linux filesystem(常见文件系统如 ext4、xfs 等):用于存储 Linux 系统的文件和用户数据,是 Linux 系统主要的数据存储分区。
  • swap:交换分区,当系统物理内存不足时,用于临时存储内存中不活跃的数据,提升系统性能(通过 mkswap 命令创建,在 fdisk 等工具中也有相应标识)。
  • BIOS boot(MBR 分区表相关):在一些使用 MBR 分区表且支持 GPT 兼容模式的系统中,用于存储 BIOS 引导代码。

5. 最佳实践与注意事项#

  • 权限问题:查看磁盘分区信息一般需要 root 权限或者使用 sudo,因为磁盘设备文件的访问权限通常限制为 root 用户,避免因权限不足导致无法获取完整信息。
  • 多磁盘情况:如果系统中有多个磁盘(如 /dev/sdb、/dev/sdc 等),要明确指定目标磁盘进行查看,以免混淆不同磁盘的分区信息。
  • 分区表类型:注意区分 MBR 和 GPT 分区表,不同分区表下分区类型的表示和一些特性会有差异。例如 MBR 分区表最多支持 4 个主分区(或 3 个主分区 + 1 个扩展分区,扩展分区下再划分逻辑分区),而 GPT 分区表理论上支持更多分区数量。

参考#

通过以上介绍的方法和相关知识,我们能够在 Linux 系统中准确查看硬盘分区类型,为磁盘管理和系统维护等工作提供有力支持。