插件窝 干货文章 详解:Linux 硬盘,格式化,分区 详解

详解:Linux 硬盘,格式化,分区 详解

分区 分区表 sudo bash 53    来源:    2025-05-08

Linux 硬盘管理详解:分区与格式化

一、基本概念

1. 硬盘设备命名规则

在Linux中,硬盘设备通常以以下方式命名: - /dev/sdX:SCSI/SATA/USB设备 (如sda, sdb, sdc) - /dev/nvmeXnY:NVMe设备 (如nvme0n1, nvme0n2) - /dev/hdX:旧式IDE设备 (现已少见)

2. 分区类型

  • 主分区(Primary):最多4个,可直接用于安装操作系统
  • 扩展分区(Extended):只能有1个,用于容纳更多逻辑分区
  • 逻辑分区(Logical):在扩展分区内创建,编号从5开始

3. 分区表类型

  • MBR (Master Boot Record):传统分区表,最大支持2TB磁盘
  • GPT (GUID Partition Table):现代分区表,支持更大磁盘和更多分区

二、查看磁盘信息

1. 列出所有磁盘

lsblk

fdisk -l

2. 查看磁盘详细信息

sudo hdparm -I /dev/sda

3. 查看分区表

sudo parted -l

三、分区操作

1. 使用fdisk (适用于MBR)

sudo fdisk /dev/sdX

常用命令: - n:新建分区 - d:删除分区 - p:打印分区表 - t:更改分区类型 - w:写入并退出 - q:不保存退出

2. 使用gdisk (适用于GPT)

sudo gdisk /dev/sdX

操作与fdisk类似

3. 使用parted (交互式分区工具)

sudo parted /dev/sdX

常用命令: - print:显示分区信息 - mkpart:创建分区 - rm:删除分区 - set:设置分区标志

四、格式化分区

1. 常用文件系统类型

  • ext4:Linux常用
  • xfs:高性能文件系统
  • btrfs:支持高级特性如快照
  • ntfs:Windows兼容
  • fat32/vfat:通用兼容

2. 格式化命令

# ext4格式
sudo mkfs.ext4 /dev/sdX1

# xfs格式
sudo mkfs.xfs /dev/sdX1

# ntfs格式
sudo mkfs.ntfs /dev/sdX1

# fat32格式
sudo mkfs.vfat -F 32 /dev/sdX1

3. 检查文件系统

sudo fsck /dev/sdX1

五、挂载分区

1. 临时挂载

sudo mount /dev/sdX1 /mnt/mydisk

2. 自动挂载 (/etc/fstab)

编辑/etc/fstab文件,添加类似以下行:

/dev/sdX1  /mnt/mydisk  ext4  defaults  0  2

然后执行:

sudo mount -a

3. 卸载分区

sudo umount /mnt/mydisk

六、高级操作

1. 调整分区大小

sudo parted /dev/sdX resizepart 1 20GB

2. 扩展文件系统 (ext4)

sudo resize2fs /dev/sdX1

3. 创建交换分区

sudo mkswap /dev/sdX2
sudo swapon /dev/sdX2

七、注意事项

  1. 数据安全:分区和格式化会破坏数据,操作前务必备份重要数据
  2. 系统分区:不要随意修改系统所在分区
  3. UUID:建议在fstab中使用UUID而非设备名,防止设备名变化 bash sudo blkid
  4. 大容量磁盘:超过2TB的磁盘必须使用GPT分区表

八、完整示例流程

  1. 查看磁盘:

    lsblk
    
  2. 对新磁盘分区:

    sudo fdisk /dev/sdb
    

    在fdisk中:

    • n 创建新分区
    • p 主分区
    • 1 分区号
    • 默认起始扇区
    • +20G 设置大小
    • w 保存退出
  3. 格式化分区:

    sudo mkfs.ext4 /dev/sdb1
    
  4. 创建挂载点并挂载:

    sudo mkdir /mnt/data
    sudo mount /dev/sdb1 /mnt/data
    
  5. 设置自动挂载:

    sudo blkid | grep sdb1
    

    复制UUID,编辑/etc/fstab

    UUID=xxxx-xxxx-xxxx  /mnt/data  ext4  defaults  0  2
    

通过以上步骤,您应该能够熟练地在Linux系统中进行硬盘分区和格式化操作。