web-dev-qa-db-fra.com

Problème avec le montage VHD

J'ai suivi l'article entier Monter un VHD ou VDI sous Linux avec vdfuse et tout s'est bien passé sauf la dernière étape. Quand je tape vdfuse -r "/media/mike/DATA/VM-VHD/SGOS.vhd" ~/Test (Je veux juste copier un fichier de ce VHD), en retour j'obtiens ceci:

ERROR: a single mountpoint must be specified

DESCRIPTION: This Fuse module uses the VirtualBox access library to open a 
VirtualBox supported VD image file and mount it as a Fuse file system.  The
mount point contains a flat directory containing the files EntireDisk,
Partition1 .. PartitionN.  These can then be loop mounted to access the
underlying file systems
Version: 0.83

USAGE: vdfuse [options] -f image-file mountpoint
    -h  help
    -r  readonly
    -t  specify type (VDI, VMDK, VHD, or raw; default: auto)
    -f  VDimage file
    -s  Snapshot file(s) to load on top of the image file
    -a  allow all users to read disk
    -w  allow all users to read and write to disk
    -g  run in foreground
    -v  verbose
    -d  debug

NOTE: you must add the line "user_allow_other" (without quotes)
to /etc/Fuse.confand set proper permissions on /etc/Fuse.conf
for this to work.  

Je suis sûr que j'ai user_allow_other dans le fichier de configuration et les autorisations sont définies correctement. Que devrait être ce "point de montage"?

1
PKM

Vous manquez le -f option. Il semble également que vdfuse doive être informé de la nature du type du fichier. La commande doit être:

vdfuse -r -t VHD -f "/media/mike/DATA/VM-VHD/SGOS.vhd" ~/Test 

Le -f spécifie le fichier que vous montez. Le -t signifie quel type, puisque vous utilisez VHD, c'est ce qui est spécifié.

Assurez-vous également que vous décommentez la ligne pour "user_allow_other" dans /etc/Fuse.conf. Pour décommenter, collez simplement la ligne ci-dessous dans un terminal:

Sudo sed -i 's/#user_allow_other/user_allow_other/' /etc/Fuse.conf

les # est utilisé pour commenter une ligne dans un fichier et la ligne sed ci-dessus supprime le # à partir de cette ligne.

Dans mon exemple ci-dessous, je montre étape par étape comment je peux accéder aux fichiers contenus dans ma machine virtuelle:

terrance@terrance-Linux:~$ vdfuse -r -t VDI -f "/home/terrance/VirtualBox VMs/Kubuntu 16.04/Kubuntu 16.04.vdi" ~/Test
terrance@terrance-Linux:~$ cd Test
terrance@terrance-Linux:~/Test$ ls -al
total 41939973
dr-xr-x---  1 terrance terrance          0 Jun  9 14:10 .
drwxr-xr-x 61 terrance terrance        4096 Jun 10 16:11 ..
-r--------  1 terrance terrance 21474836480 Jun  9 14:10 EntireDisk
-r--------  1 terrance terrance 17178820608 Jun  9 14:10 Partition1
-r--------  1 terrance terrance  4292870144 Jun  9 14:10 Partition5
terrance@terrance-Linux:~/Test$ Sudo mount -o loop Partition1 /mnt
terrance@terrance-Linux:~/Test$ ls /mnt
bin   dev  home        lib    lost+found  mnt  proc  run   srv  tmp  var
boot  etc  initrd.img  lib64  media       opt  root  sbin  sys  usr  vmlinuz

J'espère que cela t'aides!

3
Terrance