Come aprire i file VMDK in VMware ed estrarre i dati
Capire come aprire i file VMDK ed estrarne il contenuto è utile quando si verifica un problema con una VM. Potresti scoprire che le VM non possono essere avviate dopo problemi con l’installazione di applicazioni, aggiornamenti del sistema operativo, attacchi di malware, cancellazione accidentale di dati, ecc. Quando ciò accade, si perde l’accesso al disco virtuale della VM.Fortunatamente, è possibile aprire i file VMDK con WinZip, Linux Reader o VMware Workstation Player. Continua a leggere per scoprire i metodi per ripristinare il contenuto dei file del disco virtuale VMDK. Tieni presente che questi metodi sono applicabili solo se il disco virtuale non è crittografato o danneggiato.
Che cos’è un file VMDK?
VMDK è un formato di file disco per VM, sviluppato da VMware. Questo formato di disco virtuale ha l’estensione .vmdk estensione per i file ed è utilizzata da VMware e VirtualBox VM. Tuttavia, le VM residenti sui server ESXi utilizzano un formato leggermente diverso di vmdk dischi virtuali. Nell’archivio dati ESXi, il descrittore del disco virtuale e l’estensione del disco virtuale che contiene i dati grezzi del disco virtuale sono due file separati.Il modello del nome del descrittore del disco virtuale è nome_disco.vmdk e il modello del nome dell’estensione del disco virtuale che contiene tutti i dati grezzi è nome_disco-flat.vmdkPer quanto riguarda i dischi virtuali in formato VMware Workstation, essi sono rappresentati come un unico nome del disco.vmdk file (monolitico sparse), che è un file di dati di estensione contenente un descrittore di disco virtuale incorporato. Un descrittore di disco virtuale definisce la struttura del disco virtuale, la geometria del disco virtuale, la versione dell’hardware virtuale e gli ID.
File descrittore del disco virtuale
Un descrittore di disco virtuale è rappresentato come testo normale. Sul lato sinistro della schermata sottostante, è possibile vedere un descrittore di disco virtuale in formato ESXi (un vmdk File che può essere aperto con qualsiasi editor di testo). Sul lato destro dello screenshot è possibile vedere i dati del descrittore del disco virtuale incorporato in un singolo vmdk file nel formato VMware Workstation. Il vmdk Il file può essere aperto con un editor HEX.
Come puoi vedere, i dati del descrittore del disco incorporato vengono scritti nel monolitico vmdk file del formato di estación de trabajo dall’indirizzo 0x200, che è il numero del primo byte. Se si trasforma il valore 200 HEX in formato binario e decimale, si ottiene:200 HEX = 1000000000 Binario = 512 DecimaleCiò significa che se si desidera estrarre il descrittore incorporato dal vmdk file, è necessario estrarre una porzione di dati a partire dal byte 512. Per ulteriori informazioni sui file descrittori dei dischi virtuali VMware e per imparare a estrarre, modificare e importare un descrittore di disco virtuale incorporato, consultare il post del blog sulla conversione. VM VMware a VM Hyper-V.
File di dati del disco virtuale
Nello screenshot qui sotto, due file di disco virtuale sono aperti in un editor HEX. Lo stesso sistema operativo è installato su entrambi i dischi virtuali (la prima partizione usata per installare il sistema operativo è stata creata e formattata con un’utilità disco integrata in Windows). Sul lato sinistro dello screenshot un –appartamento.vmdk viene visualizzato il file (formato ESXi). I dati grezzi vengono scritti a partire da 0x00000000 su questo disco virtuale –appartamento.vmdk file. Sul lato destro dello screenshot è visualizzato il disco virtuale del formato di stazione di lavoro e gli stessi dati sono scritti da 0x00150000 (numero di byte 5376), che non è l’inizio del vmdk file.
Ora che hai familiarizzato con la teoria, è il momento di passare alla parte pratica. Prima di procedere, ti consigliamo di eseguire un backup dei tuoi dati per prevenire eventuali danni al disco virtuale. Esegui le operazioni sui tuoi dischi sotto la tua responsabilità e a tuo rischio.
2 metodi per aprire i file VMDK avviando una VM
Per aprire i file VMDK avviando le VM esistenti, è necessario un hypervisor come VMware ESXi, VMware Workstation, VMware Player o Oracle VirtualBox da installare sul tuo computer fisico. Puoi optare per il metodo tradizionale utilizzando un DVD live o montando il file VMDK come disco virtuale.
Metodo 1: Utilizzo di un DVD Live anche se il sistema operativo sulla VM è guasto
L’idea alla base di questo metodo è che si dispone di una VM e si può avviare da un disco DVD. L’immagine disco ISO può essere utilizzata come disco DVD inserito nell’unità DVD virtuale della VM. Dopo aver avviato il sistema operativo da un supporto DVD, è possibile montare le partizioni del disco virtuale e copiare i file dal disco virtuale su un disco rigido USB collegato alla VM o alla macchina host, o a qualsiasi altra macchina tramite la rete. Alcune distribuzioni Live DVD montano automaticamente i dischi (partizioni).Si tratta di un metodo tradizionale perché il principio è simile alla copia di file da dischi fisici di computer fisici quando il sistema operativo installato non può avviarsi. Questo metodo può essere utilizzato per estrarre dati da dischi VMDK di VM in esecuzione su VMware ESXi e VMware Player/Estación de trabajo.Tenere presente che il sistema operativo avviato da Live DVD deve riconoscere i file system delle partizioni del disco virtuale di cui si desidera accedere ai file. Ad esempio, Windows non è in grado di funzionare con i file system Linux come EXT3, EXT4, ReiserFS, ecc. per impostazione predefinita. L’utilizzo di strumenti aggiuntivi su Windows può aiutare a risolvere questo problema. A sua volta, il Linux moderno riconosce i file system Windows come NTFS e FAT32, ed è per questo che è possibile utilizzare dischi Live DVD basati su Linux per copiare i file memorizzati su dischi virtuali utilizzati dalla VM Windows che non è in grado di avviarsi.
Esempio: apertura dei file VMDK su ESXi
Consideriamo un esempio di applicazione di questo metodo: avete una VM con Windows Server 2016 su un Host ESXie il sistema operativo sulla VM non può avviarsi, ma è necessario recuperare i file registrati sul disco virtuale VMDK. Sul disco virtuale sono presenti due partizioni NTFS: la partizione di avvio del sistema e il disco C. In questo esempio viene utilizzata l’immagine ISO ufficiale di installazione di Ubuntu 18. Il supporto di installazione di Ubuntu può essere utilizzato come Live DVD.NOTA: Il flusso di lavoro per le versioni più recenti dei prodotti considerati in questo post del blog è lo stesso. È possibile utilizzare VMware Workstation 17, ESXi 8.0, Windows Server 2019, Ubuntu Linux 22.04, ecc. e applicare il principio di funzionamento spiegato in questo articolo.
- Caricare l’immagine ISO nell’archivio dati accessibile dall’host ESXi su cui risiede la VM.
- Apri VMware vSphere Client, vai su Host e cluster, seleziona la tua VM e fai clic su Modifica impostazioni.

