domenica 1 gennaio 2012

VirtualBox: attivare il supporto SATA per macchine virtuali Windows XP

Windows XP è un guest ancora molto usato nelle macchine virtuali create con VirtualBox e non solo.

È perfetto per usare vecchio software che non ne vuole sapere di girare sui sistemi Windows più recenti; è ottimo per testare su questa piattaforma la compatibilità del software che state sviluppando senza dovervi districare con l'installazione di più sistemi operativi sulla macchina reale, giusto per dare un paio di indicazioni.

Trattandosi di un sistema operativo non proprio giovanissimo, ha il pregio di essere piuttosto parco nella richiesta di risorse rispetto agli standard attuali, risulta perciò veloce anche su host non particolarmente dotati. La contropartita però è che non sempre riesce a sfruttare al meglio le feature messe a disposizione dalla macchine virtuali create con VirtualBox.

L'esempio classico è il supporto ai controller e dischi rigidi SATA, Figura 1.

Figura 1: supporto SATA attivato in guest Windows XP

In tutti i computer più recenti SATA (Serial ATA) ha sostituito il vecchio ATA rispetto a cui ha 3 grossi vantaggi:
  • maggiore velocità;
  • cavi meno ingombranti;
  • possibilità di hotswap, cioè la possibilità di collegare/scollegare il dispositivo con il sistema in funzione.
VirtualBox è dalla ormai lontana versione 2.x che fornisce il supporto SATA ai guest per incrementare le prestazioni del disco rigido virtuale, ma mentre Windows Vista e Seven sono in grado sin dall'installazione nel guest di sfruttare automaticamente questa possibilità, per Windows XP le cose non sono così semplici: il supporto SATA va attivato manualmente installando gli opportuni driver nel guest.

Vediamo allora come fare per attivare il supporto SATA sui guest Windows XP di VirtualBox.

Attiveremo il supporto SATA dopo l'installazione di Windows XP, questo perché è il caso più generale: in questo modo con quest'unica procedura abbiamo la possibilità di attivare tale supporto anche su vecchie macchine virtuali Windows XP che abbiamo da tempo.

Pertanto, se si tratta di una nuova installazione di Windows XP, procedete nell'installazione senza supporto SATA ma con solo quello IDE attivato, uso della cache I/O dell'host, controller di tipo ICH6, Figura 2.

Figura 2: installazione iniziale guest Windows XP con il solo supporto IDE

Terminata l'installazione di Windows XP, procedete con l'installazione delle VirtualBox Guest Additions, riavviate il guest almeno uno volta per assicurarvi che tutto funzioni, soprattutto verificate che funzionino le cartelle condivise perché potremmo averne bisogno, poi spegnete la macchina virtuale.

Ora che la nuova macchina virtuale è pronta, oppure ne avete una vecchia a cui attivare il supporto SATA, iniziamo con il procurarci il software necessario.

Scaricate il driver SATA dal sito Intel utilizzando come stringa di ricerca "Intel(R) Matrix Storage Manager" e selezionando "Windows XP Professional" e "Software Archives" alle apposite voci per filtrare i risultati della ricerca.

L'ultima versione a funzionare bene tra quelle visualizzate nei risultati della ricerca è "Intel(R) Matrix Storage Manager" versione 8.9.0.1023 del 17/07/2009 (la data sul sito in realtà è 7/17/2009 nel formato mm/gg/aaaa tipicamente anglosassone); le versioni successive a questa, almeno sul mio sistema, alla data di scrittura di questo post non funzionano.

Cliccate sul link per il download e nella pagina che si aprirà cliccate sul file IATA89CD.exe, è la versione multilingua del driver, italiano compreso.

Lo potete scaricare sull'host ed usando le cartelle condivise portarlo nel guest, oppure, navigando direttamente dal guest, scaricarlo al suo interno senza ulteriori passaggi: scegliete voi come vi è più comodo.

A macchina virtuale spenta, nelle sue impostazioni aggiungete il controller SATA cliccando sul pulsante con la forma del simbolo + di addizione, quello in basso e più a destra dei due visibili in Figura 3.

Figura 3: aggiunta del controller SATA al guest Windows XP

Settate il Controller SATA con 2 porte (almeno una in più del necessario è la raccomandazione di Oracle) e attivando il supporto all'uso della cache di I/O dell'host, Figura 4, cliccate su "OK" per salvare le impostazioni.

Figura 4: configurazione del controller SATA con almeno 2 porte e uso della cache di I/O dell'host

Riavviate la macchina virtuale e quando Windows fa partire "Installazione guidata nuovo hardware", cliccate su "Annulla" e fate un bel doppio click sul file IATA89CD.exe, partirà l'installazione dell'Intel Matrix Storage Manager per il driver SATA, Figura 5.

Figura 5: installazione Intel Matrix Storage Manager per il driver SATA

Cliccate su "Avanti" un paio di volte, accettate la licenza e l'installazione inizia, Figura 6, quando è terminata spegnete la macchina virtuale.

Figura 6: installazione Intel Matrix Storage Manager per il driver SATA terminata, riavviare

Ora selezionate il disco rigido virtuale sul "Controller IDE" e scollegatelo, Figura 7,

Figura 7: rimozione collegamento disco rigido virtuale al controller IDE

poi ricollegatelo al nuovo Controller SATA, Figura 8,

Figura 8: collegamento del disco rigido virtuale al controller SATA

selezionando "Scegli un disco esistente", Figura 9,

Figura 9: selezione del disco rigido virtuale esistente da collegare al controller SATA

e scegliendo lo stesso disco rigido virtuale precedentemente scollegato dal Controller IDE; cliccate su "OK" per salvare le modifiche, Figura 10.

Figura 10: cliccate su "OK" e fare ripartire la macchina virtuale, avete finito.

Riavviate, e potrete finalmente godervi le funzionalità del controller SATA anche sui vostri guest Windows XP.