插件窝 干货文章 Linux中磁盘管理之格式化、分区、挂载-详解

Linux中磁盘管理之格式化、分区、挂载-详解

分区 挂载 文件 dev 941    来源:    2025-05-13

Linux磁盘管理详解:格式化、分区与挂载

一、磁盘基础概念

在Linux系统中,磁盘管理是系统管理员必须掌握的核心技能之一。以下是基本概念:

  • 设备命名

    • IDE设备:/dev/hd[a-d]
    • SCSI/SATA/USB设备:/dev/sd[a-z]
    • NVMe设备:/dev/nvme[0-9]n[1-9]
  • 分区表示

    • 主分区或扩展分区:1-4(如/dev/sda1)
    • 逻辑分区:5+(如/dev/sda5)

二、磁盘分区

1. 查看磁盘信息

# 查看所有磁盘及分区
fdisk -l

# 或使用lsblk查看块设备
lsblk

# 更详细的信息
lsblk -f

2. 使用fdisk进行分区

# 对/dev/sdb进行分区
fdisk /dev/sdb

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

3. 使用parted进行分区(适用于大容量磁盘)

parted /dev/sdb

parted常用命令: - mklabel:创建分区表(msdos或gpt) - mkpart:创建分区 - print:显示分区信息 - rm:删除分区 - quit:退出

三、格式化分区

1. 常用文件系统类型

  • ext4:Linux常用
  • xfs:高性能文件系统
  • btrfs:支持快照等高级特性
  • vfat:兼容Windows(FAT32)
  • ntfs:Windows NT文件系统

2. 格式化命令

# 格式化为ext4
mkfs.ext4 /dev/sdb1

# 格式化为xfs
mkfs.xfs /dev/sdb1

# 格式化为fat32
mkfs.vfat -F 32 /dev/sdb1

# 格式化为NTFS
mkfs.ntfs /dev/sdb1

3. 检查文件系统

# 检查ext4文件系统
fsck.ext4 /dev/sdb1

# 检查xfs文件系统
xfs_repair /dev/sdb1

四、挂载文件系统

1. 临时挂载

# 创建挂载点
mkdir /mnt/data

# 挂载分区
mount /dev/sdb1 /mnt/data

2. 永久挂载(/etc/fstab)

/etc/fstab格式:

<设备> <挂载点> <文件系统类型> <挂载选项> <dump选项> <fsck顺序>

示例:

/dev/sdb1 /mnt/data ext4 defaults 0 0

或使用UUID(推荐):

# 获取UUID
blkid /dev/sdb1

# 然后使用UUID格式
UUID=xxxx-xxxx-xxxx /mnt/data ext4 defaults 0 0

3. 挂载选项

  • defaults:默认选项(rw,suid,dev,exec,auto,nouser,async)
  • ro:只读挂载
  • noexec:禁止执行二进制文件
  • nosuid:禁止suid/sgid位生效
  • nodev:禁止设备文件

4. 卸载文件系统

umount /mnt/data

# 如果设备忙,可以使用-l选项强制卸载
umount -l /mnt/data

五、高级操作

1. 调整分区大小

# 对于ext2/3/4文件系统
resize2fs /dev/sdb1

# 对于xfs文件系统(需要先卸载)
xfs_growfs /mount/point

2. LVM管理

# 创建物理卷
pvcreate /dev/sdb1

# 创建卷组
vgcreate vg_data /dev/sdb1

# 创建逻辑卷
lvcreate -L 10G -n lv_data vg_data

# 格式化并挂载
mkfs.xfs /dev/vg_data/lv_data
mount /dev/vg_data/lv_data /mnt/data

3. 交换空间管理

# 创建交换分区
mkswap /dev/sdb2
swapon /dev/sdb2

# 永久生效,添加到/etc/fstab
/dev/sdb2 none swap sw 0 0

六、常见问题解决

  1. 设备忙无法卸载

    # 查看哪个进程在使用
    lsof /mnt/data
    # 或
    fuser -vm /mnt/data
    
  2. fstab错误导致无法启动: 在启动时进入单用户模式,修复fstab文件

  3. 磁盘空间不足

    # 查看磁盘使用情况
    df -h
    
    # 查看目录大小
    du -sh /*
    
  4. 文件系统损坏

    # 对于ext文件系统
    fsck -y /dev/sdb1
    
    # 对于xfs文件系统
    xfs_repair /dev/sdb1
    

通过掌握这些磁盘管理技能,您可以有效地在Linux系统中管理存储资源,确保数据的安全和系统的稳定运行。