- Nella finestra delle impostazioni della VM, vai su Unità CD/DVD opzioni. Selezionare il File ISO dell’archivio dati opzione se disponi del file ISO necessario nell’archivio dati accessibile dall’host ESXi. Quindi, per l’opzione CD/DVD Media, fai clic su Sfoglia e selezionare il file ISO appropriato nell’archivio dati. Il nome del file è ubuntu-18.04.1-desktop-amd64.iso in questo caso.

- Avvia la VM, esegui l’avvio dall’immagine ISO e seleziona Prova Ubuntu senza installare. Una volta che Ubuntu si è avviato dal supporto Live DVD, apri la console (Terminale).
- Ottieni i privilegi di root:
sudo -i - Elenca i dispositivi disco rigido disponibili:
ls -al /dev/sd*Ci sono due partizioni – /dev/sda1 e /dev/sda2
- Creare le directory da utilizzare come punti di montaggio per ciascuna partizione:
mkdir /mnt/win-disk1mkdir /mnt/win-disk2 - Montare le partizioni del disco virtuale nelle directory appropriate:
mount /dev/sda1 /mnt/win-disk1/mount /dev/sda2 /mnt/win-disk2/ - Quindi elenca i file e le directory delle partizioni montate:
ls -al /mnt/win-disk2/ls -al /mnt/win-disk1/
Come puoi vedere nella schermata sopra, la partizione montata su /mnt/win-disk2 è la partizione utilizzata come disco C: in Windows.
- Ora è possibile collegare un disco rigido USB (HDD) alla porta USB dell’host ESXi e connettere questo HDD alla VM con la funzione USB pass-through. In questo modo è possibile copiare i file necessari memorizzati nel file VMDK utilizzato come disco virtuale dalla VM. Un altro modo è utilizzare una condivisione SMB (CIFS) e copiare il contenuto del disco virtuale (ovvero il file VMDK) in un’altra ubicazione tramite la rete.
In questo esempio, spieghiamo come copiare i dati su una condivisione SMB. La condivisione SMB è stata creata sull’host il cui indirizzo IP è 192.168.17.125, il nome della quota è \192.168.17.125condivisione, e utente10 ha i permessi di scrittura per questa condivisione. Non dimenticare che Linux, a differenza di Windows, utilizza la barra diritta quando si connette alla condivisione.
Montiamo la condivisione SMB (CIFS) su Linux caricato dal DVD live. Per prima cosa, creiamo una directory da utilizzare come punto di montaggio.
mkdir /mnt/smb-share - Quindi monta la condivisione SMB (CIFS) su questa directory:
mount -t cifs -o user=user10 //192.168.17.125/share /mnt/smb-share - Inserisci la password dell’utente.
- Ora il sistema Linux è connesso alla condivisione SMB ed è possibile copiare i contenuti memorizzati nel file VMDK nella condivisione SMB tramite la rete.
Andiamo alla directory in cui è montata la condivisione SMB e copiamo il file bootmgr file dalla partizione montata del disco virtuale (il file VMDK sull’archivio dati ESXi) alla directory corrente (condivisione SMB).
cd /mnt/smb-sharecp /mnt/win-disk-2/bootmgr
- Quindi assicurati che i file necessari siano stati copiati e controlla il contenuto della tua condivisione SMB.
ls -al /mnt/smb-shareCome puoi vedere nella schermata sopra, il bootmgr Il file utilizzato in questo esempio è stato copiato correttamente. Ora conosci il primo metodo per copiare il contenuto del file VMDK in un’altra ubicazione quando un sistema operativo installato su una VM non è in grado di avviare il sistema. La logica di utilizzo di questo metodo su VMware Player o VMware Workstation è la stessa.
Metodo 2: montare un file VMDK come disco virtuale su una VM funzionante (ESXi/estación de trabajo/Player)
Questo metodo è simile al precedente, ma in questo caso il disco virtuale VMDK deve essere collegato a una VM esistente con un sistema operativo funzionante. È possibile collegare un file VMDK come disco virtuale aggiuntivo a una VM esistente in esecuzione su un Host VMware ESXi, VMware Workstation e VMware Player.Se si desidera aprire un file VMDK della VM ESXi su VMware Workstation o Player, è necessario copiare sia il disco virtuale che il suo descrittore (vmdk e –flat.vmdk file) su un disco fisico accessibile dal computer su cui è installato VMware Workstation o Player. Se snapshot sono state acquisite per la VM e successivamente sono state apportate modifiche ai dischi VM, non dimenticare di copiare i file VMDK dei dischi virtuali delta (differenziali) oltre ai file VMDK parent.Consideriamo due esempi:Esempio 1: Come aprire un disco virtuale VMDK di una VM utilizzando un’altra VM su un host ESXi (entrambe registrate su un host ESXi)Esempio 2: Come estrarre contenuti da un disco virtuale VMDK di una VM ESXi collegando il disco virtuale a una VM in formato VMware WorkstationTenere presente che il sistema operativo funzionante sulla prima VM (integra) deve essere compatibile con i file system utilizzati sul disco virtuale della seconda VM che ha un sistema operativo non avviabile (una VM il cui file VMDK si desidera collegare come disco virtuale aggiuntivo per estrarre i file).
Esempio 1: Montaggio di un disco virtuale su una VM in esecuzione su ESXi
- Spegnere la VM che utilizza un disco virtuale dal quale si desidera estrarre i file.
- Trova questo disco virtuale nell’archivio dati ESXi.
- Copiare il disco virtuale in un’altra directory sullo stesso archivio dati o su un altro archivio dati per evitare un errore causato dal blocco del disco virtuale. Nel nostro esempio, mostreremo come aprire un file VMDK il cui nome è Win-test2.vmdk (questo è un disco virtuale del Win-test2 VM Windows nel nostro caso). L’host ESXi è gestito da vCenter. Se si utilizza un host ESXi autonomo senza vCenter, è possibile utilizzare la logica spiegata in questo esempio: le differenze riguardano solo l’interfaccia utente.
- Apri VMware vSphere Client, vai su Storage, e selezionare l’archivio dati su cui si trova il file VMDK necessario. Selezionare il file VMDK e fare clic su Copia a.
NOTA: Se disponi di un host VMware ESXi autonomo e non hai vCenter, apri VMware Host Client inserendo l’indirizzo IP del tuo host VMware ESXi nel browser web, quindi vai su Storage > [Your datastore name] > Browser archivio dati, seleziona il tuo file VMDK e premi Copia. Seleziona la destinazione e premi il tasto Copia per confermare. Ricordare che i dischi virtuali vengono visualizzati come file VMDK nell’interfaccia web di VMware vSphere Client e VMware Host Client, ma un disco virtuale è costituito da –flat.vmdk e vmdk file (un disco virtuale e il relativo descrittore). È anche possibile aprire la console ESXi direttamente sul server o collegandosi tramite SSH per copiare i file.

