Comment monter un fichier .vhd?

11

J'utilise 13.04 Raring amd64 et j'ai besoin de monter un fichier .vhd sur mon ubuntu . J'ai googlé à ce sujet et trouvé que le package virtualbox-fuse est la réponse.

Mais le package a été supprimé du référentiel apt. Existe-t-il un moyen d'installer le package avec 13.04? ou existe-t-il une alternative à virtualbox-fuse?

Younggun Kim
la source
Je viens de faire la même chose, et mes résultats de recherche se sont terminés en ce que vous pouvez convertir le vdi en image brute
zeitue
huer. ce n'est pas une bonne solution lorsqu'un fichier vhd ou vdi peut être trop volumineux pour en faire un doublon en tant qu'image brute
Joshua Robison
1
Donc, si j'installe virtualbox, je peux utiliser la commande vdfuse?

Réponses:

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

Notez que vous devrez peut-être des options supplémentaires mountpour définir les autorisations à votre guise.

Kevin Smyth
la source
Cela fonctionne, vous pouvez télécharger vdfuse depuis vdfuse.sourceforge.net par exemple dans mon cas, la dernière ligne était: sudo mount -o -loop / tmp / win / Partition1 / mnt / Windows
MaxV
4

En utilisant Ubuntu 15.10 (fonctionne également sur Ubuntu 16.04), vous pouvez installer vhdimount et tsk (The Sleuth Kit) via:

sudo apt-get install libvhdi-utils sleuthkit

Ensuite, vous pouvez procéder comme suit:

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

Ensuite, vous devrez calculer le décalage par rapport à la sortie de mmlsceci:

echo offset*512 | bc

Et pour finir:

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

Remplacez offset-foundpar votre décalage. Vous devrez peut-être également modifier le type fs en fonction du type fs inclus dans votre fichier vhd.

J'ai fait un script donc je n'ai pas besoin de taper ça à chaque fois;)

Jiab77
la source
Cela le monte en lecture seule. Que puis-je faire pour le monter avec des autorisations d'écriture? L'omission de rofor mountstill entraîne la lecture seule.
Mads Skjern
Changez ropar rwet cela devrait fonctionner en lecture / écriture au lieu de lecture / seulement. vhdimountcorrespond à /mnt/vhd/vhdi1en mode lecture / écriture mais la commande suivante utilisant mountest en lecture / uniquement si vous ne spécifiez pas rwen option
Jiab77
1
Dans Ubuntu 16.04: Au lieu d'utiliser mmls ou fdisk pour connaître le secteur de départ de la partition, vous pouvez également utiliser kpartxpour créer un fichier de périphérique virtuel que vous pouvez monter sans offsetoption:sudo kpartx -av /mnt/vhd/vhdi1; sudo mount -vt ntfs-3g -o ro,noload /dev/mapper/loop0p1 /media/${USER}/your/folder
slowhand
2

En recherchant l'espace Launchpad d'Ubuntu, ce qui suit apparaît:

virtualbox (Le binaire 'virtualbox-fuse' fait partie du paquet virtualbox)

Cela signifie qu'ils ont fusionné virtualbox-fusedans le package principal et que vous avez juste besoin d'installer virtualbox à partir du référentiel (c'est ce qu'on appelait auparavant virtualbox-ose, donc si vous avez besoin de la version "complète" sous licence PUEL, cela ne vous aidera pas.)

Personne d'import
la source
2

Je préférerais ne pas compter sur une machine virtuelle pour accéder aux données sur une image vhd. Depuis virtualbox-fuseet vdfusen'est plus disponible dans Ubuntu ( pas depuis précis (12.04) ) et Debian ( pas depuis Wheezy (7) ). J'ai pu monter la partition NTFS d'un VHD personnel en utilisant blk-tap.

Insérez le pid approprié tap-ctl spawn, bien sûr. Votre schéma de partitionnement peut être différent du mien, alors ajustez-le en conséquence.

# 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

Ces étapes proviennent du wiki du projet xen .

Mon périphérique de blocage a été créé à /dev/xen/blktap-2/blktap0. Pour une raison quelconque, kpartx -ane mappait pas les partitions (je cherchais / dev / xen / blktap-2 / tapdev0p1), mais j'ai trouvé qu'il /dev/disk/by-id/dm-name-tapdev0p1avait été lié au périphérique de bloc pour la partition.

ebpa
la source
1

Voici ce que j'ai fait pour ça:

Il semble qu'il n'y ait pas de chemin à parcourir sans heurts. Je viens de télécharger le virtualbox-fusefichier du paquet deb depuis le tableau de bord. ( ici )

J'ai choisi 4.1.18 parce que ma vbox est un peu plus ancienne mais je suppose que cela fonctionnerait avec la version récente.

Installez le package avec dpkg -i. Vous devrez peut-être spécifier l' --force-dependsoption d'installation.

Younggun Kim
la source
9
Alors quoi? Comment montez-vous un disque dur virtuel après avoir installé cela?
Enkouyami
1

J'ai monté avec succès un fichier .vhdx que j'ai créé avec des fichiers de sauvegarde Windows 10 sur mon système d'exploitation Ubuntu 16.04 à l'aide d'un programme appelé guestmount

guestmountpage de manuel sur libguestfs.org .

Notez que les autorisations devront être ajustées ou que le montage sera accessible après sudo -iou sudo -saura été exécuté.

Spakmad
la source
-1

Vous pouvez utiliser VirtualBox.

VirtualBox est une solution de virtualisation x86 gratuite permettant à une large gamme de systèmes d'exploitation x86 tels que Windows, DOS, BSD ou Linux de fonctionner sur un système Linux.

Pour installer VirtualBox sous Ubuntu 13.04, appuyez simplement sur Ctrl+ Alt+ Tsur votre clavier pour ouvrir Terminal. Lorsqu'il s'ouvre, exécutez la ou les commandes ci-dessous:

sudo apt-get install virtualbox

Une fois l'installation terminée, allez-y et créez une nouvelle machine virtuelle

entrez la description de l'image ici

Tapez le nom. Assurez-vous de choisir le type et la version corrects du système d'exploitation qui se trouve dans le disque dur virtuel.

entrez la description de l'image ici

Choisissez d'utiliser un fichier de disque dur virtuel existant, recherchez votre fichier VHD, puis cliquez sur créer.

entrez la description de l'image ici

Mitch
la source
2
Cela vous permettra d'exécuter le système d'exploitation qui se trouve sur le disque dur virtuel, mais cela ne vous permet pas de monter l'image sous Linux.
IQAndreas