【Linux基础】Linux系统管理:MBR分区实践详细操作指南
目录
引言
1 MBR分区基础概念
1.1 什么是MBR分区
1.2 MBR分区类型
1.3 MBR分区限制
2 Linux分区工具介绍
2.1 fdisk - 经典分区工具
2.2 parted - 高级分区工具
2.3 sfdisk - 批量分区工具
2.4 gdisk - GPT分区工具
3 MBR分区实践操作
3.1 查看硬盘信息
3.2 使用fdisk创建MBR分区
3.2.1 启动fdisk
3.2.2 fdisk交互式操作
3.2.3 实际操作示例
3.3 使用parted创建MBR分区
3.3.1 启动parted
3.3.2 parted交互式操作
3.3.3 实际操作示例
3.4 分区格式化
3.5 分区挂载
3.5.1 手动挂载
3.5.2 自动挂载配置
3.6 分区管理常用命令
4 MBR分区高级操作
4.1 分区调整
4.1.1 调整分区大小
4.1.2 调整分区示例
4.2 分区迁移
4.2.1 分区迁移流程
4.2.2 分区迁移示例
5 MBR分区实践建议
5.1 分区规划建议
5.2 安全建议
5.3 性能优化建议
6 总结
引言
在Linux系统管理中,硬盘分区是一项基础且重要的操作。MBR(Master Boot Record,主引导记录)作为传统的分区方案,虽然在大容量硬盘支持上有所局限,但在兼容性和实用性方面仍然具有重要价值。
1 MBR分区基础概念
1.1 什么是MBR分区
MBR(Master Boot Record,主引导记录)是硬盘分区的一种经典格式,位于硬盘的第一个扇区(512字节)。MBR分区表最多支持4个主分区或3个主分区+1个扩展分区。

引导程序(446字节):包含启动代码,负责加载操作系统引导程序分区表(64字节):由4个16字节的分区项组成,每个分区项包含:
- 引导标志(1字节):0x80表示活动分区,0x00表示非活动分区
- 起始CHS地址(3字节):分区的起始柱面-磁头-扇区地址
- 分区类型(1字节):标识分区类型(如0x07表示NTFS,0x83表示Linux等)
- 结束CHS地址(3字节):分区的结束柱面-磁头-扇区地址
- 起始LBA(4字节):分区的起始逻辑块地址
- 分区大小(4字节):分区的大小(以扇区为单位)
结束标志(2字节):固定值0x55AA,标识有效的MBR
1.2 MBR分区类型
分区类型代码 | 分区类型 | 描述 |
0x01 | FAT12 | 12位FAT文件系统 |
0x04 | FAT16 | 16位FAT文件系统 |
0x05 | 扩展分区 | 扩展分区,可包含逻辑分区 |
0x06 | FAT16B | 大容量FAT16文件系统 |
0x07 | NTFS/HPFS | Windows NT/HPFS文件系统 |
0x0B | FAT32 | FAT32文件系统 |
0x0C | FAT32 LBA | LBA寻址的FAT32文件系统 |
0x0E | FAT16 LBA | LBA寻址的FAT16文件系统 |
0x0F | 扩展分区 LBA | LBA寻址的扩展分区 |
0x82 | Linux Swap | Linux交换分区 |
0x83 | Linux | Linux原生分区 |
0x85 | Linux 扩展 | Linux扩展分区 |
0x8e | Linux LVM | Linux逻辑卷管理分区 |
0xee | GPT保护 | 保护性MBR,用于GPT分区 |
1.3 MBR分区限制
MBR分区存在以下限制:
- 容量限制:最大支持2TB硬盘(512字节/扇区 × 2^32扇区)
- 分区数量限制:最多4个主分区或3个主分区+1个扩展分区
- 扩展分区复杂性:扩展分区结构复杂,管理不便
- 安全性不足:没有内置校验和机制,易受攻击
2 Linux分区工具介绍
2.1 fdisk - 经典分区工具
fdisk是Linux中最常用的分区工具之一,支持MBR和GPT分区表。

fdisk特点:
- 交互式界面友好,易于操作
- 支持MBR和GPT分区表
- 提供详细的分区信息显示
- 支持分区创建、删除、修改等操作
2.2 parted - 高级分区工具
parted是一个功能强大的分区工具,支持多种分区表格式。

parted特点:
- 支持多种分区表格式(MBR、GPT、mac等)
- 支持分区大小调整和移动
- 提供更高级的分区操作功能
- 支持脚本化操作,便于自动化
2.3 sfdisk - 批量分区工具
sfdisk是fdisk的命令行版本,适合批量分区操作。

sfdisk特点:
- 命令行操作,适合脚本化
- 支持从配置文件批量创建分区
- 提供分区信息查看功能
- 适合自动化部署场景
2.4 gdisk - GPT分区工具
gdisk是专门为GPT分区表设计的工具,但也支持MBR分区。