- Nella finestra aperta, selezionare la destinazione. È possibile copiare il file VMDK in una ubicazione dello stesso archivio dati o in un altro archivio dati. Per questa dimostrazione, copiamo il file VMDK nella directory principale dello stesso archivio dati. Entrambi vmdk e –flat.vmdk In questo caso vengono copiati i file.

- Ora è necessario collegare il disco virtuale VMDK a un’altra VM funzionante il cui sistema operativo funzioni correttamente. In questo esempio, viene utilizzata una VM che esegue Windows Server 2016 sullo stesso host ESXi (il nome della VM è WinServer2016). È possibile collegare un disco virtuale a questa VM funzionante mentre la VM è in esecuzione. In vSphere Client, andare su Host e cluster, seleziona la VM sana, fai clic con il pulsante destro del mouse sulla VM e fai clic su Modifica impostazioni.

- Nella finestra che appare, premi Aggiungi nuovo dispositivo e seleziona Disco rigido esistente.

- Seleziona la copia del file VMDK che hai creato in precedenza. Nell’esempio attuale, la copia di Win-test2.vmdk La sua ubicazione è nella directory principale dell’archivio dati. È stato selezionato.

- Accendi la VM funzionante a cui hai allegato il disco virtuale che ti interessa, se la VM non è ancora stata accesa. Un disco virtuale viene aggiunto al volo per una VM Windows Server 2016 in esecuzione.
- Nel sistema operativo Windows ospite, vai su Gestione del computer > Gestione disco (o eseguire diskmgmt.msc nella riga di comando) e trova il tuo disco virtuale collegato. Per impostazione predefinita, il nuovo disco collegato è offline. Fai clic con il pulsante destro del mouse sul disco e premi Online. Una lettera di unità dovrebbe essere assegnata automaticamente alle partizioni sul disco aggiunto. Se a una partizione non è stata assegnata una lettera di unità, fare clic con il pulsante destro del mouse sulla partizione e fare clic su Modifica lettera di unità e percorsi.

