Segnalato da MISTER X (Eng2Ita staff)
Su Windows 7 può succedere che dispositivi interni collegati a canali SATA (HDD, SSD, lettori e masterizzatori di CD/DVD/Blu-ray), vengano visualizzati sulla tray-bar nell'icona della "Rimozione sicura dell'hardware", in modo simile a quanto avviene per pendrive/dischi USB o altre periferiche esterne. Non è un grosso problema, però può essere fastidioso perché è possibile disconnettere inavvertitamente una periferica, costringendo l'utente al riavvio del sistema per renderla nuovamente accessibile.
NOTA
La tray-bar o system-tray è la piccola zona posta nella barra delle applicazioni dove vengono caricate le icone dei programmi che compiono operazioni particolari (per esempio firewall e antivirus), ed in Windows Vista/7 è vicino all'orologio di sistema.
Origine del problema
Windows 7 ha aggiunto il supporto alle periferiche eSATA (external SATA), un'interfaccia di comunicazione basata su SATA per connettere periferiche esterne (dischi, uità ottiche, SSD ecc.). Il problema si presenta quando i controller SATA sono impostati in modalità AHCI. Alcuni produttori di hardware potrebbero aver configurato erroneamente le porte SATA interne, che possono apparire come se fossero esterne. Ciò ha come conseguenza che qualunque dispositivo SATA, sia interno che esterno, viene visto come se fosse una periferica removibile. Non ci sono effetti negativi sul funzionamento del sistema, eccetto l'eventualità di disconnettere inavvertitamente una periferica.
Lo stesso problema si presenta su Windows 10 e, come descritto nella guida dedicata, verrà risolto in modo simile (ma non uguale) a Windows 7.
Possibili soluzioni
Per eliminare il problema, la prima cosa da fare è eseguire (se possibile) un aggiornamento del BIOS/UEFI del computer o della scheda madre all'ultima versione disponibile, che potrebbe correggere il problema dell'errata configurazione delle porte SATA.La seconda cosa da fare è l'aggiornamento di tutti i driver della scheda madre (o almeno del chipset o del controller SATA) all'ultima versione disponibile. Versioni aggiornate dei driver potrebbero impostare correttamente alcune chiavi di registro ed eliminare il problema.
Soluzione manuale: modifica del registro di Windows
Se i passi precedenti non risolvono il problema bisogna ricorrere ad un workaround (una soluzione di comodo che permette di aggirare il problema) che consiste nel creare alcune sottochiavi di registro e impostare un valore apposito.Aprire il registro di sistema con i privilegi di amministratore:
- uscire da tutte le applicazioni;
- premere <START>/Esegui (oppure la combinazione di tasti <Win>+<R>) e digitare regedit per entrare nel registro di configurazione di Windows;
- individuare la sottochiave:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msahci\ - creare all'interno di \Msahci\ una sottochiave chiamata Controller0;
- creare all'interno di \Controller0\ una sottochiave chiamata ChannelN.
Attenzione: il penultimo carattere è una "ELLE" minuscola (non il numero 1), mentre al posto della N a seconda della configurazione del sistema si inserisce la cifra 0 oppure 1, oppure 2 ecc., a seconda del numero del canale. In questo esempio supponiamo che la periferica da nascondere sia connessa al canale 0, per cui creeremo la sottochiave Channel0 (ricorda: il penultimo carattere è una "ELLE" minuscola); - creare all'interno di \Channel0\ un valore di tipo DWORD (DWORD a 32 bit nei sistemi a 64 bit) chiamato TreatAsInternalPort, a cui assegnare il valore esadecimale 1. Questo valore istruisce il sistema che la periferica collegata al relativo canale deve essere impostata come periferica interna;
- chiudere il registro di configurazione e riavviare il sistema.
Bisogna creare tante sottochiavi ChannelN quante sono le periferiche da nascondere; per esempio, per nascondere sia un HDD che un DVD-ROM si creano 2 sottochiavi Channel0 e Channel1 e, in ciascuna di esse, il valore TreatAsInternalPort impostato a 1 (esadecimale), come indicato in figura.
INDIVIDUARE IL NUMERO DI CANALE
Si può procedere a colpo quasi sicuro leggendo il numero del canale in Gestione dispositivi (un canale corrisponde ad una porta SATA). Il "quasi" è d'obbligo poiché la documentazione tecnica Microsoft riporta casi in cui il numero di canale mostrato in Gestione dispositivi può non coincidere con quello assegnato alle chiavi di registro. Detto questo, vediamo come procedere.
Aprire Gestione dispositivi:
- fare click sul pulsante START/Pannello di controllo;
- se in Pannello di controllo è impostata la visualizzazione per Icone (grandi o piccole è indifferente), fare click su Gestione dispositivi. Se invece è impostata la visualizzazione per Categoria, click su Hardware e suoni, e infine click su Gestione dispositivi.
Nei prossimi 2 paragrafi si mostra come creare la stessa struttura vista fino ad ora di sottochiavi e valori, usando il prompt dei comandi oppure uno o più file .reg. Si tratta di metodi alternativi all'uso diretto dell'editor del registro di Windows (se non vi interessano potete saltare direttamente al paragrafo Riferimenti).
Creazione delle chiavi di registro con il Prompt dei comandi
Se non si vuole usare l'editor del registro, si può usare il prompt dei comandi:- andare in START/Tutti i programmi/Accessori;
- fare click con il tasto destro del mouse su Prompt dei comandi e selezionare "Esegui come amministratore".
reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\msahci\Controller0\Channel0" /f /v TreatAsInternalPort /t REG_DWORD /d 0x00000001
Per il canale 1 il comando è identico, ad eccezione del numero:
reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\msahci\Controller0\Channel1" /f /v TreatAsInternalPort /t REG_DWORD /d 0x00000001
Come detto in precedenza, possono essere necessarie diverse prove prima di individuare il canale (cioè la porta SATA) corretto, poiché il numero di canale in Gestione dispositivi può non coincidere con quello del registro di Windows.
Creazione delle chiavi di registro con un file .reg
Se non si vogliono usare né l'editor di registro né il prompt dei comandi, si può scrivere un semplice file di testo (con il Blocco note - Notepad - o qualsiasi editor di testo) e salvarlo con estensione .reg.Per esempio, copiare le seguenti righe (compresa la riga vuota) ed incollarle in un file di testo; infine salvare il file come canale0.reg (crea sottochiavi e valori per il canale 0).
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci\Controller0\Channel0]
"TreatAsInternalPort"=dword:00000001
A questo punto è sufficiente fare doppio click sul file canale0.reg per aggiungere la sottochiave al registro di Windows.[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci\Controller0\Channel0]
"TreatAsInternalPort"=dword:00000001
Per il canale 1 si costruisce un file canale1.reg identico al precedente (tranne il numero):
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci\Controller0\Channel1]
"TreatAsInternalPort"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci\Controller0\Channel1]
"TreatAsInternalPort"=dword:00000001
Si possono accorpare più canali in un unico file canali.reg, inserendo tutte le sottochiavi ed i valori da creare. Per esempio per i canali 0 e 1 il file ha la seguente struttura:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci\Controller0\Channel0]
"TreatAsInternalPort"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci\Controller0\Channel1]
"TreatAsInternalPort"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci\Controller0\Channel0]
"TreatAsInternalPort"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci\Controller0\Channel1]
"TreatAsInternalPort"=dword:00000001
Anche in questo caso possono essere necessarie diverse prove prima di individuare il (i) canale (canali) corretto (corretti), perché il numero di canale in Gestione dispositivi può non coincidere con quello del registro di Windows.
Riferimenti
Una spiegazione tecnica esaustiva del problema trattato in questo articolo può essere consultata alla pagina Windows Hardware Dev Center Archive, sezione Storage Archive, nel documento Internal and External SATA Port Configuration.Per la possibile mancata corrispondenza tra numero del canale in Gestione dispositivi e chiavi di registro si consulti l'articolo https://support.microsoft.com/kb/937251/en-us.
POTREBBE INTERESSARTI ANCHE…
- Risolvere in Windows 10 il problema dei dispositivi SATA interni (hard-disk, SSD, DVD, BluRay) mostrati in "Rimozione sicura dell'hardware"
- AHCI, guida introduttiva e relazione con gli standard IDE e SATA
- Modificare la modalità SATA dopo l'installazione del sistema operativo e risolvere problemi con AHCI in Windows 7 e Vista
- Installare Windows XP su dischi SATA e risolvere problemi comuni con la modalità AHCI