> 技术文档 > Linux 磁盘分区与挂载全指南:从磁盘识别到永久配置_linux 硬盘挂载

Linux 磁盘分区与挂载全指南:从磁盘识别到永久配置_linux 硬盘挂载


Linux 磁盘分区与挂载指南:从磁盘识别到永久配置

Linux 磁盘分区与挂载全指南:从磁盘识别到永久配置_linux 硬盘挂载

磁盘管理是 Linux 系统运维的基础,涉及磁盘类型识别、分区方案选择、格式化及挂载等操作。本文将系统讲解不同磁盘类型的表示方法、分区工具的使用、MBR 与 GPT 分区方案的差异,以及临时和永久挂载的配置,帮助读者全面掌握磁盘管理流程。

一、磁盘类型及 Linux 中的表示方法

不同接口的磁盘在 Linux 系统中会被分配不同的设备文件名,便于识别和管理:

  1. SATA/SCSI/SAS 磁盘
    • sd为前缀,第一块硬盘为sda,第二块为sdb,以此类推。
    • 分区表示:第一块硬盘的第一个分区为sda1,第二个为sda2,依此类推。
  2. NVMe 磁盘(高速固态硬盘)
    • nvmeXnYpZ为格式,其中:
      • X:通道号(第一通道为0);
      • Y:硬盘序号(第一块为1);
      • Z:分区序号(第一个分区为1)。
    • 示例:nvme0n1p1表示第一通道的第一块 NVMe 磁盘的第一个分区。
  3. virtio-block 磁盘(虚拟机常用)
    • vd为前缀,第一块硬盘为vda,第一个分区为vda1,命名规则类似 SATA 磁盘。
二、磁盘与分区查看工具

通过以下命令可查看磁盘类型、分区布局等信息:

  1. fdisk -l
    • 列出所有磁盘及分区详情,包括设备名(Device)、引导标志(Boot)、起始 / 结束位置(Start/End)、大小(Size)、分区 ID(Id,如83表示 Linux 分区,82表示 swap 分区)等。
  2. parted -l
    • 更详细地显示磁盘分区表信息,支持 MBR 和 GPT 分区方案,适合查看大磁盘(>2TB)的分区情况。
    • 查看单块磁盘的分区表:parted /dev/sda print(将/dev/sda替换为目标磁盘)。
三、分区方案:MBR 与 GPT

磁盘分区需先选择分区方案,两种主流方案的差异如下:

特性 MBR(主引导记录) GPT(全局唯一标识分区表) 最大磁盘 分区大小 2TB 支持 8ZB(远超 2TB,适合大磁盘) 最大分区数 最多 15 个(主分区 + 扩展分区内的逻辑分区) 最多 128 个分区(几乎无限制) 引导记录存储 与分区表存在同一扇区(512 字节,含 446 字节引导代码、64 字节分区表) 引导记录与分区表分离,分区表首尾各存一份(自带备份) 兼容性 所有系统支持 需 UEFI 固件支持(现代系统普遍兼容)
四、磁盘分区操作

分区前需先为磁盘写入标签(指定分区方案),再创建分区:

1. 写入磁盘标签(选择分区方案)
  • MBR 标签parted /dev/sdb mklabel msdos(将/dev/sdb替换为目标磁盘)。
  • GPT 标签parted /dev/vdb mklabel gpt(适用于大磁盘)。
2. 创建 MBR 分区(以/dev/sdc为例)
parted /dev/sdc # 进入分区工具,操作/dev/sdc磁盘 mklabel msdos # 确认使用MBR方案(若已写入可跳过) unit MB # 设置单位为MB(便于计算) mkpart  # 新建分区 primary # 选择主分区类型(扩展分区用extended) xfs  # 标记文件系统类型(仅标记,未格式化) 1MB  # 起始位置(从1MB开始,避开引导区) 501MB # 结束位置(分区大小为500MB) quit # 退出,自动保存 udevadm settle # 等待系统识别新分区,生成/dev/sdc1设备文件 

简化命令(非交互式):
parted /dev/sdc mkpart primary xfs 1MB 501MB

3. 创建 GPT 分区

操作与 MBR 类似,仅需将标签改为gpt,支持更大分区和更多数量,适合 2TB 以上磁盘:
parted /dev/sdd mklabel gpt(写入 GPT 标签)
parted /dev/sdd mkpart primary xfs 1GB 100GB(创建 1GB-100GB 的分区)

4. 使用fdisk工具分区(适合 MBR)

fdisk /dev/sdb(进入交互式分区工具),常用指令:

  • n:新建分区(主分区 / 扩展分区);
  • d:删除分区;
  • p:查看当前分区表;
  • t:修改分区 ID(如改为 swap 分区需设为82);
  • w:保存退出;q:不保存退出。
    分区后执行partprobe /dev/sdb,让系统立即识别新分区。
五、格式化分区(创建文件系统)

分区需格式化后才能使用,常见文件系统类型为xfs(CentOS 7 + 默认)和ext4

  • mkfs.xfs /dev/sdc1:将sdc1格式化为 xfs 文件系统;
  • mkfs.ext4 /dev/sdc2:将sdc2格式化为 ext4 文件系统。
六、挂载分区(临时与永久)

分区需挂载到目录才能访问,分临时和永久两种方式:

1. 临时挂载(重启后失效)
mkdir /data # 创建挂载点目录 mount /dev/sdc1 /data # 将sdc1分区挂载到/data 
2. 永久挂载(写入/etc/fstab

需将挂载信息写入/etc/fstab,格式如下(字段用空格分隔):

UUID=xxx /挂载点 文件系统类型 挂载参数 dump备份 fsck检查顺序 
  • 第 1 字段:建议用 UUID(分区唯一标识,避免设备名变动),通过blkid /dev/sdc1查询。
  • 第 2 字段:挂载点目录(如/cy),需提前创建。
  • 第 3 字段:文件系统类型(如xfsext4)。
  • 第 4 字段:挂载参数(defaults表示默认,含rwasync等)。
  • 第 5 字段0表示不备份(dump 工具),1表示需要备份。
  • 第 6 字段0表示不检查(xfs 文件系统建议设为 0),1/2表示检查顺序(根分区设为 1)。

示例(挂载sdc1/cy):

blkid /dev/sdc1 # 获取UUID,如\"UUID=abc123...\" mkdir /cy vim /etc/fstab # 添加一行: UUID=abc123... /cy xfs defaults 0 0 mount -a # 生效配置(检查是否有误,错误会导致重启失败) 
七、交换分区(虚拟内存)管理

交换分区用于缓解物理内存不足,操作如下:

  1. 创建 swap 分区

    parted /dev/sdc mkpart primary linux-swap 1MB 501MB # 创建分区 mkswap /dev/sdc1 # 格式化为swap文件系统 
  2. 永久启用 swap
    写入/etc/fstab
    UUID=xxx swap swap defaults 0 0
    生效:swapon -a(开启所有 swap);swapoff -a(关闭所有 swap)。

  3. 查看 swap 使用情况free -mSwap栏显示总大小、已用和空闲)。

通过以上步骤,可完成从磁盘识别、分区、格式化到挂载的全流程管理,根据业务需求选择 MBR 或 GPT 方案,并通过/etc/fstab实现永久挂载,确保系统稳定运行。

男装品牌