Maison >Tutoriel système >Linux >Comment monter un VHD et d'autres fichiers de disque virtuel sous Linux
1. Disque virtuel au format RAW
Vous pouvez directement monter des fichiers image de disque virtuel au format brut sous Linux.
Par exemple, ici, nous utilisons d'abord la commande dd pour créer un fichier, puis le formatons au format ext4 (une seule partition), puis le montons dans le répertoire /mnt.
Le fichier image disque raw.img ci-dessous n'a qu'une seule partition, donc offset= n'est pas utilisé pour spécifier le décalage. S'il existe plusieurs partitions, elles peuvent être montées en spécifiant des décalages. Pour des informations spécifiques, veuillez vous référer aux informations sur les paramètres pertinents de la commande mount.
> dd if=/dev/zero of=raw.img bs=1M count=512
Enregistré 512+0 lectures
Enregistré 512+0 écritures
536870912 octets (537 Mo, 512 Mo) copiés, 0,207045 s, 2,6 Go/s
/home/o [o@o-pc] [10:29]
> mkfs.ext4 -q raw.img
/home/o [o@o-pc] [10:30]
> sudo mount -o loop raw.img /mnt
/home/o [o@o-pc] [10:30]
>df -h
2. Montage de fichiers disque VHD/VHDX
Linux ne peut pas prendre directement en charge le montage de fichiers d'image disque VHD. Il peut être monté via des outils tels que vmware-mount de VMware. VMware ne fournit pas cet outil directement, mais il est disponible dans VMware Player et VMware Workstation. Mais ce n’est pas la bonne voie à suivre ici.
Qemu-nbd est utilisé ici pour monter le fichier image disque.
a) Installez qemu
Tout d'abord, vous devez installer qemu-kvm. J'utilise Fedora 25 ici. La commande d'installation est la suivante
.sudo dnf installer qemu-kvm
Si vous utilisez Debian/ubuntu, etc., vous pouvez utiliser sudo apt-get install qemu-kvm pour l'installer.
archlinux peut être installé en utilisant sudo pacman -S qemu.
b) Charger le pilote nbd
NBD (Network Block Device) est l'abréviation de Network Block Device. Ce module peut utiliser l'espace disque d'un hôte distant (différent du montage de NFS) comme périphérique de bloc local.
NBD est un module du noyau. La plupart des distributions Linux l'incluent déjà. Il n'est pas nécessaire de l'installer ici.
Utilisez modprobe pour charger le pilote nbd
/media/o/data [o@o-pc] [11:04]
> sudo modprobe nbd max_part=8
Une fois le chargement terminé, vous pouvez utiliser la commande modinfo pour afficher les informations sur le module
/media/o/data [o@o-pc] [11:05]
>modinfo nbd
nom du fichier : /lib/modules/4.9.6-200.fc25.x86_64/kernel/drivers/block/nbd.ko.xz
licence : GPL
description : Périphérique de blocage de réseau
dépend :
intree : Y
vermagic : 4.9.6-200.fc25.x86_64 SMP mod_unload
signature : PKCS#7
signataire :
sig_key :
sig_hashalgo : md4
parm : nbds_max : nombre de périphériques de blocage réseau à initialiser (par défaut : 16) (int)
parm : max_part : nombre de partitions par périphérique (par défaut : 0) (int)
Les informations ci-dessus indiquent que le nombre de périphériques de bloc réseau initialisés est de 16, ce qui indique qu'il crée 16 périphériques nbd sous /dev/.
/media/o/data [o@o-pc] [11:05]
>ls /dev/nbd*
/dev/nbd0 /dev/nbd0p1 /dev/nbd1 /dev/nbd10 /dev/nbd11 /dev/nbd12 /dev/nbd13 /dev/nbd14 /dev/nbd15 /dev/nbd2 /dev/nbd3 /dev/nbd4 / dev/nbd5 /dev/nbd6 /dev/nbd7 /dev/nbd8 /dev/nbd9
c) Connectez le fichier vhdx à l'appareil nbd
Qemu-nbd est utilisé ici pour se connecter (utilisez le paramètre -c pour vous connecter, utilisez le paramètre -d pour vous déconnecter)
/media/o/data [o@o-pc] [11:05]
> sudo qemu-nbd -c /dev/nbd0 VS2017RC-offline.vhdx
Après la connexion, utilisez fdisk pour vérifier les informations sur l'appareil.
/media/o/data [o@o-pc] [11:05]
> sudo fdisk -l /dev/nbd0
Disque /dev/nbd0 : 100 Gio, 107374182400 octets, 209715200 secteurs
Unité : secteur / 1 * 512 = 512 octets
Taille du secteur (logique/physique) : 512 octets / 512 octets
Taille d'E/S (minimum/optimal) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant du disque : 0xa373e501
En fait, le disque n'a qu'une seule partition, le format de partition est exFAT et la taille du disque augmente de manière dynamique.
d) Monter la partition
Utilisez simplement la commande mount pour monter nbd0p1
/media/o/data [o@o-pc] [11:36]
> sudo mount -t exfat -o rw /dev/nbd0p1 /mnt
Mot de passe pour[sudo] o :
FUSE exfat 1.0.1
/media/o/data [o@o-pc] [12:05]
>ls /mnt/
'$RECYCLE.BIN' 'Informations sur le volume du système' vs2017rc Instructions d'installation.txt
Installer le support exFAT
La partition étant au format exFAT, elle ne peut pas être montée directement.
Installez d’abord fuse-exfat et exfat-utils.
Parlons brièvement du processus d'installation spécifique
Téléchargez d’abord deux packages sources RPM.
wget http://download1.rpmfusion.org/free/el/updates/6/SRPMS/exfat-utils-1.0.1-2.el6.src.rpm
wget http://download1.rpmfusion.org/free/el/updates/6/SRPMS/exfat-utils-1.0.1-2.el6.src.rpm
Ensuite, installez fuse-devel et rpmbuild, et décompressez le package src.rpm.
sudo dnf install fuse-devel rpmbuild
sudo dnf install scons #Obligatoire pour construire exfat-utils
rpm -ivh exfat-utils-1.0.1-2.el6.src.rpm exfat-utils-1.0.1-2.el6.src.rpm
Une fois la décompression terminée, vous pouvez voir le répertoire rpmbuild dans le répertoire personnel de l'utilisateur actuel et entrer le répertoire SPECS sous ce répertoire.
Utilisez ensuite rpmbuild pour créer le package rpm.
rpmbuild -ba exfat-utils.spec
rpmbuild -ba fuse-exfat.spec
Une fois la construction terminée, entrez dans le répertoire rpmbuild/RPMS/x86_64 (x86_64 est ici lié à l'architecture de votre système) et installez le package rpm généré.
/home/o/rpmbuild/RPMS/x86_64 [o@o-pc] [12:04]
> sudo rpm -ivh exfat-utils-1.0.1-2.fc25.x86_64.rpm fuse-exfat-1.0.1-1.fc25.x86_64.rpm
Préparation... ####################### ###### [100%]
Mise à niveau/installation...
1:fuse-exfat-1.0.1-1.fc25 ]
2:exfat-utils-1.0.1-2.fc25 ############################### [100% ]
Sur Ubuntu, vous pouvez directement utiliser apt pour installer sudo apt install exfat-utils exfat-fuse
3. Montage d'autres fichiers de disque virtuel
Je ne dirai plus rien d'autre. C'est la même chose que le montage VHD ci-dessus, à condition qu'il s'agisse d'un format d'image disque pris en charge.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!