- Ora avete pieno accesso (lettura/scrittura) ai file e alle directory del disco virtuale VMDK. Basta aprire il disco montato in Esplora risorse e copiare il contenuto necessario del file VMDK montato sulla VM funzionante. Puoi anche eliminare i dati non necessari dal disco virtuale VMDK allegato (ad esempio, se sono presenti file creati da virus), ma fai attenzione a non danneggiare il disco virtuale se sono presenti snapshot correlati al disco VMDK montato.

Esempio 2: Montaggio di un disco virtuale su una VM in esecuzione su VMware Player o su una stazione di lavoro
Questo esempio è simile al precedente, ma utilizza una VM in esecuzione su VMware Workstation per aprire i file VMDK della VM ESXi. Questo metodo può essere utilizzato quando non c’è spazio libero nell’archivio dati ESXi per copiare un disco virtuale, ad esempio. Un disco virtuale del Win-test2 La VM citata nell’esempio precedente verrà montata su una VM VMware Workstation per estrarne il contenuto.
- In VMware vSphere Client, andare su Storage > [Your datastore name] > File, seleziona il tuo file VMDK e premi Scarica.
Come ricorderete, un disco virtuale in formato ESXi è composto da vmdk e –flat.vmdk file. È necessario scaricare entrambi i file sul computer in cui è installato VMware Workstation o VMware Player. Quando si scarica un disco virtuale dall’archivio dati ESXi con VMware HTML5 vSphere Client, questi due file vengono compressi in un unico archivio zip.
In alternativa, è possibile abilitare l’accesso SSH all’host ESXi, accedere alla directory dell’archivio dati e copiare manualmente entrambi i file del disco virtuale sul computer utilizzando un client SCP, ad esempio. WinSCP.
NOTA: Quando scarichi un thin provisioning disco virtuale da un archivio dati ESXi con file system VMFS sul tuo computer, otterrai un leggero vmdk file e un –flat.vmdk file la cui dimensione sarà pari alla dimensione massima provisionata del disco virtuale (come si farebbe quando si scarica un disco virtuale con provisioning thick). Questo perché il provisioning thin può essere considerato come un File system VMFS funzione.

