当前位置: 首页 > news >正文

fdisk 分区实战:1块20GB磁盘创建3主1扩2逻辑分区完整流程

fdisk 分区实战:1块20GB磁盘创建3主1扩2逻辑分区完整流程

在Linux服务器运维中,磁盘分区是基础但至关重要的技能。不同于常见的4个主分区方案,本文将带你深入MBR分区表的限制与潜力,通过fdisk工具在一块20GB磁盘上实现3个主分区、1个扩展分区和2个逻辑分区的复杂规划。这种配置既能满足多系统引导需求,又能突破4个主分区的限制,特别适合需要灵活存储管理的生产环境。

1. 环境准备与磁盘识别

首先确认你的Linux服务器已识别到目标磁盘。执行以下命令查看当前磁盘情况:

lsblk

输出示例:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk sdb 8:16 0 100G 0 disk └─sdb1 8:17 0 100G 0 part /data

假设我们的目标磁盘是sda,使用fdisk -l /dev/sda确认磁盘详情:

fdisk -l /dev/sda

注意:所有操作将在/dev/sda上进行,请务必确认目标磁盘无误,错误操作可能导致数据丢失。

2. MBR分区表原理与规划

MBR(主引导记录)分区方案有以下核心特性:

  • 4个主分区槽位:可直接使用或转换为扩展分区
  • 扩展分区:作为一个特殊主分区,可包含多个逻辑分区
  • 分区编号规则
    • 主分区:1-4
    • 逻辑分区:从5开始编号

我们的20GB磁盘规划如下:

分区类型数量大小用途
主分区3各5GB系统、应用、备份
扩展分区15GB包含逻辑分区
逻辑分区22GB+3GB数据存储

3. 分区实战操作流程

3.1 进入fdisk交互界面

fdisk /dev/sda

出现命令提示符:Command (m for help):

3.2 创建主分区

  1. 第一个主分区(5GB):

    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 First sector (2048-41943039, default 2048): [Enter] Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039): +5G
  2. 重复上述步骤创建第二、三个主分区(分区号分别选2和3)

3.3 创建扩展分区

Command (m for help): n Partition type: p primary (3 primary, 0 extended, 1 free) e extended Select (default e): e Selected partition 4 First sector (31459328-41943039, default 31459328): [Enter] Last sector, +sectors or +size{K,M,G,T,P} (31459328-41943039, default 41943039): [Enter]

3.4 创建逻辑分区

  1. 第一个逻辑分区(2GB):

    Command (m for help): n All primary partitions are in use Adding logical partition 5 First sector (31461376-41943039, default 31461376): [Enter] Last sector, +sectors or +size{K,M,G,T,P} (31461376-41943039, default 41943039): +2G
  2. 第二个逻辑分区(使用剩余空间):

    Command (m for help): n All primary partitions are in use Adding logical partition 6 First sector (35655680-41943039, default 35655680): [Enter] Last sector, +sectors or +size{K,M,G,T,P} (35655680-41943039, default 41943039): [Enter]

3.5 验证分区表

输入p查看完整分区表:

Device Boot Start End Sectors Size Id Type /dev/sda1 2048 10487807 10485760 5G 83 Linux /dev/sda2 10487808 20973567 10485760 5G 83 Linux /dev/sda3 20973568 31459327 10485760 5G 83 Linux /dev/sda4 31459328 41943039 10483712 5G 5 Extended /dev/sda5 31461376 35655679 4194304 2G 83 Linux /dev/sda6 35655680 41943039 6287360 3G 83 Linux

3.6 保存并退出

Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.

4. 分区格式化与挂载

4.1 刷新分区表

partprobe /dev/sda

4.2 格式化各分区

mkfs.ext4 /dev/sda1 mkfs.xfs /dev/sda2 mkfs.ext4 /dev/sda3 mkfs.ext4 /dev/sda5 mkfs.xfs /dev/sda6

4.3 创建挂载点并挂载

mkdir -p /mnt/{system,apps,backup,data1,data2} mount /dev/sda1 /mnt/system mount /dev/sda2 /mnt/apps mount /dev/sda3 /mnt/backup mount /dev/sda5 /mnt/data1 mount /dev/sda6 /mnt/data2

4.4 配置开机自动挂载

编辑/etc/fstab文件,添加以下内容:

