恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

VMware Linux虚拟机磁盘扩容实战:fdisk分区挂载与fstab配置全解析

  • 首页
  • 资讯中心
  • /
  • VMware Linux虚拟机磁盘扩容实战:fdisk分区挂载与fstab配置全解析

相关资讯

小票打印源码解析:ESC/POS指令、Python实现与排版避坑指南 2026/10/16 20:53:50
6.6kW双向DAB CLLC参考设计:从参数计算到调试避坑 2026/10/16 20:53:50
腾讯乐加固工具包:APK加密、重签名与防逆向实战指南 2026/10/16 20:53:50

最新资讯

Elasticsearch IK分词器7.12.1深度调优指南
H3C MSA存储GB0-670认证备考:从架构到数据保护考点解析
Voquill发布流水线拆解:dev/prod双通道GitHub Actions自动更新系统内幕
UQLab rel2.0.0 可靠度分析实战:从 MATLAB 安装到 FORM/MC 配置
AD域+GPO实现文件服务器共享盘自动映射与登录脚本部署
人人开源代码生成器:面向国产技术栈的契约式脚手架

今日推荐

Java八种基本类型深度解析:从内存布局到实战选型
基础:常用快捷键——IDEA、VS Code、PyCharm 与 Linux 终端效率速查
解决ultraedit下verilog .v文件中文注释乱码:把编码配置改到TaoToken辅助排查

本周热门

UE动画修改实战:从资产编辑到重定向与蒙太奇驱动
统计随机数生成器攻击下的KLJN安全密钥交换协议Matlab仿真
政务API安全治理:资产测绘、低代码编排与行标对标实践

本月精选

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)

VMware Linux虚拟机磁盘扩容实战:fdisk分区挂载与fstab配置全解析

