martedì 15 luglio 2014

Modificare la modalità SATA dopo l'installazione del sistema operativo e risolvere problemi con AHCI in Windows 7 e Vista

I controller per dischi SATA si possono configurare per lavorare in diverse modalità: emulazione IDE (lo standard della vecchia versione dell'interfaccia ATA, più nota come PATA), AHCI (che consente di utilizzare alcune funzionalità avanzate come hot swapping e NCQ) e RAID (per usare un gruppo di dischi come se fossero una sola unità).

I sistemi operativi Microsoft, a partire da Windows Vista (quindi anche Windows 7 e Windows 8.x) supportano in modo nativo la modalità AHCI. La scelta della modalità di lavoro dei controller andrebbe impostata nel BIOS/UEFI prima di installare il sistema operativo, tuttavia non sempre ciò accade e a volte si ha la necessità di cambiarla. Un caso frequente è quando si passa dalla modalità IDE-compatibile a quella AHCI perché si cambia il sistema operativo (per esempio, da Windows XP a Windows 7).

Il problema è che quando si cambia la modalità di funzionamente del controller (per esempio si passa ad AHCI), se il sistema operativo è stato installato con una modalità diversa (per esempio se è stato installato in modalità IDE-compatibile) al riavvio del computer si avranno:

  • un BSoD (Blue Screen of Death), la "classica" Schermata blu della morte;
  • un codice di errore simile a STOP 0x0000007B INACCESSIBLE_BOOT_DEVICE.
Il motivo è il seguente:
  • durante l'installazione di Windows Vista/7, il setup del sistema operativo verifica qual è la modalità di comunicazione impostata nel BIOS/UEFI;
  • se viene rilevata la modalità IDE-compatibile, l'installer di Windows attiva il driver pciide.sys (il driver Microsoft per dispositivi ATA-IDE/PATA). Invece, se viene rilevata la modalità AHCI, l'installer attiva il driver msahci.sys per l'AHCI (c'è una terza possibilità per la modalità RAID, il discorso è identico ed il driver si chiama iaStorV.sys);
  • dopo aver installato il sistema, Windows caricherà al boot sempre il driver con cui è avvenuta la prima installazione (o pciide.sys o msahci.sys, ma non entrambi);
  • se si cambia la modalità SATA nel BIOS/UEFI dopo l'installazione di Windows, il disco diventa inaccessibile perché il sistema operativo non carica al boot il driver corretto.
Per evitare questa situazione e passare senza problemi da una modalità all'altra, prima di agire nel BIOS/UEFI occorre fare una modifca al registro di configurazione di Windows, per dire al sistema di attivare il driver non predefinito inizialmente.

Passare da modalità IDE-compatibile a modalità AHCI

Seguire la seguente procedura manuale per abilitare i driver msahci.sys e iaStorV.sys:
  1. uscire da tutte le applicazioni;
  2. premere <START>/Esegui (oppure la combinazione di tasti <Win>+<R>) e digitare regedit per entrare nel registro di configurazione di Windows;
  3. individuare le seguenti 2 sottochiavi:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msahci\
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\IastorV\
  4. assegnare il valore 0 al parametro Start di entrambe le chiavi (il valore predefinito in Windows 7 è 3, in Windows Vista è 4);
  5. chiudere il registro di configurazione e riavviare il sistema;
  6. entrare nel BIOS/UEFI ed abilitare la modalità AHCI nel controller SATA, salvare le impostazioni ed uscire;
  7. quando Windows verrà riavviato, partirà la procedura di attivazione del nuovo driver;
  8. al termine sarà necessario un nuovo riavvio.
Si possono evitare i passi da 1 a 4 usando direttamente lo specifico Microsoft Fix It.

NOTA
Per attivare il driver AHCI basterebbe la modifica della sola chiave \Msahci\ relativa al driver msahci.sys, tuttavia Microsoft suggerisce la modifica di entrambe le chiavi; probabilmente ciò è dovuto al fatto che su alcuni BIOS si trovano delle voci combinate per RAID/AHCI oppure perché alcuni controller RAID attivano anche funzioni AHCI.

