Hyper-V映射本机物理磁盘需通过「磁盘实用工具→映射」将宿主机NTFS卷(如D:)以只读/读写方式附加为虚拟机直通磁盘,关机操作、宿主机磁盘须在线且未被独占;禁用「添加硬件→物理硬盘」以免宿主机丢失磁盘。
虚拟机怎么映射本机物理磁盘(不是VHDX)
hyper-v本身不支持像vmware那样直接“挂载宿主机的d盘”给虚拟机用——它没有“共享文件夹”或“自动映射驱动器”的原生功能。所谓“映射本机磁盘”,实际是通过windows内置的磁盘实用工具将宿主机的一个已格式化、在线的ntfs卷(比如 d:),以只读或读写方式临时附加为虚拟机内的一个“直通磁盘”。这个操作必须在虚拟机关机状态下进行,且该磁盘在宿主机上不能正在被其他进程独占占用(如bitlocker加密未解锁、正在运行备份任务等)。
实操建议:
- 右键目标虚拟机 → 选择「设置」→ 左侧点开「硬盘驱动器」→ 点击右侧「磁盘实用工具」→ 「映射」
- 在弹出窗口中,从「卷」下拉列表选中你要映射的盘符(如
D:),勾选「以只读模式映射」更安全;若需写入,取消勾选后会弹出风险提示,确认即可 - 映射成功后启动虚拟机,在Windows系统内打开「磁盘管理」,会看到一块状态为「联机」但「未初始化」的新磁盘——别初始化!它就是你的宿主机D盘,直接右键「更改驱动器号和路径」分配个新盘符(如
Z:)就能访问 - ⚠️ 常见错误:映射后在虚拟机里看到的是“脱机”状态 → 检查宿主机上该磁盘是否被BitLocker锁定、或是否启用了“策略禁止脱机磁盘”(
gpedit.msc→ 计算机配置 → 管理模板 → 系统 → 设备安装 → “禁止安装可移动设备”)
为什么不能直接用“添加硬件→硬盘驱动器→物理硬盘”?
这个选项确实存在,但它本质是直通整块物理磁盘(如磁盘0),而非某个分区(卷)。一旦启用,该磁盘将从宿主机完全消失(连磁盘管理都看不到),所有数据不可逆中断,仅适用于极少数需要裸设备I/O的场景(如SQL Server故障转移集群测试)。普通用户想访问自己D盘里的文档、代码或镜像,绝对不该点这里。
实操建议:
- 「物理硬盘」选项只适用于空闲、未分区、未格式化的全新磁盘(如刚插上的USB SATA盘),且虚拟机操作系统需自带对应控制器驱动(Linux可能需手动加载
nvme或ahci模块) - 如果误选并应用了,宿主机立刻丢失该磁盘 → 立即关闭虚拟机 → 在Hyper-V管理器中回到该虚拟机「设置」→ 删除该硬盘项 → 重启宿主机,磁盘通常可恢复
- 真正安全、日常可用的方案,只有上面说的「磁盘实用工具→映射」这一条路
VHDX动态盘扩容后,Ubuntu里怎么识别新增空间?
在Hyper-V里用 Resize-VHD 或图形界面扩展了 ubuntu.vhdx 文件大小,只是把虚拟磁盘容器变大了;Ubuntu系统内部的分区表和文件系统并不知情,df -h 依然显示老容量。这一步常被跳过,导致“明明扩了50GB,/ 分区还是满的”。
实操建议:
- 先确保虚拟机关机,再在Hyper-V管理器中执行扩容(在线扩容虽支持,但Linux内核未必热重载容量变化)
- 启动Ubuntu后,运行
sudo fdisk -l查看/dev/sda总大小是否已更新;若未更新,关机重试扩容 - 用
sudo parted /dev/sda print确认末尾有未分配空间 → 再用sudo parted /dev/sda resizepart 1 100%扩展主分区(假设是sda1) - 最后执行
sudo resize2fs /dev/sda1(ext4)或sudo xfs_growfs /(XFS)让文件系统吃进新空间 - ⚠️ 切勿在Windows里用磁盘管理“扩展卷”操作VHDX里的Linux分区——它不识别ext4/XFS,会破坏分区表
映射盘符在虚拟机里突然变成“脱机”或“无媒体”
这不是Hyper-V bug,而是Windows对“外部卷”的保护机制触发了。常见于宿主机休眠唤醒、快速启动开启、或映射后宿主机端对该卷执行了格式化/BitLocker操作。此时虚拟机内磁盘管理显示“脱机”,右键菜单灰掉,diskpart 里也看不到该磁盘。
实操建议:
- 先检查宿主机:打开「磁盘管理」,确认该卷是否仍为「状态良好」「联机」;若显示「脱机」,右键它 → 「联机」
- 若宿主机正常,但在虚拟机里仍异常 → 关闭虚拟机 → 进入其设置 → 删除该映射项 → 重新「映射」一次(无需重启宿主机)
- 长期稳定需求,建议改用SMB共享:在宿主机开启
\localhostD$共享,Ubuntu用mount -t cifs挂载,Windows客户机直接映射网络驱动器 —— 更可靠,权限可控,跨平台兼容
映射操作本身简单,但背后依赖宿主机磁盘状态、Windows存储堆栈、以及虚拟机IO子系统的协同。最容易被忽略的是:每次映射前确认宿主机磁盘未被加密锁死、未被其他程序独占、且没启用快速启动——这三个条件缺一,就大概率失败。

