Ora è possibile visualizzare due file del disco virtuale in formato ESXi che sono stati scaricati in un archivio ZIP. La dimensione del disco virtuale con provisioning thin sul datastore VMFS è ora di circa 2 GB (vedere la schermata sopra), mentre la dimensione dello stesso disco scaricato su una stazione di lavoro è di circa 8 GB (vedere la schermata sotto).
- Decomprimere i due file dall’archivio. Per impostazione predefinita, i file vengono estratti nella cartella Win-test2.vmdk directory, il cui nome è uguale al nome dell’archivio ma senza estensione.

- Per questo passaggio, è necessario disporre di una VM funzionante con un sistema operativo operativo sul proprio computer con VMware Workstation o Player installato. Mentre nell’esempio precedente è stata utilizzata una VM con Windows Server 2016, in questo esempio viene utilizzata una VM funzionante con Windows Server 2008.
Apri VMware Workstation o VMware Player, seleziona la tua VM funzionante e modifica delle impostazioni della VM.

- Nel Hardware scheda, fare clic su Aggiungi pulsante.

- Nel Aggiungi procedura guidata hardware che si apre, seleziona Disco rigido come tipo di hardware. Quindi, seleziona un tipo di disco (puoi lasciare il valore consigliato). Su Seleziona un disco schermo, selezionare il Utilizza un disco virtuale esistente opzione.

- Seleziona il vmdk file (non –flat.vmdk) che hai estratto dall’archivio ZIP. Puoi sfogliare il file o inserire manualmente il percorso completo del file.

In questo esempio vengono utilizzati ESXi 6.5 e VMware Workstation 15. La VM VMware Workstation che esegue Windows Server 2008 nel nostro esempio ha la versione hardware Workstation 12 (versione VM 12). La VM ESXi di cui vogliamo collegare il disco virtuale ha la versione VM 7.
- VMware Workstation visualizza un messaggio di errore che indica che il disco virtuale copiato dall’host VMware ESXi non è compatibile con questa VM:

Questo errore può essere risolto modificando il file descrittore del disco (il leggero vmdk file nel caso dei dischi virtuali delle VM ESXi). Apri il file VMDK nell’editor di testo e modifica il numero in Ddb.versioneHWVirtuale stringa. Nel nostro caso, 13 viene modificato in 12.
NOTA: Ricordare che per i dischi virtuali delle VM VMware Workstation, un descrittore del disco virtuale è integrato nel file VMDK del disco virtuale (non esiste un file descrittore separato come per i dischi virtuali delle VM ESXi).

Dopo aver modificato il file, il disco virtuale viene aggiunto correttamente alla VM esistente.
- Accendi la VM se non è ancora stata accesa.
- Apri Gestione disco In Windows, modifica lo stato del disco virtuale su online, assegna una lettera di unità a una partizione e sfoglia i file.

Come estrarre dati da un file VMDK senza accendere una VM
I metodi che non richiedono la configurazione e l’accensione di una VM presentano vantaggi specifici. Alcuni di questi metodi non richiedono l’installazione di un hypervisor. È possibile montare i file VMDK direttamente sul sistema operativo host in breve tempo.
Metodo 1: Montaggio file VMDKin un sistema operativo host con VMware Workstation
Questo metodo richiede un VMware Workstation installazione su un sistema operativo Windows o Linux in esecuzione sul computer fisico. VMware Workstation offre una funzione utile che consente di montare i file VMDK sul sistema operativo host. Sono supportati i dischi virtuali in formato ESXi e i dischi delta relativi agli snapshot delle VM. Analogamente a tutti i metodi precedenti descritti in questo post del blog, il sistema operativo deve supportare i file system delle partizioni dei dischi virtuali.Se sono presenti snapshot della VM, i dischi virtuali delta vengono creati dopo la creazione di ogni snapshot. È necessario disporre di un disco virtuale padre e di dischi delta se si desidera aprire uno stato del disco virtuale subito dopo aver acquisito una o più snapshot. In questo caso, è necessario montare il disco virtuale delta appropriato sul sistema operativo host. Le dipendenze relative al disco virtuale padre verranno risolte automaticamente.Se si dispone di snapshot ma si desidera aprire un disco virtuale padre, aprire il disco virtuale padre in modalità di sola lettura. Questo perché apportare modifiche al disco virtuale padre può danneggiare gli snapshot o i cloni collegati creati da una VM padre con il disco virtuale padre. La modalità di sola lettura impedisce di scrivere dati su un disco virtuale dopo aver montato il disco sul sistema operativo host. È possibile montare i file del disco virtuale VMDK se una VM che utilizza questo disco virtuale è spenta o se una particolare VM non sta utilizzando questo disco virtuale.Vediamo come montare un disco virtuale VMDK della VM VMware Workstation che ha snapshot. Windows è installato su una partizione NTFS su un disco virtuale della VM. Dopo aver acquisito il primo snapshot, il Istantanea1.txt Il file viene creato nella directory principale del disco C: e, analogamente, dopo aver acquisito la seconda snapshot, il file Istantanea2.txt Il file viene creato in quella posizione. Il primo esempio è per Linux, mentre il secondo è per Windows. In questo esempio vengono utilizzati i file del disco virtuale della vecchia VM Windows XP.
Esempio 1: Montaggio di VMDK sull’host Linux
- Apri VMware Workstation per Linux e vai su File > Montare dischi virtuali.

