Monte um VHD no Mac OS X

12

É possível (como) montar um arquivo VHD criado pelo Windows 7 no OS X?

Eu encontrei algumas informações sobre como fazer isso no linux. Existe um fuse fs "vdfuse" que usa bibliotecas virtuais para montar sistemas de arquivos suportados pelo virtualbox. No entanto, eu não consegui compilar o pacote no osx porque quase todos os cabeçalhos estão faltando e duvido que funcionaria de qualquer maneira ...

EDIT # 2: Ok, eu estou suja e finalmente compilada vdfuse ( link ) no osx. Como ponto de partida, usei o macfuse ( link ) e observei os sistemas de arquivos de exemplo.

Isso me levou ao seguinte script de criação

infile=vdfuse.c
outfile=vdfuse
incdir="your/path/to/vbox/headers"
INSTALL_DIR="/Applications/VirtualBox.app/Contents/MacOS"
CFLAGS="-pipe"

gcc -arch i386 "${infile}" \
         "${INSTALL_DIR}"/VBoxDD.dylib \
         "${INSTALL_DIR}"/VBoxDDU.dylib \
         "${INSTALL_DIR}"/VBoxVMM.dylib \
         "${INSTALL_DIR}"/VBoxRT.dylib \
         "${INSTALL_DIR}"/VBoxDD2.dylib \
         "${INSTALL_DIR}"/VBoxREM.dylib \
        -o "${outfile}" \
        -I"${incdir}" -I"/usr/local/include/fuse" \
        -Wl,-rpath,"${INSTALL_DIR}"  \
        -lfuse_ino64  \
        -Wall ${CFLAGS}

Na verdade, você não precisa compilar o VirtualBox em sua máquina, basta instalar uma versão recente do VirtualBox.

Agora eu posso montar parcialmente o vhds. As partições separadas aparecem como arquivos de bloco Partition1, Partition2, ... no meu ponto de montagem. No entanto, o Mac OS X não inclui um sistema de arquivos de loopback e o loopback fs do macfuse não funciona com arquivos de bloco, portanto, precisamos de um loopback fs para montar os blockfiles como partições reais.

    
por jan bernlöhr 25.08.2010 / 12:14

5 respostas

6

Finalmente consegui trabalhar. Então, em resumo, aqui estão os passos para executar

  1. Instalar o macfuse
  2. Instalar caixa virtual
  3. Compile vdfuse como mencionado na pergunta
  4. Monte o disco vhd

    sudo ./vdfuse -tVHD -w -f / caminho / para / VHD / caminho / para / ponto de montagem

  5. Anexe os arquivos de bloco da partição virtual

    hdiutil attach -imagekey diskimage-class = CRawDiskImage -nomount / Caminho / Para / Ponto de Montagem / PartiçãoN

  6. Monte a partição virtual

    monte -t YourFS / dev / diskK / Caminho / Para / ParitionMountPoint

por 26.08.2010 / 22:20
1

O FUSE funciona no MacOSX, mas você precisa dos cabeçalhos.

    
por 25.08.2010 / 14:47
1

Se você não encontrar outra solução, poderá usar o VirtualBox (ou outra ferramenta semelhante que suporte arquivos VHD) para executar um sistema virtual que usa essa imagem de disco virtual e acessar ou copiar os arquivos necessários usando o Samba ou sftp ou tal.

    
por 25.08.2010 / 18:45
1

Isso funcionou para mim no Leão da Montanha. Nenhuma instalação ou compilação necessária:

hdiutil attach -readonly -imagekey diskimage-class=CRawDiskImage <Path to .vhd file>
    
por 25.01.2013 / 09:28
0

Basta renomear seu arquivo VHD para IMG. Clique duas vezes nele para montá-lo. Isso é tudo.

Lembre-se de que o Mac OS X fornece acesso de leitura somente para o volume NTFS, portanto, se o seu VHD tiver um volume NTFS, você só terá acesso de leitura.

    
por 12.01.2012 / 00:21