Abrir um ficheiro VMDK, VDI ou VHD num Mac

Uma máquina virtual guarda o disco todo dentro de um único ficheiro. Esse ficheiro pode abri-lo num Mac e tirar coisas de lá sem nunca arrancar a máquina.

O que é uma imagem de disco

Quando põe uma máquina virtual a trabalhar, o disco rígido dessa máquina é um único ficheiro vulgar que está no seu Mac. O sistema operativo dela, os programas dela e cada documento lá dentro cabem todos nesse único ficheiro.

Cada programa escreve esse ficheiro à sua maneira. O VMware usa VMDK, o VirtualBox usa VDI, o Hyper-V usa VHD e VHDX, e o QEMU e o UTM usam qcow2. Uma imagem em bruto, que normalmente acaba em .img, é uma cópia direta de um disco sem nada à volta.

Porque é que tirar um ficheiro de lá dá trabalho

O caminho do costume é arrancar a máquina virtual, esperar que fique pronta, procurar lá dentro o ficheiro e copiá-lo para fora. Isso obriga a que a máquina ainda funcione, e a que o programa que a põe a trabalhar ainda esteja instalado.

O Finder também não serve de nada aqui. Fazer duplo clique num VMDK não faz nada, porque o macOS não sabe o que está lá dentro.

Como a Lukotta o abre

A Lukotta lê a imagem diretamente. Descobre em que formato está o ficheiro, encontra lá dentro o disco, e abre-o no pequeno sistema Linux que põe a trabalhar em segundo plano. O que está lá dentro aparece então no Finder como um disco vulgar.

A máquina virtual fica desligada. O VMware e o VirtualBox não precisam de estar instalados, e abrir o ficheiro não o altera.

Que ficheiros a Lukotta abre

  • qcow2, do QEMU e do UTM.
  • VMDK, do VMware.
  • VDI, do VirtualBox.
  • VHD e VHDX, do Hyper-V.
  • Imagens em bruto, que normalmente acabam em .img.

Abrir uma

  1. Escolha «Ficheiro» e depois «Abrir imagem de disco», e procure o ficheiro.
  2. Se o disco lá dentro estiver encriptado, escreva a palavra-passe ou a frase-passe.
  3. O conteúdo aparece no Finder, em Locais.

Um ficheiro guarda muitas vezes vários discos

Uma imagem de disco normalmente contém mais do que uma partição: uma pequena de arranque, a principal onde está tudo, e por vezes uma de recuperação. A Lukotta mostra-as na lista e abre aquela de que precisar, do mesmo modo que escolheria um disco.

Copiar ficheiros para dentro de uma imagem

O qcow2 é escrito da maneira vulgar e pode escrever-se-lhe sem risco.

Em VMDK, VDI e VHD pode escrever-se, mas o suporte para escrita é recente e não está em uso há tempo suficiente para lhe confiar aquilo que não pode dar-se ao luxo de perder. Copie o ficheiro e trabalhe sobre a cópia, ou abra-o apenas para leitura e tire de lá os ficheiros.

O VHDX abre apenas para leitura, e o mesmo acontece com o tipo de VMDK que vem dentro de um ficheiro OVA. Esse tipo é escrito de uma assentada e depois não pode ser alterado no próprio ficheiro.

Ficheiros que não abrem

Uma imagem só abre se estiver completa por si só.

Uma cadeia de instantâneos do VMware reparte o estado atual da máquina por um ficheiro original e uma série de ficheiros mais pequenos que registam o que mudou depois dele. Um disco repartido divide uma imagem em muitos pedaços. Um disco de diferenças do Hyper-V guarda só as diferenças em relação a outro ficheiro.

Em qualquer destes casos o ficheiro que tem faz parte de um conjunto, e a Lukotta abre um ficheiro de cada vez.

Transferir Lukotta

Transferir e usar é gratuito.

Transferir O código no GitHub

brew install --cask clementrahula/tap/lukotta

Versão 1.22.21 · Apple Silicon · macOS 15 Sequoia ou posterior