- Clicca Montare il discoe si aprirà una finestra pop-up. Clicca su Sfoglia e selezionare il file VMDK del disco virtuale.

- Selezioniamo il file VMDK del secondo disco virtuale differenziale creato dopo aver acquisito la seconda istantanea della VM. Il nome di questo file appare come VM_nome-000002.vmdk in tali casi (WinXP-test-000002.vmdk è utilizzato in questo esempio).

- Crea la directory sul tuo file system Linux per montare un disco virtuale in formato VMDK su quella directory. Creiamo la /mnt/vmdk/ directory nella console Linux.
mkdir /mnt/vmdk/ - Imposta i permessi per il tuo utente (il nome utente è utente1 ed è membro di gruppo1 in questo esempio):
chown -R user1:group1 /mnt/vmdk/chmod -R 0775 /mnt/vmdk/ - Ora seleziona la directory che hai creato come directory di destinazione, seleziona la casella “Montare in modalità di sola lettura” e clicca su Monta.

- Ora puoi aprire il /mnt/vmdk/ nella directory del file explorer di Linux e sfogliare i file e le directory con l’ubicazione sul disco virtuale VMDK. È possibile visualizzare Istantanea1.txt e Istantanea2.txt file, creati dopo aver creato la prima e la seconda snapshot in questo esempio. Ciascuno di questi due file ha una ubicazione su un disco virtuale delta VMDK separato.

- Non dimenticare di smontare il disco virtuale VMDK dalla directory (punto di montaggio) sul tuo sistema Linux host quando hai terminato le operazioni con il contenuto del disco virtuale.

Se preferisci utilizzare l’interfaccia della console, puoi montare le immagini disco VMDK sull’host Linux nella console con questo comando:vmware-mount /media/user1/vms/vm_name/vm_disk_name-000002.vmdk /mnt/vmdkDove:nome_vm è il nome della VM che in questo caso è uguale al nome della directory VM. Test WinXP è il nome della VM nel nostro esempio.nome_disco_vm è il nome del disco virtuale (WinXP-test.vmdk è utilizzato in questo esempio).vm_disk_name-000001.vmdk è il nome del primo disco delta (differenziale) creato dopo aver acquisito la prima istantanea della VM (WinXP-test-000001.vmdk in questo caso).vm_disk_name-000002.vmdk è il nome del secondo disco delta creato dopo aver acquisito il secondo snapshot della VM (WinXP-test-000002.vmdk in questo caso).
- Montare il disco virtuale. Per impostazione predefinita, il disco virtuale viene montato in modalità lettura/scrittura. È possibile utilizzare il comando -r digitare nella riga di comando per montare un disco in modalità di sola lettura.
vmware-mount /media/user1/vms/vm_name/vm_disk_name-000002.vmdk /mnt/vmdk - Elenca tutti i dischi virtuali VMDK montati:
vmware-mount -L - Prima di terminare il lavoro con i dischi virtuali VMDK montati, smontare tutti i dischi virtuali:
vmware-mount -x
Esempio 2: Come montare VMDK sull’host Windows
L’idea di come montare i file VMDK in Windows è simile. Oltre al File > Mappa dischi virtuali nell’interfaccia grafica utente (GUI) di VMware Workstation, è possibile seguire i passaggi riportati di seguito. Montiamo il file VMDK del primo disco virtuale differenziale creato dopo aver acquisito la prima istantanea della VM. Il nome di questo file VMDK ha il seguente formato: VM_nome-000001.vmdk (WinXP-test-000001.vmdk è aperto in questo tutorial).
- Fai clic con il pulsante destro del mouse sul file VMDK in Esplora risorse e fai clic su Mappa disco virtuale virtuale.

