Como monto o arquivo .vhd?


11

Estou usando o 13.04 Raring amd64 e preciso montar um arquivo .vhd no meu ubuntu . Pesquisei no Google e descobri que o pacote virtualbox-fuse é a resposta.

Mas o pacote foi excluído do repositório apt. Existe alguma maneira de instalar o pacote w / 13.04? ou existe alguma alternativa ao virtualbox-fuse?


Eu apenas fiz a mesma coisa, e meus resultados de pesquisa terminou em que você poderia converter o VDI para uma imagem crua
zeitue

vaia. que não é uma boa solução quando um vhd ou arquivo VDI pode ser demasiado grande para fazer uma duplicata como uma imagem crua
Joshua Robison

1
Então, se eu instalar o virtualbox, posso usar o comando vdfuse?

Respostas:


4
sudo apt-get install virtualbox-fuse
sudo mkdir /mnt/vhd-disk/
sudo vdfuse -f disk.vhd /mnt/vhd-disk/
sudo mount -o loop  /mnt/vhd-disk/Partition1 /mnt/partition1

Observe que você pode precisar de opções adicionais mountpara definir permissões ao seu gosto.


Funciona, você pode baixar o vdfuse do vdfuse.sourceforge.net, por exemplo, no meu caso, a última linha foi: sudo mount -o -loop / tmp / win / Partition1 / mnt / Windows
MaxV

4

Usando o Ubuntu 15.10 (funciona também no Ubuntu 16.04), você pode instalar o vhdimount e o tsk (The Sleuth Kit) via:

sudo apt-get install libvhdi-utils sleuthkit

Então você pode proceder da seguinte maneira:

sudo mkdir -v /mnt/vhd
sudo vhdimount -X allow_root /path/to/file.vhd /mnt/vhd/
sudo mmls -aB /mnt/vhd/vhdi1

Em seguida, você terá que calcular o deslocamento a partir da saída mmlsdesta forma:

echo offset*512 | bc

E para finalizar:

sudo mkdir -v /media/${USER}/your/folder
sudo mount -vt ntfs-3g -o ro,noload,offset=offset-found /mnt/vhd/vhdi1 /media/${USER}/your/folder

Substitua offset-foundpelo seu deslocamento. Também pode ser necessário alterar o tipo fs de acordo com o tipo fs incluído no seu arquivo vhd.

Eu criei um script para não precisar digitar isso toda vez;)


Isso o monta como somente leitura. O que posso fazer para montá-lo com permissões de gravação? A omissão de ropara mountainda resulta em somente leitura.
Mads Skjern

Alterar ropor rwe que deve executar em leitura / gravação em vez de somente leitura /. vhdimountmapas para /mnt/vhd/vhdi1em modo de leitura / gravação, mas o próximo comando usando mountestá em leitura / somente se você não especificar rwcomo uma opção
Jiab77

1
No Ubuntu 16.04: Em vez de usar ELCM ou fdisk para saber mais sobre o setor inicial da partição, você também pode usar kpartxpara criar um arquivo de dispositivo virtual que você pode montar sem uma offsetopção:sudo kpartx -av /mnt/vhd/vhdi1; sudo mount -vt ntfs-3g -o ro,noload /dev/mapper/loop0p1 /media/${USER}/your/folder
Slowhand

2

Pesquisando no espaço Launchpad do Ubuntu, a seguir, surge:

virtualbox (O binário 'virtualbox-fuse' faz parte do pacote virtualbox)

Isso significa que eles foram mesclados virtualbox-fuseno pacote principal e você só precisa instalar o virtualbox a partir do repositório (como costumava ser chamado virtualbox-ose, portanto, se você precisar da versão "completa" licenciada pela PUEL, isso não ajudará.)


2

Eu preferiria não confiar em uma VM para acessar dados em uma imagem vhd. Desde virtualbox-fusee vdfusenão está mais disponível no Ubuntu ( não desde preciso (12.04) ) e Debian ( desde Wheezy (7) ). Consegui montar a partição NTFS de um VHD pessoal usando blk-tap.

Insira o pid apropriado de tap-ctl spawn, é claro. Seu esquema de particionamento pode ser diferente do meu, portanto, ajuste-o de acordo.

# apt-get install blktap-utils
# modprobe blktap
# tap-ctl allocate
/dev/xen/blktap-2/tapdev0
# tap-ctl spawn
tapdisk spawned with pid 1234
# tap-ctl attach -m 0 -p 1234
# tap-ctl open -m 0 -p 1234 -a vhd:/full/path/to/image.vhd
# mount /dev/disk/by-id/dm-name-tapdev0p1
# ls -lh do/your/thing with/all/your/files.txt 
# tap-ctl close -m 0 -p 1234
# tap-ctl detach -m 0 -p 1234
# tap-ctl free -m 0

Essas etapas vieram do wiki do projeto xen .

Meu dispositivo de bloqueio foi criado em /dev/xen/blktap-2/blktap0. Por alguma razão, kpartx -anão mapearia partições (eu estava procurando por / dev / xen / blktap-2 / tapdev0p1), mas achei que /dev/disk/by-id/dm-name-tapdev0p1estava vinculado ao dispositivo de bloco da partição.


1

Aqui está o que eu fiz para isso:

Parece que não há um caminho tranquilo. Acabei de baixar o virtualbox-fusearquivo do pacote deb da barra de ativação. ( aqui )

Eu escolhi o 4.1.18 porque meu vbox é um pouco mais antigo, mas acho que funcionaria com a versão recente.

Instale o pacote com dpkg -i. Pode ser necessário especificar a --force-dependsopção para instalação.


9
Então o que? Como você monta um VHD após a instalação?
Enkouyami

1

Montei com sucesso um arquivo .vhdx que criei com os arquivos de backup do Windows 10 no meu sistema operacional Ubuntu 16.04 usando um programa chamado guestmount

guestmountpágina de manual em libguestfs.org .

Observe que as permissões precisarão ser ajustadas ou montadas acessadas após sudo -iou sudo -sforam executadas.


-1

Você pode usar o VirtualBox.

O VirtualBox é uma solução de virtualização x86 gratuita que permite que uma ampla gama de sistemas operacionais x86, como Windows, DOS, BSD ou Linux, seja executada em um sistema Linux.

Para instalar o VirtualBox No Ubuntu 13.04, pressione Ctrl+ Alt+ Tno teclado para abrir o Terminal. Quando abrir, execute o (s) comando (s) abaixo:

sudo apt-get install virtualbox

Depois de concluir a instalação, vá em frente e crie uma nova máquina virtual

insira a descrição da imagem aqui

Digite o nome. Certifique-se de escolher o tipo e a versão corretos do sistema operacional que está no VHD.

insira a descrição da imagem aqui

Escolha usar um arquivo de disco rígido virtual existente, procure o arquivo VHD e clique em criar.

insira a descrição da imagem aqui


2
Isso permitirá que você execute o sistema operacional que está no VHD, mas não permite montar a imagem no Linux.
IQAndreas
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.