Proxmox - Cancellare i device nascosti su Windows dopo la migrazione P2V

Introduzione

Purtroppo dopo la conversione P2V nella macchina windows rimangono parecchi device fantasma. Questa paginetta spiega come ripulire tale situazione.

Si possono usare due metodi: manuale, semi-automatico.

 

Metodo manuale

  • Collegarsi al server windows
  • Da Esegui digitare il comando cmd per aprire una finestra comandi
  • Ora impostiamo la variabile per visualizzare i device nascosti e lanciamo il Device manager coi comandi:
     set devmgr_show_nonpresent_devices=1
    cd %!SystemRoot%\System32
    start /wait devmgmt.msc
  • Ora dovviamo andare nel menù View e scegliere l'opzione Show Hidden Devices
  • Espandiamo i vari rami
  • Cancelliamo, col tasto CANC oppure UNISTALL manualmente tutti i device in grigetto e solamente quelli non altri altrimenti non funzionerà più qualcosa.

Purtroppo vanno disinstallati uno ad uno.

 

Metodo semi-automatico

Riferimenti

Tratto dai seguenti articoli:

Le operazioni da fare in sintesi sono:

  • Produrre un file contenente i device fantasma da eliminare
  • Lanciare il comando che elimini tali device passandogli il file

Prerequisiti

  • Scaricare dal sito microsoft il programma DEVCON per manipolare i device da riga comando
  • Usare FC, comando di windows per trovare le differenze tra i file. In alternativa usare linux con fgrep 

Produrre il file con le differenze

  • Collegarsi al server windows di cui si vuole far pulizia dei device fantasma
  • lanciare il comando che elenca i device, nel mio caso richiedo solamente i dischi SCSI:
      D:\Temp> devcon find =DiskDrive SCSI\*> ListDiskActive.txt
  • lanciare il comando per trovare indistintamente qualsiasi device, nel nostro caso sempre disco, compreso i fantasmi:
      D:\Temp> devcon findall =DiskDrive SCSI\*> ListDiskAll.txt
  • produrre il file con le differenze tra i due prodotti:
    • Windows:
         D:\Temp> fc ListDiskActive.txt ListDiskAll.txt> ListDiskDiff.txt
    • Linux, una volta passati i file sul PC linux:
         $ fgrep -v -f ListDiskActive.txt ListDiskAll.txt> ListDiskDiff.txt
  • Rielaborare il file a mano per eliminare le righe che non centrano, sono veramente poche. Con fc saranno da eliminare le righe con gli asterischi ed eventualmente qualche riga contenuta nel file primario ListDiskActive.txt

Eliminare i device fantasma

Prodotto il file delle differenze ora basta lanciare lo script DelPhantomDev.cmd passando il file prodotto al punto precedente.

Com'è fatto lo script DelPhantomDev.cmd

@ECHO OFF

IF .%1. EQU .. GOTO Sintassi

FOR /F "delims=:" %%i IN (%1) DO @devcon remove "@%%i"
GOTO Fine

:Sintassi
ECHO.
ECHO "Sintassi:"
ECHO " DelPhantomDev FileDevPhantom"
ECHO.
ECHO "Dove:"
ECHO " FileDevPhantom = File che contiene la lista dei device da eliminare"
ECHO.
:Fine

 

Riferimenti ulteriori