发布时间:2026/10/16 20:53:50
VMware Linux虚拟机磁盘扩容实战:fdisk分区挂载与fstab配置全解析 简介在VMware虚拟机中扩展Linux磁盘空间是运维与开发人员处理存储不足时的高频需求。这份docx文档系统梳理了完整扩容流程先在VMware Workstation中通过虚拟机设置扩大硬盘容量再进入Linux系统用fdisk创建新分区、mkfs格式化、mount临时挂载并通过修改/etc/fstab实现开机自动挂载。同时涵盖无未分配空间时新增磁盘的替代方案以及操作中的注意事项如需reboot后新分区才生效等。资源包仅1个docx文件约324KB内容精炼、步骤清晰适合有基础但缺乏扩容经验的读者参照执行。目前已有6512人学习下载说明该流程具备较高的实用参考价值。按文档操作可独立完成虚拟机磁盘扩展避免因空间不足导致软件无法安装或服务中断。1. 从 50G 扩容说起为什么我宁愿折腾分区也不重装系统做 Linux 开发的人几乎都撞上过同一个尴尬VMware 里跑的 Red Hat Enterprise Linux 磁盘满了编译报错、软件装一半中断、日志写不进去系统像被掐住脖子一样。我最初遇到时第一反应也是重装——然后把开发环境、依赖库、配置脚本全部重来一遍光想想就头大。后来我认真查了一轮资料结合自己的实践把 VMware 扩充磁盘这条路走通了把虚拟磁盘从 20G 扩到 50G在 Linux 里新建分区、格式化、挂载半个小时内解决问题系统一次没重装。这篇文章把我从「VMware 侧点几下」到「Linux 侧分区挂载」的完整过程和判断依据拆开讲重点是用 fdisk 扩容的底层逻辑、为什么必须重启、fstab 怎么改才不翻车。正在用 Linux vmware 虚拟机、磁盘快满又不想重装系统的人可以直接照做。2. 扩容前的关键判断VMware 侧操作与扩容方式选择2.1 扩容前先看三个信息快照、磁盘类型与未分配空间不是所有虚拟机都能点开 Expand 就扩容的。我第一次实际操作时Utilities 下拉框里根本没有 Expand 选项整台虚拟机像是被锁死了一样。后来排查下来是快照的问题。所以说动手之前先做三项检查这能省掉后面一大半的麻烦。检查项检查方法异常影响快照状态虚拟机右键 → 快照 → 快照管理器有快照存在时 Expand 变灰需先删除或合并快照磁盘控制器类型编辑设置 → 硬盘 → 磁盘类型SCSI / SATA / IDEIDE 磁盘扩容到超过 2T 时受限制SCSI 相对更稳宿主可用空间物理机上查看磁盘剩余容量虚拟磁盘扩容不能超过宿主磁盘的物理剩余空间判断依据很简单VMware 的 Expand 操作本质是把虚拟磁盘文件vmdk整体「拉长」拉长需要两个前提一是虚拟磁盘没有被快照引用上锁二是宿主机有足够的物理空间承接扩容部分。有很多资料会上来直接让你把磁盘改成 50G但如果虚拟机有快照链那点再多次 Expand 也是徒劳。另外还要意识到一个关键逻辑扩容发生在 VMware 层但 Linux 操作系统完全不知道这件事。虚拟磁盘从「20G 的后端文件」变成「50G 的后端文件」对 guest 系统里的内核来说它看到的仍然是一个 20G 的块设备因为分区表、文件系统这些结构都还停留在原来的大小上。很多人卡在这一步就是因为误以为 VMware 侧扩完就结束了。我一般会这么判断如果虚拟机是我自己建的且从不做快照直接走 Expand如果这台机器是从同事那里接手的有快照或曾经开过快照功能先处理快照再动手。2.2 Utilities 下拉菜单里的 Expand从 20G 到 50G 的正确方式确认快照和磁盘格式没问题后操作路径就很清晰了。打开 VMware选中目标虚拟机点击「编辑虚拟机设置」Edit Virtual Machine Settings在硬件选项卡里选中硬盘然后点开「实用程序」Utilities下拉框找到「扩展」Expand点击后会弹出窗口让你输入扩展后的磁盘大小。我当时输入 50G点下 Expand屏幕上开始出现一个进度条整个 Expanded 过程大概持续了十几分钟这期间虚拟机不能开机运行否则数据一致性会被破坏。Expand 过程的本质是把 vmdk 文件逐步拉伸中途不要强制终止虚拟机软件。做完之后重新启动 Linux用fdisk -l查看你会发现磁盘容量依然是原来的大小——这完全正常。因为这个操作只是把「容器」变大了容器里面的分区布局、文件系统元数据一点没动Linux 内核当然不会认为自己的磁盘变大了。有一个细节很多教程都不提Expand 之后不要立刻在 VMware 里启动系统等进度条彻底走完然后进入系统后直接跳到fdisk一步。如果你用的是精简置备的磁盘Expand 过程中磁盘文件里的未分配区域可能看起来是稀疏的容量计算上也会有些出入但这些都不影响最终结果。2.3 当 Expand 不可用时Add 方式添加新硬盘的替代路径如果前面检查发现当前磁盘已经没有任何未分配空间可以继续扩——比如 vmdk 的大小已经到顶或者快照合并后空间依然不够——那就不要纠结 Expand 了走 VMware 的添加磁盘功能。在 VMware 主界面选中虚拟机下拉菜单选择「设置」Settings点左下角的「添加」Add选择硬盘设备然后根据向导创建一个新的虚拟磁盘。容量建议一次性给够比如 50G因为后续如果想再扩新硬盘也还是要走绑定更多空间的流程。走 Add 方式新增磁盘虚拟机会把新盘识别为一个全新的设备。如果原系统盘是/dev/sda新硬盘就是/dev/sdb而不是sda4。这意味着后续的分区、格式化、挂载步骤和新分区场景完全一样但设备名变了。我自己遇到这种情况时会先在fdisk -l输出里确认哪个是新盘避免一不小心对系统盘动手。Add 新硬盘还有一个好处不需要等待 Expand 的长时间进度条系统在线状态下就能把新盘认出来有时候比扩容更省事。3. 命令行下的分区实战fdisk 完整操作与参数含义3.1 先摸底fdisk -l 与分区规划做分区操作之前我习惯先执行fdisk -l把整个磁盘的分区结构摸清楚。以我当时的 Red Hat Enterprise Linux 为例输出显示/dev/sda这块盘上已经有/dev/sda1、/dev/sda2、/dev/sda3三个分区其中/dev/sda3是最大分区基本占满了原有空间。既然sda3已经用尽那么新创建的分区就会是sda4。这一步为什么重要因为 fdisk 里的分区编号不是随便排的。每个分区要有独立的编号新分区排在现有最后一个分区之后。如果你不知道当前分区到几号了贸然输入分区号可能覆盖已有分区数据或者在不该建扩展分区的地方建出奇怪的东西。设备起始柱面大小用途/dev/sda1约 0约 500Mboot 分区/dev/sda2约 65约 10Groot 文件系统/dev/sda3约 1300约 9G数据分区已满/dev/sda4新建30G扩容新增这里要解释一个概念MBR 分区表最多支持 4 个主分区如果你已经有 3 个主分区了那第 4 个也是主分区的话就用完了所有主分区名额。但如果第 4 个需要设为扩展分区后续还能在扩展分区里建逻辑分区。我们这种扩容场景下直接建一个主分区最省事除非你之后还想再拆更多分区那就得把扩展分区的规划做在前面。实际操作中输入p创建主分区即可。3.2 fdisk 交互过程逐行拆解m、n、p、回车、w确认了/dev/sda4这个规划之后用 root 账号登录系统输入fdisk /dev/sda进入交互式分区编辑器。# 以 root 身份对 /dev/sda 设备执行 fdisk fdisk /dev/sda进入之后命令行提示符变成Command (m for help):此时按字母m查看帮助你会看到n表示添加一个新分区p表示打印分区表w表示保存并退出。具体顺序如下Command (m for help): m # 查看帮助 Command (m for help): n # 新建分区 Partition type: p primary (3 primary, 0 extended, 1 free) Select (default p): p # 选择主分区 Partition number (1-4, default 4): # 直接回车取默认号 4 First sector (..., default ...): # 直接回车使用默认起始柱面 Last sector, sectors or size{K,M,G} (..., default ...): # 直接回车使用默认结束位置占满剩余空间 Command (m for help): w # 保存修改并退出这里每一步的「回车」都很有讲究。第一次回车是接受默认分区号 4第二次回车是接受默认起始柱面第三次回车是接受默认结束位置。结束位置那里直接回车等价于告诉 fdisk把从起始柱面到磁盘末尾的所有空间都分配给这个新分区。如果自己手动输入一个数值容易留出一段未分配空间之后还要再折腾扩展分区完全没有必要。w命令很关键如果不执行w前面所有的操作只在内存里生效一旦退出 fdisk 就全丢了。保存完毕后终端会返回The partition table has been altered!到了这一步分区的记录已经写入磁盘。还有一点值得注意这个操作场景是「当前磁盘还有未分配空间」如果你是走 Add 方式加了新硬盘那执行对象就换成了fdisk /dev/sdb设备名变了但操作逻辑完全一样。我一般会再看一眼fdisk -l确认新分区有没有出现在设备列表里设备识别是所有后续操作的前提。3.3 为什么必须 reboot分区表重读的玄学与踩坑点分区写完之后不能直接格式化。我最初操作时偷懒没有重启直接执行mkfs.ext4 /dev/sda4结果系统报错说没有这个设备或者能识别设备但格式化过程中不断出现 I/O 错误。原因在于Linux 内核在引导时已经在内存里保留了一份旧的分区表而 fdisk 修改的是磁盘上的物理分区表两者不一致。partprobe命令可以通知内核重新读取分区表很多教程会建议用它代替重启。但我在实际使用中发现对于 SCSI 硬盘partprobe有时不会立即生效尤其是 VMware 虚拟 SCSI 控制器这种环境。最稳妥的办法也是最省心的一招就是直接reboot。重启后你在/dev/目录下才能看到新分区的设备文件比如/dev/sda4。# 重启系统让内核重新读取分区表 reboot重启完成后用ls /dev/sda*确认ls -l /dev/sda*如果看到了/dev/sda4说明分区已经生效可以进行格式化。看不到的话检查之前w是否真的保存了分区表或者重新进 fdisk 用p打印一下分区表看看sda4是不是真的在。这个排查顺序能帮你快速区分是「分区没写进磁盘」还是「内核没重新读取」。4. 扩容避坑清单格式化、挂载与 fstab 的高频翻车点4.1 格式化选型mkfs.ext2、ext3 还是 ext4看到/dev/sda4出现之后下一步是格式化。原教程里用的是mkfs.ext2 /dev/sda4这是个稳妥但偏保守的选择。ext2 没有日志功能意外断电后文件系统可能需要手动检查写到一半死机数据丢失的概率比 ext4 高不少。我自己在给虚拟机扩建数据盘时通常会用mkfs.ext4原因很简单ext4 是当前 Linux 发行版的主流文件系统支持日志掉电后自动恢复能力强大文件读写性能也好。如果你的内核比较老或者系统里已经有现成的 ext2/ext3 习惯那继续用 ext3 也没问题但新建分区推荐直接上 ext4。# 将新分区格式化为 ext4 文件系统 mkfs.ext4 /dev/sda4格式化时有几件事要留意。第一确认分区号没打错格式化会清空分区上的所有数据第二格式化过程出现进度条速度很快几十秒就结束第三如果你后续想把这个分区单独挂载给某个用户目录可以考虑在/etc/fstab配置时指定datawriteback之类的挂载参数但默认的defaults就够日常用了。格式化之后用blkid /dev/sda4可以查看分区的 UUID 和文件系统类型这个 UUID 后面配置 fstab 时会用得上。4.2 挂载点规划mkdir、mount 与权限检查格式化完成之后要在 Linux 根目录下创建一个挂载点目录之后把新分区挂载到这个目录上。到这一步很多新手会犯一个低级错误直接挂载到/或者/home这种已有内容的目录上。挂载的本质是把新分区的根目录「盖」到挂载点上一旦挂载到非空目录原目录里已有的内容会被临时隐藏直到卸载才恢复。正确做法是在根目录下新建一个专用目录比如/disk4然后把/dev/sda4挂载上去。# 创建挂载点 mkdir /disk4 # 临时挂载分区到挂载点 mount /dev/sda4 /disk4/挂载后立即验证空间是否生效这一条不能跳。执行df -h /disk4你会看到新分区的容量出现了比如 30G。如果看不到先看mkdir是不是真的执行成功再看 mount 输出里有没有报错信息。常见的报错是wrong fs type那就是格式化那一步没做好用blkid看一下文件系统类型是不是ext4。还有一种情况是设备已经被挂载到别的地方用mount | grep sda4查一下挂载状态。挂载点路径是可以自定义的不一定非得叫disk4。有人喜欢用/data有人用/opt/extra全凭个人习惯。但有一点我踩过坑路径越短越好因为后面 fstab 里会反复写这个路径长路径一旦写错一个字母开机时报错会让你找半天。另外挂载点的属主要确认一下如果你想用自己的普通用户往里面写数据还得chown把这个目录的所有者改一下否则默认是 root普通用户写不进去。4.3 fstab 配置的 5 个高频翻车点临时挂载只能管到当前开机周期重启之后挂载关系就没了。要开机自动挂载必须把挂载信息写进/etc/fstab。这一步是全流程里最容易翻车的地方我把它踩过的坑按「现象 → 原因 → 解决」整理出来。现象 1重启后系统停在 emergency mode进不去桌面。原因fstab 某一行的挂载参数写错了启动时尝试挂载失败系统进入救援模式。解决用 root 密码进入救援 shell执行mount -o remount,rw /来获得可写权限然后修改 fstab把错误行注释掉或者修正。我见过有人因为这一行配置错误差点走上重装系统的老路其实修好这一行重启就行。现象 2用设备名/dev/sda4挂载换硬盘后设备名漂移系统起不来。原因Linux 的 SCSI 设备名不代表永久身份插入新硬盘或动过磁盘接入顺序后sda4可能变成sdb5。解决fstab 里用UUIDxxx代替设备名。先用blkid /dev/sda4查到分区的 UUID然后在 fstab 里写UUIDxxxx /disk4 ext4 defaults 0 0。这是最稳的写法。现象 3fstab 写入了defaults 0 0重启后 df -h 看不到挂载。原因fstab 每行的第 5 和第 6 个字段是有含义的。第 5 个表示是否 dump 备份第 6 个表示开机时是否做 fsck 检查。defaults 0 0里的两个 0 是备份和 fsck 都关掉不影响挂载本身。如果看不到挂载多半是第六字段写成非 0 了或者挂载点路径和 mkdir 创建的目录不一致。解决检查 fstab 里的挂载点路径、文件系统类型、UUID 是否都对重新mount -a看看报错。现象 4mount -a 提示/disk4 does not exist。原因fstab 写入了挂载点/disk4但这个目录还没创建或者已经被误删了。解决先mkdir -p /disk4再执行mount -a。fstab 不会自动创建挂载点目录这个目录必须提前存在。现象 5扩容后 df -h 显示旧容量怎么看都像没扩。原因只有一个挂载点挂载了新分区但系统本身的其他目录还在旧分区上。扩容追加的新空间是独立分区不是给/扩容。解决明确一个概念——这种操作加的是「一块新盘」的空间不是一个让根目录原地变大的动作。如果你要的是根目录变大那需要 LVM 在线扩容那就是另一个话题了。fstab 修改命令如下# 用 vim 编辑 /etc/fstab vim /etc/fstab在文件末尾加入UUID你的UUID /disk4 ext4 defaults 0 0保存退出后执行mount -amount -a会把 fstab 里所有标记为挂载的分区全部挂上。如果这里不报错说明配置基本没问题。之后重启新分区就会自动出现在/disk4。5. 从 /dev/sda4 到生产习惯一个让你少走弯路的检查清单整套操作走完之后我养成了一个固定习惯任何一次虚拟机磁盘操作无论新增还是扩容都必须按固定顺序做一遍验证顺序如下。# 1. 查看设备列表确认分区存在 fdisk -l /dev/sda # 2. 查看文件系统类型和 UUID blkid /dev/sda4 # 3. 临时挂载并验证容量 mkdir -p /disk4 mount /dev/sda4 /disk4 df -h /disk4 # 4. 写入 fstab 后重放挂载 mount -a reboot # 5. 重启后再次确认自动挂载 df -h mount | grep /disk4每一步的输出都要和预期对上fdisk -l要看到扩展后的磁盘总容量blkid要显示ext4和 UUIDdf -h要看到新分区容量reboot 之后/disk4还在。这个验证顺序是我从踩坑经验里提炼出来的每一行对应一个曾经被忽略的检查点。尤其是第 5 步很多人搞完 fstab 以为万事大吉结果重启后发现挂载丢了就是因为缺了这最后一步验证。如果fdisk -l显示磁盘容量已经是 50G 但分区表里没有新分区说明 Expand 成功了但 fdisk 没建分区如果df -h看不到新分区说明挂载失败如果重启后/disk4丢了问题几乎都出在 fstab 上。这三个现象对应三个环节排查路径非常清晰。从那以后我每次给虚拟机加存储都强制走一遍这个检查循环机器再多也不再慌。希望帮到你。本文还有配套的精品资源点击获取

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号