- Selezionare i parametri per montare un file VMDK. Si consiglia di aprire il file VMDK in modalità di sola lettura per evitare possibili danni ai dischi virtuali appartenenti alla catena di snapshot dopo la scrittura dei dati. In questo caso, la lettera di unità predefinita è Z: e l’unità si apre automaticamente in Esplora risorse dopo la mappatura, se è selezionata la casella di controllo appropriata. Fare clic su OK procedere.

- Ora il disco virtuale è montato come disco Z: in Windows ed è possibile leggere il contenuto del file vmdk. Nella schermata sottostante è possibile vedere il Istantanea1.txt file creato dopo aver acquisito la prima istantanea. Il Istantanea2.txt Il file manca perché è stato creato dopo aver acquisito la seconda istantanea della VM e abbiamo aperto un disco virtuale delta relativo alla prima istantanea della VM.

- Quando hai terminato di lavorare con il disco virtuale VMDK mappato, non dimenticare di scollegare il disco. Fai clic con il pulsante destro del mouse sul file VMDK appropriato, quindi fai clic su Disconnetti disco virtuale virtualeDopo aver scollegato il disco virtuale, è possibile accendere la VM che utilizza tale disco virtuale.

Metodo 2: Utilizzo di 7-zip per estrarre il contenuto dai file VMDK
Se stai cercando un modo per aprire i file VMDK senza eseguire VM, puoi installare 7-zip ed estrarre il contenuto dalle immagini dei dischi virtuali. 7-zip è uno strumento gratuito destinato all’archiviazione dei file e alla decompressione dei file da archivi e altre immagini. È possibile utilizzare 7zip come estrattore vmdk. Questo strumento può essere utilizzato su macchine Linux e Windows.7-zip può aprire vmdk e –flat.vmdk file (questa utility può aprire un singolo –flat.vmdk file se il descrittore vmdk file mancante) – 7-zip è in realtà destinato ai dischi virtuali in formato ESXi. 7-zip non è in grado di aprire i file VMDK delta creati dopo l’acquisizione di snapshot della VM.
Come aprire il file VMDKs con 7-zip su Linux
- Installa il pacchetto completo di 7-zip sul tuo computer Linux. In questo esempio viene utilizzato Ubuntu.
apt-get install p7zip-full - Elenca i contenuti del vmdk file con 7-zip:
7z l vm_name.vmdk - Troviamo i file che contengono “avvio.” nei loro nomi, ad esempio:
7z l /media/user1/vms/WinXP-test/WinXP-test.vmdk | grep boot[.]Dove utente1 è il nome del nostro utente Linux, l – elenco.

- Estraiamo (e) il boot.ini file dall’immagine VMDK:
7z e /media/user1/vms/WinXP-test/WinXP-test.vmdk boot.iniÈ possibile estrarre altri file e directory dal file VMDK allo stesso modo.
Come aprire il file VMDKs con 7-zip su Windows
- Scarica la versione compatibile di 7-zip dal sito sito web ufficiale e installa l’applicazione sul tuo computer Windows. Per maggiore comodità, utilizza il programma di installazione EXE.
- Dopo aver installato 7-zip su Windows, nuove opzioni 7-zip vengono aggiunte al menu contestuale quando si fa clic con il pulsante destro del mouse su qualsiasi file o cartella in Esplora risorse (vedere la schermata qui sotto). Utilizzare queste opzioni per aprire il file VMDK come archivio o estrarre i file immediatamente.

- Nello screenshot qui sotto, il contenuto del file standalone Win-test2-flat.vmdk Il file viene visualizzato nell’interfaccia grafica di 7-zip utilizzata in Windows. È possibile estrarre i contenuti VMDK necessari.

