O que é o formato de ficheiro VHD?
Um arquivo .vhd contém uma imagem virtual de uma unidade de disco rígido, usada por plataformas de virtualização como Microsoft Hyper-V, Oracle VirtualBox e Windows Virtual PC. Um único arquivo .vhd pode conter todos os dados armazenados em um disco rígido físico, salvos na mesma estrutura - partições, arquivos de sistema, arquivos comuns e pastas.
Possibilidades resultantes de arquivos .vhd
Arquivos .vhd são normalmente usados como discos de máquinas virtuais, o que torna possível instalar e executar vários sistemas operacionais sem a necessidade de várias unidades físicas ou computadores separados. Isso permite muitas possibilidades - por exemplo, manter programas e aplicativos em ambientes diferentes. Arquivos .vhd também permitem restaurar diretórios escolhidos ou um disco rígido inteiro. No Windows 7 e posterior, um .vhd pode ser montado diretamente através do Gerenciamento de Disco ou com o cmdlet Mount-DiskImage do PowerShell, sem qualquer software de terceiros.
Breve história do formato VHD
O formato VHD foi criado pela Connectix, uma empresa adquirida pela Microsoft em 2003, que então desenvolveu o produto Microsoft Virtual PC. A Microsoft posteriormente publicou a especificação VHD sob sua Open Specification Promise, tornando o formato livre de royalties para implementação. Em 2012, atualizações significativas foram introduzidas como um novo formato - .VHDX - que suporta discos maiores (até 64 TB) e melhora a resiliência contra corrupção.
Tipos de arquivos VHD
Arquivos .vhd podem ser identificados em vários tipos, o que facilita seu gerenciamento:
- Imagem de disco rígido fixa - possui um tamanho fixo igual ao tamanho da unidade virtual; todo o armazenamento é alocado no momento da criação.
- Imagem de disco rígido dinâmica - o tamanho do arquivo começa pequeno e cresce conforme os dados são gravados; contém apenas os setores que foram realmente usados.
- Imagem de disco de diferenciação - um
.vhdseparado que registra apenas as alterações em relação a um disco pai (base); o Hyper-V usa a extensão relacionada .AVHD para arquivos de checkpoint de VM. - Vinculado (pass-through) - contém apenas um link para uma unidade física, concedendo à máquina virtual acesso direto ao hardware.
Formatos de disco de virtualização concorrentes incluem .VMDK (VMware) e .VDI (nativo do VirtualBox). A ferramenta qemu-img pode converter entre todos esses formatos no Linux e macOS.
Segurança e proteção
RISCO: MEDIUMUm .vhd é uma imagem de disco, não executável diretamente no host - mas pode conter um SO inicializável completo, portanto, um VHD baixado pode conter malware dentro do convidado. Execute VMs não confiáveis de forma isolada (sem pastas compartilhadas, rede limitada). Montar um VHD via Gerenciamento de Disco expõe seu sistema de arquivos ao host, portanto, verifique imagens desconhecidas antes de abrir arquivos. VHDs também contêm quaisquer dados confidenciais que o convidado possuía (credenciais, arquivos pessoais) - trate como confidencial. Eles são grandes; garanta espaço livre antes de converter ou copiar.
Detalhes do formato
em resumoProgramas que abrem arquivos VHD
Detalhes técnicos
especificação profunda| Tipo de contêiner | Contêiner binário de disco rígido virtual - imagem de disco bruta com um rodapé de 512 bytes anexado ao final do arquivo |
| Cookie de rodapé (magic bytes) | String ASCII `conectix` (8 bytes) no início do rodapé de 512 bytes; no final do arquivo (EOF) para VHDs fixos e, adicionalmente, no deslocamento de byte 0 para VHDs dinâmicos e de diferenciação |
| Tamanho do rodapé | 512 bytes; uma segunda cópia é colocada no byte 0 em arquivos VHD dinâmicos e de diferenciação, onde serve como cabeçalho do arquivo |
| Tamanho máximo do disco virtual | ~2040 GB (~2 TB), limitado por campos de geometria de 32 bits no rodapé do VHD |
| Tipo MIME | application/x-vhd |
| Tipos de imagem de disco suportados | Fixo (pré-alocado), Dinâmico (esparso, cresce na gravação), Diferenciação (disco filho registrando deltas contra um pai), Pass-through (referência a uma unidade física) |
| Tamanho do bloco dinâmico | Padrão de 2 MB por bloco; cada bloco possui um mapa de bits de setor associado que rastreia quais setores de 512 bytes dentro dele foram gravados |
| Ordem dos bytes do rodapé | Big-endian (ordem de bytes de rede) para todos os campos de rodapé de vários bytes, incluindo tamanho, geometria e carimbos de data/hora |
| Verificação de integridade | Soma de verificação CRC-32 incorporada tanto no rodapé de 512 bytes quanto no cabeçalho do disco dinâmico |
| Codificação da geometria do disco | Valores Cylinder-Head-Sector (CHS) armazenados no rodapé para inicialização compatível com BIOS |
| Montagem nativa do Windows | Montável no Windows 7 e posterior sem ferramentas de terceiros - via Gerenciamento de Disco, `diskpart attach vdisk` ou o cmdlet `Mount-DiskImage` do PowerShell |
| Formato sucessor | Substituído pelo `.vhdx`, que suporta discos virtuais de até 64 TB e adiciona registro de metadados (journaling) para resiliência contra falhas |
| Tamanho do setor emulado | 512 bytes (geometria de HDD tradicional), independentemente do tamanho do setor físico da unidade host |
| Entradas do localizador pai | VHDs de diferenciação armazenam até 8 entradas de localizador pai, suportando resolução de caminho flexível entre plataformas |
| Modelo de licença | Publicado sob a Open Specification Promise da Microsoft, permitindo a implementação livre de royalties por terceiros |
| Lançado | Connectix Virtual PC (early 2000s); Microsoft published the VHD spec under its Open Specification Promise in 2006 |
| Padrão aberto | Sim · livre de royalties |
| Especificação | learn.microsoft.com |