/dev/sda1 /mnt/system ext4 defaults 0 2 /dev/sda2 /mnt/apps xfs defaults 0 2 /dev/sda3 /mnt/backup ext4 defaults 0 2 /dev/sda5 /mnt/data1 ext4 defaults 0 2 /dev/sda6 /mnt/data2 xfs defaults 0 2

验证配置是否正确:

mount -a

5. 高级技巧与故障处理

5.1 分区对齐优化

现代磁盘性能受分区对齐影响,建议始终使用fdisk的默认起始扇区(2048),该值已针对4K对齐优化。

5.2 常见错误解决

  • 设备忙错误:执行partprobe后仍报错时,需重启系统
  • 逻辑分区不可见:确保扩展分区已完全包含逻辑分区空间
  • fstab挂载失败:使用blkid获取UUID替代设备路径更可靠

5.3 分区方案调整策略

当需要修改现有分区时:

  1. 备份重要数据
  2. 使用fdisk删除旧分区(d命令)
  3. 创建新分区时保持相同起始扇区(避免数据丢失)
  4. 使用fsck检查文件系统一致性

对于生产环境,建议在非高峰时段操作,并使用screentmux防止会话中断。

http://www.jsqmd.com/news/1134601/

相关文章:

  • Jboss安全配置实战:从弱口令防护到网站根目录加固
  • Windows 10 家庭版 Administrator 账户救急:PE 环境下 3 步解锁与密码重置
  • Linux /proc/<pid>/fd 实战:3种方法实时捕获进程标准输出与错误流
  • glibc 2.31 源码升级风险规避:3个关键备份与回滚策略(附CentOS 7实测)
  • Windows 10 22H2 外置SSD原生安装:diskpart + DISM 命令7步部署,跨电脑启动实测
  • STM32驱动WS2812B灯带:SPI+DMA实现高效灯光控制
  • Windows 11/10 系统配置工具 msconfig 的5个高级调试功能实战
  • Linux 日志分析实战:grep 组合 awk/sed 实现 5 类复杂多关键字过滤
  • CentOS 7.6 Swap 分区动态调整:从 1.2G 扩容至 2.2G 的 8 步操作实录
  • YOLO目标检测演进史:从v1到v13,如何解决速度、精度与部署难题
  • 属性 sdn的策略自动生成方案
  • LTC6903数字控制振荡器与STM32集成指南
  • Deepin Boot Maker:5分钟制作Linux启动盘的开源神器
  • Spring Boot集成Google Authenticator实现TOTP两步验证实战
  • r77-rootkit Shellcode无文件部署:反射式DLL注入与内存驻留技术详解
  • JDK系列15:JDK21虚拟线程正式版深度实战|彻底解决Java高并发IO瓶颈
  • statsmodels 0.14.0 seasonal_decompose 实战:加法与乘法分解的3步核心差异
  • Linux chmod 755 与 644 权限实战:Web服务器部署的3个关键场景配置
  • Wand-Enhancer完整指南:快速免费解锁WeMod专业版功能的终极解决方案
  • 为什么文件明明是 UTF-8,PowerShell 里还是中文乱码?一篇讲透 Codex、Claude 等 AI 编码工具下的排查与修复
  • Windows 10/11 硬盘分区变 RAW:3 步数据抢救与 chkdsk /f 修复实战
  • AndroidKiller 1.3.1 + IDA Pro 6.8 逆向实战:3种方法破解 Native 层 CrackMe
  • 前缀和题解:多加一个哨兵,少掉一堆边界判断
  • 受到启发,写了一个验证输入的简易框架
  • 银河麒麟V10 SP1 密码策略配置:PAM cracklib 模块 12 个参数详解与实战
  • 统信UOS V20 自启动管理优化:5步禁用非必要服务,开机速度提升30%
  • 2026玉林黄金回收白银回收铂金回收旧料回收怎么选?五家高实价铂金白银线下门店测评清单 + 联系方式
  • WinBtrfs终极指南:如何在Windows上无缝读写Linux Btrfs文件系统
  • DeepL Chrome扩展:5分钟实现专业级浏览器划词翻译的完整指南
  • OpenSSH 9.8p1 与 OpenSSL 3.0 版本兼容性实战:CentOS 7 升级避坑 5 步指南