Come montare i file VMDK in Linux (altri metodi)
Una delle funzionalità più potenti di Linux è la possibilità di eseguire il maggior numero di operazioni nella console, anche con strumenti integrati. Questi strumenti ti aiuteranno a montare i file VMDK e ad accedere ai contenuti memorizzati sui dischi virtuali. Negli esempi forniti viene utilizzato Ubuntu Linux.
Metodo 1: Come fare montare il file VMDKs utilizzando /dev/loop
I dispositivi loop sono pseudo-dispositivi in Linux che rendono i file accessibili come dispositivi a blocchi e possono essere utilizzati per montare immagini disco contenenti file system. I dispositivi loop sono denominati come /dev/loopX dove X è il numero del dispositivo loop. Questo metodo è utile per il montaggio –flat.vmdk file, anche senza un descrittore del disco virtuale.Vediamo come montare un file VMDK in Linux per accedere ai file del disco virtuale come esempio. C’è un disco virtuale in formato ESXi che contiene una partizione: il file descrittore è mancante. Molto tempo fa, su quel disco virtuale era installato Windows XP.
- Utilizza uno dei due comandi per verificare il numero di dispositivi loop esistenti sul tuo sistema Linux.
fdisk -l | grep /dev/loopdf -h | grep /dev/loop - Nel nostro caso, esistono già dispositivi con numeri da 1 a 21 (/dev/loop1 – /dev/loop21). Creiamo quindi il dispositivo loop numero 30, che è libero. Assoceremo questo dispositivo al –flat.vmdk file.
losetup /dev/loop30 /vms/Win-test2-flat.vmdk - Imposta l’offset:
losetup -o 32256 /dev/loop31 /dev/loop30Dove 32256 è l’offset pari a 63*512 per un disco formattato in Windows XP/Server 2003 e versioni precedenti di Windows (63 è il numero del primo settore della partizione e 512 byte è la dimensione del settore). Per Windows 7/Server 2008 e versioni successive di Windows, provare l’offset 105906176.
È possibile recuperare informazioni sulla dimensione del settore e sul primo settore utilizzato per l’avvio del sistema con il comando:
fdisk -l /dev/loop30 /vms/Win-test2-flat.vmdk
In alternativa, per i dischi virtuali che contengono più partizioni, è possibile utilizzare parted per determinare l’inizio e la fine di ciascuna partizione:
parted /dev/loop30Nel separato console, inserisci i seguenti comandi:
unitBprint
- Creare una directory da utilizzare come punto di montaggio per l’immagine VMDK:
mkdir /mnt/vmdk-image - Montare il dispositivo loopback associato all’immagine VMDK nella directory creata:
mount /dev/loop31 /mnt/vmdk-image - Elenca il contenuto dell’immagine montata:
ls -al /mnt/vmdk-image - Dopo aver terminato di lavorare con il contenuto del disco virtuale, smontare l’immagine vmdk e scollegare il dispositivo loop:
umount /mnt/vmdk-imagelosetup -d /dev/loop31
Metodo 2: Come montare i file VMDK con kpartx
Kpartx è uno strumento che consente di montare partizioni all’interno di file immagine nelle directory del file system Linux reale. Questo strumento può essere utilizzato per configurare le mappature dei dispositivi per le partizioni dei dispositivi a blocchi. Questo metodo funziona anche per il montaggio –flat.vmdk immagini utilizzate sui server ESXi. Vediamo come montare il –flat.vmdk file utilizzato nell’esempio precedente.
- Installa kpartx:
apt-get install kpartx - Aggiungere la mappatura delle partizioni per l’immagine VMDK in modalità operativa dettagliata:
kpartx -av /vms/Win-test2-flat.vmdk - Montare una partizione su /mnt/immagine-vmdk directory preparata in precedenza:
mount /dev/mapper/loop30p1 /mnt/vmdk-image/Dove loop30 è il numero del dispositivo loop, e p1 è il numero della partizione all’interno dell’immagine (la prima partizione sull’immagine del disco).
- Elenca il contenuto della partizione del disco virtuale che hai montato:
ls -al /mnt/vmdk-image/
- Una volta terminate le operazioni con i file dell’immagine VMDK, smontare l’immagine del disco virtuale VMDK:
umount /mnt/vmdk-imagekpartx -d /vms/Win-test2-flat.vmdk
Conclusione
Conoscere diversi metodi per estrarre il contenuto VMDK offre flessibilità e affidabilità, poiché ogni metodo può rappresentare l’opzione migliore in determinate situazioni. Inoltre, oltre a queste conoscenze, è ancora meglio disporre di backup delle VM.NAKIVO Backup & Replication è in grado di eseguire il backup e il ripristino delle macchine virtuali in esecuzione su VMware vSphere nel modo migliore. È possibile ripristinare l’intera macchina virtuale, un disco virtuale specifico o singoli file dal backup in una ubicazione personalizzata.