Linux磁盘管理之分区、格式化与挂载磁盘的方法
在Linux系统中磁盘是存储数据的核心硬件无论是服务器部署、日常使用还是开发环境配置都离不开磁盘管理。常见场景包括新服务器添加硬盘后需要分区格式化才能存储数据系统磁盘空间不足时需扩展分区或挂载新磁盘为不同数据类型如系统文件、数据库、日志划分独立分区提升安全性和性能。磁盘管理的核心流程可概括为识别磁盘 → 分区 → 格式化 → 挂载这四个步骤环环相扣。本文将全程以实操为主带你从零掌握每个环节的具体操作。2. 磁盘管理基础概念先搞懂这些再动手在动手操作前先明确几个关键概念避免踩坑2.1 磁盘与分区表磁盘标识Linux中磁盘以/dev/sdXSATA/SCSI接口或/dev/nvmeXnYNVMe接口命名如/dev/sda第一块SATA硬盘、/dev/nvme0n1第一块NVMe硬盘。分区表类型磁盘必须先创建分区表才能划分分区主流类型有两种分区表类型支持最大磁盘容量最大分区数适用场景MBRMaster Boot Record2TB4个主分区或3主1扩展分区旧设备、小容量磁盘GPTGUID Partition Table18EB理论无限制默认128个新设备、大容量磁盘推荐2.2 分区与文件系统分区将一块物理磁盘划分为多个逻辑区域如/dev/sda1是第一块SATA硬盘的第一个分区每个分区独立使用。文件系统分区后需格式化创建文件系统才能存储文件。Linux主流文件系统文件系统特点适用场景ext4稳定、兼容好、支持日志系统分区、数据分区通用首选XFS高性能、支持大容量、适合并行I/O服务器数据分区、数据库存储Btrfs支持快照、 RAID、动态扩容需要高级功能的场景如Docker存储vfat跨平台兼容Windows/LinuxU盘、移动硬盘小文件存储2.3 挂载的核心逻辑Linux中分区不会自动被系统识别需通过“挂载”将分区关联到某个目录如/data此后访问该目录即操作对应分区。关键概念挂载点用于关联分区的目录如/mnt/disk1必须是空目录临时挂载重启系统后失效mount命令永久挂载通过/etc/fstab配置重启后自动生效推荐。3. 第一步识别磁盘查看系统中的磁盘与分区在进行任何操作前先确认系统已识别新磁盘常用命令如下3.1lsblk直观查看磁盘与分区结构lsblklist block devices是最常用的磁盘查看工具输出清晰易懂1lsblk输出示例解读关键信息1234567NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 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是传统磁盘工具可查看磁盘容量、分区表类型等细节1sudofdisk-l# 需要root权限输出示例重点关注新磁盘/dev/sdb1234567Disk/dev/sdb: 200 GiB, 214748364800 bytes, 419430400 sectorsDisk model: Virtual DiskUnits: sectors of 1 * 512 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/Osize (minimum/optimal): 512 bytes / 512 bytesDisklabeltype: gpt# 分区表类型为GPTDisk 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工具指定目标磁盘1sudofdisk/dev/sdb# 注意是/dev/sdb磁盘不是分区如/dev/sdb1进入后终端提示Command (m for help):输入对应命令操作。4.1.2 关键操作步骤分步详解查看帮助输入m查看所有支持的命令无需记忆按需查阅转换分区表类型若为MBR需转换若磁盘原是MBR分区表输入g转换为GPT新磁盘默认可能无分区表输入g会创建GPT12Command (mforhelp): gCreated a new GPT disklabel (GUID: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX)若需创建MBR分区表输入o即可创建分区输入n新建分区按提示配置123456Command (mforhelp): nPartition 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 oftypeLinux filesystemand of size 100 GiB.分区类型默认是Linux filesystem适用于ext4/XFS等若需创建多个分区重复n命令即可如再创建一个50GB分区查看分区结果输入p查看已创建的分区123456Command (mforhelp): pDisk/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退出1234Command (mforhelp): wThe partition table has been altered.Calling ioctl() to re-readpartition table.Syncing disks.验证分区退出后执行lsblk确认分区已创建1lsblk/dev/sdb输出应显示/dev/sdb1和/dev/sdb2分区。4.2 用parted工具创建分区进阶parted支持交互式和命令行模式适合大容量磁盘分区以创建100GB XFS分区为例12345sudoparted/dev/sdb# 进入parted交互式模式(parted) mklabel gpt# 创建GPT分区表若已存在可跳过(parted) mkpart primary xfs 0% 100GB# 创建主分区文件系统xfs大小0%-100GB(parted) print# 查看分区(parted) quit# 退出