Passare da modalità AHCI a modalità IDE-compatibile

La procedura per abilitare il driver pciide.sys è simile alla precedente:
  1. uscire da tutte le applicazioni;
  2. premere <START>/Esegui (oppure la combinazione di tasti <Win>+<R>) e digitare regedit per entrare nel registro di configurazione di Windows;
  3. individuare la seguente sottochiave:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Pciide\
  4. assegnare il valore 0 al parametro Start di tale sottochiave;
  5. chiudere il registro di configurazione e riavviare il sistema;
  6. entrare nel BIOS/UEFI ed abilitare la modalità di ompatibilità IDE nel controller SATA, salvare le impostazioni ed uscire;
  7. quando Windows verrà riavviato, partirà la procedura di attivazione del nuovo driver;
  8. al termine sarà necessario un nuovo riavvio.
NOTA
Nel caso non dovessero funzionare le unità ottiche (CD/DVD/Blu-ray), controllare la seguente sottochiave:
  • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\atapi\
ed impostare il parametro Start al valore 0 (attiva il driver atapy.sys per le unità ottiche). In genere il valore è già impostato, tuttavia ciò può essere necessario quando il cambio di modalità SATA avviene da configurazioni combinate RAID/AHCI.
Questo controllo ovviamente non è necessario nei computer privi di unità ottiche, come i netbook.

Problemi di AHCI su chipset nForce e/o controller JMicron

Alcune famiglie di chipset nForce prodotte da NVidia non supportano la modalità AHCI (con l'eccezione di quelle che dispongono di una scheda video integrata nel chipset) ed inoltre non sono in grado di inviare il comando TRIM, per cui ne è sconsigliato l'uso con gli SSD. Con tali chipset occorre impostare nel BIOS la modalità IDE-compatibile (se si abilita AHCI in genere risulta impossibile installare Windows 7 e Vista).

Alcuni controlli aggiuntivi di marca JMicron (presenti su moltissime schede madri) supportano la modalità AHCI ma hanno prestazioni inferiori rispetto ai controller SATA integrati nei chipset. Per questo motivo si consiglia di utilizzare sempre i controller nativi del chipset piuttosto che quelli di terze parti.

E la modalità RAID?

Una configurazione RAID (Redundant Array of Independent Disks) permette di usare un gruppo di dischi e gestirlo come se fosse un'unica unità. Il passaggio alla modalità RAID partendo da modalità IDE-compatibile oppure AHCI è possibile, tuttavia bisogna leggere con attenzione le istruzioni di configurazione del produttore del controller RAID. Un cambio di modalità effettuato con leggerezza può provocare:
  • la corruzione dei dati se si parte da IDE-compatbile o AHCI e si vuole passare a RAID;
  • la rottura della catena RAID se si parte da RAID e si vuole impostare IDE-compatbile o AHCI.

ESEMPIO 1: passare a RAID partendo da IDE-compatibile o AHCI
In genere viene suggerita la modifica delle seguenti sottochiavi:
  • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msahci\
  • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\IastorV\
  • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Iastor\
assegnando il valore 0 al parametro Start, tuttavia ciò può non essere sufficiente. L'ultima sottochiave \Iastor\, per esempio può non trovarsi affatto nel registro di configurazione perché viene creata dall'installazione dei driver Intel; su controller diversi (per esempio quelli AMD), driver e voci di registro potrebbero essere completamente differenti. Rimane fondamentale leggere con attenzione la documentazione del produttore del controller e dei relativi driver.

ESEMPIO 2: passare a AHCI partendo da RAID
Valgono le stesse considerazioni fatte nell'esempio precedente: in genere viene suggerita la modifica delle seguenti sottochiavi:
  • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msahci\
  • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\IastorV\
  • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Iastor\
  • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Pciide\
  • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\atapi\
assegnando il valore 0 al parametro Start. Tuttavia occorre leggere con attenzione la documentazione che accompagna il controller RAID ed i i relativi driver, in quanto le chiavi coinvolte potrebbero essere diverse, oppure potrebbe essere necessaria una precisa procedura messa a punto dal produttore.

POTREBBE INTERESSARTI ANCHE…