欢迎各位兄弟 发布技术文章
这里的技术是共享的
以下是关于 VHD(虚拟硬盘) 的官方下载来源、使用方法及详细步骤:
VHD 本身是微软的虚拟磁盘格式,无需单独下载,但可通过以下途径获取相关工具:
Windows 内置工具:Windows 7+ 系统自带 磁盘管理 和 Hyper-V 支持创建/挂载 VHD。
微软官方文档:
Microsoft VHD 文档
打开磁盘管理:
右键 此电脑 → 管理 → 磁盘管理。
或按 Win + X → 选择 磁盘管理。

创建 VHD:
点击顶部菜单 操作 → 创建 VHD。
设置位置、大小(动态或固定)、格式(VHD/VHDX)→ 点击 确定。



初始化并格式化:
右键新磁盘 → 初始化磁盘(选 GPT/MBR)。








右键未分配空间 → 新建简单卷 → 按向导格式化(如 NTFS)。

powershell# 创建动态扩展的 VHDX 文件(推荐) New-VHD -Path "C:\test.vhdx" -SizeBytes 50GB -Dynamic # 挂载并初始化 Mount-VHD -Path "C:\test.vhdx" Initialize-Disk -Number X -PartitionStyle GPT New-Partition -DiskNumber X -UseMaximumSize | Format-Volume -FileSystem NTFS -Confirm:$false
(替换 X 为实际磁盘号)
挂载:
双击 VHD 文件,或在磁盘管理中点击 操作 → 附加 VHD。


卸载:
右键磁盘 → 分离 VHD(确保数据已保存)。

脱机:

联机:

Hyper-V 虚拟机:将 VHD 作为虚拟机的磁盘。
双系统启动:通过 bootmgr 配置从 VHD 启动(需 Windows 企业版/专业版)。
数据备份/传输:作为便携式存储介质。
VHD vs VHDX:
VHDX 支持更大容量(64TB vs 2TB)和断电保护,优先选 VHDX。
动态 vs 固定:
动态磁盘按需占用物理空间,固定磁盘一次性分配。
权限问题:
需管理员权限操作 VHD。
无法扩展 VHD:
需先卸载 VHD,在磁盘管理中使用 扩展卷 功能。
虚拟机无法启动:
检查 Hyper-V 设置中是否正确分配了 VHD 文件。
通过以上步骤,您可以轻松创建和管理 VHD 虚拟磁盘。如需更高级功能(如差异磁盘),可参考微软官方文档。
VHD 上面 脱机 分离 与 联机 附加 区别
在管理 VHD(虚拟硬盘) 时,脱机(Offline)/分离(Detach) 和 联机(Online)/附加(Attach) 是两种关键操作,它们决定了 VHD 文件是否可被系统访问和使用。以下是它们的区别和适用场景:
| 操作 | 作用 | 是否可访问数据 | 适用场景 |
|---|---|---|---|
| 联机(Online)/附加(Attach) | 将 VHD 文件挂载到系统,使其作为磁盘可用 | ✅ 可以访问数据 | 需要读写 VHD 内的文件时 |
| 脱机(Offline)/分离(Detach) | 断开 VHD 与系统的连接,使其不可用 | ❌ 无法访问数据 | 备份、迁移或防止误操作时 |
作用:
将 VHD 文件挂载到系统中,使其作为一个新的磁盘驱动器(如 E: 或 F:)出现,可以正常读写文件。
方法:
Windows 磁盘管理:
PowerShell:
powershellMount-VHD -Path "C:\path\to\your.vhdx"
打开 磁盘管理(Win + X → 磁盘管理)。
点击 操作 → 附加 VHD,选择文件(.vhd 或 .vhdx)。
系统会自动识别并挂载,新磁盘可能需初始化和分配盘符。
适用场景:
需要访问 VHD 内的文件。
在 Hyper-V 虚拟机中使用 VHD。
作为额外存储空间临时挂载。
作用:
断开 VHD 与系统的连接,使其不再占用盘符或影响系统,所有数据仍保留在 VHD 文件中。
方法:
Windows 磁盘管理:
PowerShell:
powershellDismount-VHD -Path "C:\path\to\your.vhdx"
右键点击 VHD 对应的磁盘 → 脱机(Offline)。
或点击 操作 → 分离 VHD(Detach)。
适用场景:
备份或迁移:防止 VHD 被意外修改。
释放盘符:避免多个磁盘混乱。
解决冲突:某些程序(如备份工具)可能要求 VHD 脱机才能操作。
| 项 | 联机(Online)/附加(Attach) | 脱机(Offline)/分离(Detach) |
|---|---|---|
| 数据访问 | 可读写 VHD 内的文件 | 无法访问,相当于断开连接 |
| 盘符占用 | 分配一个盘符(如 E:) | 不占用盘符 |
| 系统影响 | 可能影响性能(I/O 占用) | 无影响 |
| 使用场景 | 需要编辑 VHD 内容 | 备份、迁移或防止误操作 |
脱机(Offline):仅使 VHD 磁盘不可访问,但仍保持连接状态,可随时重新联机。
分离 VHD(Detach):完全断开 VHD 与系统的连接,需重新附加才能使用。
Windows 策略:
默认情况下,新检测到的磁盘会先处于 脱机 状态,需手动 联机 才能使用(防止数据意外写入)。
解决方法:
powershellSet-Disk -Number X -IsOffline $false # 替换 X 为磁盘号
不会,VHD 文件仍完好保存在硬盘上,只是不再挂载到系统。
| 操作 | 何时使用 |
|---|---|
| 联机/附加 | 需要访问 VHD 内的数据时 |
| 脱机/分离 | 备份、迁移或防止误操作时 |
如果你不想让 VHD 占用系统资源,分离(Detach) 是最彻底的方式;若只是临时屏蔽访问,脱机(Offline) 即可。
脱机 与 分离 到底有什么区别
在管理 VHD(虚拟硬盘) 时,脱机(Offline) 和 分离(Detach) 都表示虚拟磁盘不再被系统主动访问,但它们的关键区别在于 与系统的连接状态 和 后续操作的影响。以下是详细对比:
| 对比项 | 脱机(Offline) | 分离(Detach) |
|---|---|---|
| 是否仍与系统关联 | ✅ 仍关联(可快速重新联机) | ❌ 完全断开(需重新附加) |
| VHD 文件状态 | 仍被系统识别为“已连接但不可用” | 彻底解除关联,系统不再感知该 VHD |
| 适用场景 | 临时禁用访问(如防止误操作) | 彻底移除(如备份或迁移 VHD 文件) |
| 操作方式 | Windows 磁盘管理 → 右键磁盘 → 脱机 | Windows 磁盘管理 → 操作 → 分离 VHD |
| PowerShell 命令 | Set-Disk -Number X -IsOffline $true | Dismount-VHD -Path "X:\file.vhdx" |
本质:
仅禁用磁盘的访问权限,但 VHD 仍与系统保持连接,系统知道它的存在,只是不让它处于活跃状态。
特点:
VHD 文件仍被系统“记住”,随时可以重新 联机(Online) 使用。
不会释放 VHD 文件的句柄,某些程序仍可能检测到它(如磁盘管理工具)。
适用场景:
临时阻止对 VHD 的读写(如防止误删数据)。
需要快速切换 VHD 的可用状态时(测试环境下常用)。
本质:
完全断开 VHD 与系统的关联,相当于 物理拔掉一块硬盘。
特点:
系统彻底 忘记 这个 VHD,除非重新附加(Attach)。
释放文件句柄,其他程序可自由操作该 VHD 文件(如移动、复制、压缩)。
适用场景:
备份或迁移 VHD 文件(需确保无程序占用)。
彻底移除不再需要的虚拟磁盘(如清理临时测试环境)。
方法 1:磁盘管理
右键目标磁盘 → 选择 脱机。
方法 2:PowerShell
powershellSet-Disk -Number 1 -IsOffline $true # 将磁盘1设为脱机
方法 1:磁盘管理
操作 → 分离 VHD → 选择文件路径。
方法 2:PowerShell
powershellDismount-VHD -Path "C:\disk1.vhdx" # 彻底分离 VHD 文件
数据安全:
无论是脱机还是分离,VHD 文件本身不会丢失数据,只是访问方式不同。
Hyper-V 虚拟机的影响:
如果 VHD 正在被虚拟机使用,直接分离会导致虚拟机崩溃!必须先关闭虚拟机。
脱机对虚拟机无影响(虚拟机仍认为磁盘存在,但宿主系统无法访问)。
文件占用问题:
分离后,VHD 文件可被移动/删除;脱机时文件仍可能被系统锁定(需先分离)。
| 需求 | 推荐操作 |
|---|---|
| 临时禁用磁盘(如防止误格式化) | 脱机(Offline) |
| 永久移除磁盘(如备份或迁移文件) | 分离(Detach) |
| 需要彻底释放 VHD 文件(如用 7-Zip 压缩) | 必须分离(Detach) |
| 快速切换磁盘状态(测试环境) | 脱机(Offline) |
脱机 = “禁用”(系统仍知道它的存在,可快速恢复)。
分离 = “移除”(系统完全忘记它,需重新挂载才能用)。
根据实际需求选择,避免误操作导致数据无法访问!