gdisk特点:
- 专门为GPT分区表设计
- 也支持MBR分区操作
- 提供分区类型转换功能
- 支持GPT特有的功能如备份分区表
3 MBR分区实践操作
3.1 查看硬盘信息
# 查看所有块设备
lsblk# 查看磁盘详细信息
fdisk -l# 查看硬盘的分区表类型
file /dev/sda
3.2 使用fdisk创建MBR分区
3.2.1 启动fdisk
# 对/dev/sda进行分区操作
fdisk /dev/sda
3.2.2 fdisk交互式操作

fdisk操作步骤:
- 查看帮助:输入m查看帮助信息
- 创建分区:输入n创建新分区
- 设置分区类型:选择主分区或扩展分区
- 设置分区大小:指定分区的起始和结束扇区
- 写入分区表:输入w写入分区表
- 查看分区:输入p查看分区信息
- 退出fdisk:输入q退出(不保存)或w保存退出
3.2.3 实际操作示例
# 启动fdisk
fdisk /dev/sda# 在fdisk中执行以下命令:
Command (m for help): m # 查看帮助
Command (m for help): n # 创建新分区
Partition type:p primary (0 primary, 0 extended, 4 free)e extended
Select (default p): p # 选择主分区
Partition number (1-4, default 1): 1 # 分区号1
First sector (2048-20971519, default 2048): 2048 # 起始扇区
Last sector, +sectors or +size{K,M,G,T,P} (2048-20971519, default 20971519): +10G # 分区大小10GCommand (m for help): n # 创建第二个分区
Partition type:p primary (1 primary, 0 extended, 3 free)e extended
Select (default p): p # 选择主分区
Partition number (2-4, default 2): 2 # 分区号2
First sector (20971520-20971519, default 20971520): 20971520 # 起始扇区
Last sector, +sectors or +size{K,M,G,T,P} (20971520-20971519, default 20971519): +20G # 分区大小20GCommand (m for help): n # 创建第三个分区
Partition type:p primary (2 primary, 0 extended, 2 free)e extended
Select (default p): e # 选择扩展分区
Partition number (3,4, default 3): 3 # 扩展分区号
First sector (41943040-20971519, default 41943040): 41943040 # 起始扇区
Last sector, +sectors or +size{K,M,G,T,P} (41943040-20971519, default 20971519): 20971519 # 结束扇区Command (m for help): n # 在扩展分区中创建逻辑分区
Partition number (4,5, default 5): 5 # 逻辑分区号
First sector (41944192-20971519, default 41944192): 41944192 # 起始扇区
Last sector, +sectors or +size{K,M,G,T,P} (41944192-20971519, default 20971519): +30G # 分区大小30GCommand (m for help): p # 查看分区信息
Command (m for help): w # 写入分区表
3.3 使用parted创建MBR分区
3.3.1 启动parted
# 启动parted
parted /dev/sda
3.3.2 parted交互式操作

parted操作步骤:
- 查看设备信息:输入print查看设备信息
- 设置分区表:输入mklabel msdos设置MBR分区表
- 创建分区:输入mkpart创建分区
- 设置分区类型:指定文件系统类型
- 设置分区大小:指定分区的大小范围
- 设置分区标志:输入set设置分区标志
- 写入分区表:parted会自动保存
- 退出parted:输入quit退出
3.3.3 实际操作示例
# 启动parted
parted /dev/sda# 在parted中执行以下命令:
(parted) print # 查看当前分区表
(parted) mklabel msdos # 创建MBR分区表
(parted) mkpart primary ext4 1MiB 10GiB # 创建第一个分区
(parted) mkpart primary ext4 10GiB 30GiB # 创建第二个分区
(parted) mkpart extended 30GiB 60GiB # 创建扩展分区
(parted) mkpart logical ext4 30GiB 50GiB # 创建逻辑分区1
(parted) mkpart logical ext4 50GiB 60GiB # 创建逻辑分区2
(parted) print # 查看分区信息
(parted) set 1 boot on # 设置第一个分区为活动分区
(parted) quit # 退出parted
3.4 分区格式化
- 创建分区后,需要格式化分区以建立文件系统:
# 格式化ext4文件系统
mkfs.ext4 /dev/sda1# 格式化swap分区
mkswap /dev/sda2# 格式化其他文件系统
mkfs.xfs /dev/sda5
mkfs.vfat /dev/sda6
3.5 分区挂载
3.5.1 手动挂载
# 创建挂载点
mkdir -p /mnt/data
mkdir -p /mnt/backup
mkdir -p /mnt/swap# 挂载分区
mount /dev/sda1 /mnt/data
mount /dev/sda5 /mnt/backup
swapon /dev/sda2# 查看挂载情况
df -h
mount | grep /dev/sda
3.5.2 自动挂载配置
- 编辑/etc/fstab文件实现自动挂载:
# 备份fstab文件
cp /etc/fstab /etc/fstab.bak# 编辑fstab文件
vim /etc/fstab
- fstab配置示例:
# /etc/fstab
# Filesystem Mountpoint Type Options Dump Pass
/dev/sda1 /mnt/data ext4 defaults 0 2
/dev/sda5 /mnt/backup xfs defaults 0 2
/dev/sda2 none swap sw 0 0
3.6 分区管理常用命令
# 查看分区信息
fdisk -l
lsblk
parted -l# 查看文件系统信息
df -h
mount# 查看swap信息
swapon --show
free -h# 卸载分区
umount /mnt/data
swapoff /dev/sda2# 检查文件系统
fsck /dev/sda1
4 MBR分区高级操作
4.1 分区调整
4.1.1 调整分区大小

