Linux磁盘分区与文件系统管理基础
一、磁盘分区基础
-
磁盘分区概念
- 分区:将物理磁盘划分为多个逻辑部分,每个部分可独立使用。
- 目的:提高磁盘利用率、隔离数据(如系统、用户数据)、支持多操作系统。
-
分区类型
- 主分区(Primary Partition):最多4个,可直接用于启动系统。
- 扩展分区(Extended Partition):用于突破主分区限制,内部可包含逻辑分区。
- 逻辑分区(Logical Partition):位于扩展分区内,数量无限制。
-
分区工具
- fdisk:传统工具,适用于MBR分区表。
- parted:支持GPT分区表,功能更强大。
- gdisk/cgdisk:GPT分区表的专用工具。
-
分区示例(使用fdisk)
```bash
sudo fdisk /dev/sda命令:n(新建分区)、p(主分区)、l(逻辑分区)、t(修改分区类型)、w(写入分区表)
```
二、文件系统基础
-
文件系统类型
- ext4:Linux默认文件系统,支持大文件、日志功能。
- xfs:高性能文件系统,适用于大容量存储。
- btrfs:支持快照、子卷、数据校验等高级功能。
- ntfs/fat32:Windows文件系统,Linux可读写(ntfs需ntfs-3g驱动)。
-
文件系统结构
- 超级块(Superblock):记录文件系统元数据。
- inode:存储文件属性(权限、大小、时间戳等),不存储文件名。
- 数据块(Data Block):实际存储文件内容。
-
挂载与卸载
- 挂载:将分区关联到目录。
sudo mount /dev/sda1 /mnt
- 卸载:解除关联。
sudo umount /mnt
- 自动挂载:编辑
/etc/fstab
文件。
- 挂载:将分区关联到目录。
-
文件系统管理命令
- mkfs:格式化分区。
sudo mkfs.ext4 /dev/sda1
- df:查看磁盘使用情况。
- du:查看目录/文件大小。
- fsck:检查并修复文件系统。
- mkfs:格式化分区。
三、实战案例:创建分区并格式化
-
步骤
- 添加新磁盘(假设为
/dev/sdb
)。 - 分区:
sudo fdisk /dev/sdb # 创建主分区(/dev/sdb1)
- 格式化:
sudo mkfs.ext4 /dev/sdb1
- 挂载:
sudo mkdir /data sudo mount /dev/sdb1 /data
- 自动挂载(编辑
/etc/fstab
):/dev/sdb1 /data ext4 defaults 0 0
- 添加新磁盘(假设为
-
验证
- 使用
df -h
确认挂载。 - 写入测试文件验证读写。
- 使用
四、常见问题与解决方案
-
无法挂载
- 原因:文件系统损坏、分区表错误。
- 解决:使用
fsck
修复。
-
磁盘空间不足
- 原因:分区过小、文件未清理。
- 解决:扩展分区(需备份数据)、删除无用文件。
-
权限问题
- 原因:用户无权限访问挂载点。
- 解决:修改挂载选项(如
uid/gid
)、调整目录权限。
五、实践
- 备份数据:分区操作前务必备份。
- 合理规划分区:根据用途分配大小(如
/home
、/var
)。 - 使用GPT分区表:支持大容量磁盘和UEFI启动。
- 监控磁盘使用:定期使用
df
、du
检查。
六、
- 分区是磁盘管理的基础,需根据需求合理规划。
- 文件系统决定数据存储方式,选择合适的类型至关重要。
- 挂载与自动化确保分区可用且易于管理。
- 工具与命令(如
fdisk
、mkfs
)是日常操作的核心。
通过以上内容,用户可掌握Linux磁盘分区与文件系统管理的基础知识,并应用于实际场景中。