Linux磁盘管理之分区、格式化与挂载磁盘的方法
2026/5/26 10:37:12 网站建设 项目流程

在Linux系统中,磁盘是存储数据的核心硬件,无论是服务器部署、日常使用还是开发环境配置,都离不开磁盘管理。常见场景包括:

  • 新服务器添加硬盘后,需要分区格式化才能存储数据;
  • 系统磁盘空间不足时,需扩展分区或挂载新磁盘;
  • 为不同数据类型(如系统文件、数据库、日志)划分独立分区,提升安全性和性能。

磁盘管理的核心流程可概括为:识别磁盘 → 分区 → 格式化 → 挂载,这四个步骤环环相扣。本文将全程以实操为主,带你从零掌握每个环节的具体操作。

2. 磁盘管理基础概念(先搞懂这些再动手)

在动手操作前,先明确几个关键概念,避免踩坑:

2.1 磁盘与分区表

  • 磁盘标识:Linux中磁盘以/dev/sdX(SATA/SCSI接口)或/dev/nvmeXnY(NVMe接口)命名,如/dev/sda(第一块SATA硬盘)、/dev/nvme0n1(第一块NVMe硬盘)。
  • 分区表类型:磁盘必须先创建分区表,才能划分分区,主流类型有两种:
分区表类型支持最大磁盘容量最大分区数适用场景
MBR(Master Boot Record)2TB4个主分区(或3主+1扩展分区)旧设备、小容量磁盘
GPT(GUID Partition Table)18EB理论无限制(默认128个)新设备、大容量磁盘(推荐)

2.2 分区与文件系统

  • 分区:将一块物理磁盘划分为多个逻辑区域(如/dev/sda1是第一块SATA硬盘的第一个分区),每个分区独立使用。
  • 文件系统:分区后需格式化(创建文件系统),才能存储文件。Linux主流文件系统:
文件系统特点适用场景
ext4稳定、兼容好、支持日志系统分区、数据分区(通用首选)
XFS高性能、支持大容量、适合并行I/O服务器数据分区、数据库存储
Btrfs支持快照、 RAID、动态扩容需要高级功能的场景(如Docker存储)
vfat跨平台兼容(Windows/Linux)U盘、移动硬盘(小文件存储)

2.3 挂载的核心逻辑

Linux中,分区不会自动被系统识别,需通过“挂载”将分区关联到某个目录(如/data),此后访问该目录即操作对应分区。关键概念:

  • 挂载点:用于关联分区的目录(如/mnt/disk1),必须是空目录;
  • 临时挂载:重启系统后失效(mount命令);
  • 永久挂载:通过/etc/fstab配置,重启后自动生效(推荐)。

3. 第一步:识别磁盘(查看系统中的磁盘与分区)

在进行任何操作前,先确认系统已识别新磁盘,常用命令如下:

3.1lsblk:直观查看磁盘与分区结构

lsblk(list block devices)是最常用的磁盘查看工具,输出清晰易懂:

1

lsblk

输出示例(解读关键信息):

1

2

3

4

5

6

7

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

sda 8:0 0 100G 0 disk

├─sda1 8:1 0 500M 0 part/boot# 系统引导分区

└─sda2 8:2 0 99.5G 0 part /# 根分区

sdb 8:16 0 200G 0 disk# 新添加的未分区磁盘(目标操作磁盘)

nvme0n1 259:0 0 512G 0 disk

└─nvme0n1p1 259:1 0 512G 0 part/home# NVMe硬盘的/home分区

  • TYPE列:disk表示物理磁盘,part表示分区;
  • MOUNTPOINT列:显示已挂载的目录(空表示未挂载)。

3.2fdisk -l:查看磁盘详细信息(含分区表)

fdisk是传统磁盘工具,可查看磁盘容量、分区表类型等细节:

1

sudofdisk-l# 需要root权限

输出示例(重点关注新磁盘/dev/sdb):

1

2

3

4

5

6

7

Disk/dev/sdb: 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/Osize (minimum/optimal): 512 bytes / 512 bytes

Disklabeltype: gpt# 分区表类型为GPT

Disk identifier: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

  • Disklabel type显示dos,则为MBR分区表;
  • 新磁盘未分区时,会提示“no partitions”。

4. 第二步:磁盘分区(MBR/GPT分区实操)

分区工具选择:

  • fdisk:支持MBR和GPT分区表,操作简单(推荐入门);
  • parted:支持大磁盘和GPT,功能更强大(适合高级场景)。

本文以GPT分区表(推荐新磁盘使用)为例,演示分区流程,同时兼顾MBR分区方法。

4.1 用fdisk给新磁盘(/dev/sdb)创建GPT分区

4.1.1 进入fdisk工具(指定目标磁盘)

1

sudofdisk/dev/sdb# 注意:是/dev/sdb(磁盘),不是分区(如/dev/sdb1)

进入后终端提示Command (m for help):,输入对应命令操作。

4.1.2 关键操作步骤(分步详解)
  1. 查看帮助:输入m,查看所有支持的命令(无需记忆,按需查阅);
  2. 转换分区表类型(若为MBR需转换)
    若磁盘原是MBR分区表,输入g转换为GPT(新磁盘默认可能无分区表,输入g会创建GPT):

1

2

Command (mforhelp): g

Created a new GPT disklabel (GUID: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX)

(若需创建MBR分区表,输入o即可);

创建分区:输入n新建分区,按提示配置:

1

2

3

4

5

6

Command (mforhelp): n

Partition number (1-128, default 1):# 分区号(默认1,直接回车)

First sector (2048-419430399, default 2048):# 起始扇区(默认2048,回车)

Last sector, +/-sectorsor +/-size{K,M,G,T,P} (2048-419430399, default 419430399): +100G# 分区大小(如+100G表示100GB,直接回车则占满剩余空间)

Created a new partition 1 oftype'Linux filesystem'and of size 100 GiB.

  • 分区类型默认是Linux filesystem(适用于ext4/XFS等);
  • 若需创建多个分区,重复n命令即可(如再创建一个50GB分区);

查看分区结果:输入p查看已创建的分区:

1

2

3

4

5

6

Command (mforhelp): p

Disk/dev/sdb: 200 GiB, 214748364800 bytes, 419430400 sectors

...

Device Start End Sectors Size Type

/dev/sdb12048 209717247 209715200 100G Linux filesystem

/dev/sdb2209717248 314574847 104857600 50G Linux filesystem

保存分区并退出:输入w保存配置(若想放弃,输入q退出):

1

2

3

4

Command (mforhelp): w

The partition table has been altered.

Calling ioctl() to re-readpartition table.

Syncing disks.

验证分区:退出后执行lsblk,确认分区已创建:

1

lsblk/dev/sdb

输出应显示/dev/sdb1/dev/sdb2分区。

4.2 用parted工具创建分区(进阶)

parted支持交互式和命令行模式,适合大容量磁盘分区,以创建100GB XFS分区为例:

1

2

3

4

5

sudoparted/dev/sdb# 进入parted交互式模式

(parted) mklabel gpt# 创建GPT分区表(若已存在可跳过)

(parted) mkpart primary xfs 0% 100GB# 创建主分区,文件系统xfs,大小0%-100GB

(parted) print# 查看分区

(parted) quit# 退出

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询