调整分区大小步骤:
- 卸载分区:确保分区没有被挂载
- 备份重要数据:防止数据丢失
- 调整分区:使用parted调整分区大小
- 调整文件系统:使用resize2fs调整文件系统大小
- 重新挂载:重新挂载分区
- 验证数据完整性:检查数据是否完整
4.1.2 调整分区示例
# 卸载分区
umount /dev/sda1# 调整分区大小(使用parted)
parted /dev/sda
(parted) resizepart 1 15GiB
(parted) quit# 调整文件系统大小
resize2fs /dev/sda1# 重新挂载
mount /dev/sda1 /mnt/data# 验证
df -h /mnt/data
4.2 分区迁移
4.2.1 分区迁移流程

分区迁移步骤:
- 创建目标分区:在新位置创建分区
- 格式化目标分区:格式化新分区
- 挂载源分区:挂载源分区
- 挂载目标分区:挂载目标分区
- 复制数据:使用rsync等工具复制数据
- 更新fstab:更新fstab文件
- 卸载分区:卸载所有分区
- 删除源分区:删除源分区
- 重命名目标分区:将目标分区重命名为原名称
4.2.2 分区迁移示例
# 创建目标分区
fdisk /dev/sdb
# 在fdisk中创建与/dev/sda1相同大小的分区# 格式化目标分区
mkfs.ext4 /dev/sdb1# 创建挂载点
mkdir -p /mnt/source /mnt/target# 挂载分区
mount /dev/sda1 /mnt/source
mount /dev/sdb1 /mnt/target# 复制数据
rsync -avh --progress /mnt/source/ /mnt/target/# 更新fstab
umount /mnt/source /mnt/target
nano /etc/fstab
# 将/dev/sda1改为/dev/sdb1# 卸载分区
umount /dev/sda1 /dev/sdb1# 删除源分区
fdisk /dev/sda
# 删除/dev/sda1分区# 重命名目标分区
fdisk /dev/sdb
# 将/dev/sdb1重命名为/dev/sda1
5 MBR分区实践建议
5.1 分区规划建议

系统分区:
- /boot:1-2GB,用于引导文件
- /:10-20GB,用于根文件系统
- /home:剩余空间,用于用户数据
数据分区:
- /data:用于应用程序数据
- /backup:用于系统备份
交换分区:
- 大小通常为内存的1-2倍
- 最多不超过32GB
备份分区:
- 单独的备份分区,用于重要数据备份
5.2 安全建议

分区加密:
- 使用LUKS加密敏感分区
- 使用eCryptfs加密用户目录
权限控制:
- 设置适当的文件权限
- 为不同用户创建独立的分区
定期备份:
- 定期进行全量备份
- 设置增量备份策略
监控分区:
- 监控分区使用率
- 监控分区错误和性能
5.3 性能优化建议

对齐分区:
- 确保4K对齐
- 对齐到扇区边界
选择合适的文件系统:
- ext4:通用性好,兼容性强
- XFS:大文件性能好
- Btrfs:高级功能多
优化挂载选项:
- 使用noatime减少访问时间更新
- 使用data=writeback提高写入性能
定期维护:
- 定期进行碎片整理
- 管理日志文件
6 总结
MBR分区作为传统的分区方案,具有以下核心价值:
- 兼容性好:几乎所有系统和硬件都支持MBR分区
- 操作简单:工具成熟,操作相对简单
- 资源占用少:相比GPT,MBR占用资源更少
- 稳定性高:经过长期验证,稳定性高
MBR分区存在以下局限性:
- 容量限制:最大支持2TB硬盘
- 分区数量限制:最多4个主分区或3个主分区+1个扩展分区
- 扩展分区复杂性:扩展分区结构复杂,管理不便
- 安全性不足:没有内置校验和机制
MBR分区作为Linux系统管理的基础技能,掌握其操作方法和最佳实践对于系统管理员来说至关重要。在实际应用中,我们应根据具体需求选择合适的分区方案,并遵循最佳实践,确保系统的稳定、安全和高效运行。