giovedì 30 luglio 2020

Risolvere in Windows 10 il problema dei dispositivi SATA interni (hard-disk, SSD, DVD, BluRay) mostrati in "Rimozione sicura dell'hardware"

In Windows 10 può succedere che dispositivi interni collegati a canali SATA (HDD, SSD, lettori/masterizzatori CD/DVD/Blu-ray), vengano visualizzati nella tray-bar con l'icona "Rimozione sicura dell'hardware", come se fossero dispositivi USB esterni (pendrive, stampanti ecc.). Sebbene sia estremamente difficile (se non impossibile) disconnettere uno dei dispositivi interni, l'errata visualizzazione è fastidiosa: vediamo come risolvere il problema.
NOTA
La tray-bar (o system-tray) è la piccola zona posta sulla destra della barra delle applicazioni (vicino all'orologio di sistema) dove vengono caricate le icone dei programmi che compiono operazioni particolari (come firewall e antivirus). In un precedente articolo avevamo visto come risolvere lo stesso inconveniente in Windows 7: l'origine del problema è la stessa, in Windows 10 si risolve in modo molto simile.

Causa del problema

A partire da Windows 7, ai sistemi operativi Windows è stato aggiunto il supporto a 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 hanno mal configurato in diversi BIOS le porte SATA interne, che appaiono (erroneamente) al sistema operativo essere esterne. Come conseguenza, qualunque dispositivo SATA, sia interno che esterno, viene visto come se fosse una periferica removibile. Non ci sono effetti negativi sul funzionamento del sistema, tuttavia l'effetto su Windows 10 è veramente fastidioso: un hard-disk interno viene presentato come esterno insieme a tutte le sue partizioni (in figura un hard-disk con 4 partizioni C-D-E-F).
Windows 10 - HDD/SSD/DVD/Blu-Ray interni in "Rimozione sicura hardware"
Come si può facilmente immaginare, aggiungere un dispositivo ottico e/o un secondo hard-disk con più partizioni, fa "allungare" a dismisura la precedente "finestrella"!

Possibile soluzione: aggiornamento del BIOS

Questo problema riguarda essenzialmente hardware con southbridge Intel ICH7/ICH8/ICH9/ICH10 (prodotto approssivamente tra il 2007 ed il 2009). L'ICH (I/O Controller Hub) è la parte del chipset che gestisce le periferiche "lente" (come i dischi, ma non solo). In (pochi) casi fortunati il produttore del computer (o della sua motherboard) ha rilasciato un aggiornamento del BIOS che corregge il problema: quindi dovete provare ad aggiornare ill BIOS all'ultima versione disponibile.
Contestualmente all'aggiornamento del BIOS, occorre aggiornare i driver della scheda madre (o almeno del chipset e/o del controller SATA) all'ultima versione disponibile. Versioni aggiornate dei driver potrebbero impostare correttamente alcune chiavi di registro ed eliminare il problema. Altrimenti ricorriamo alle "maniere forti": mettiamo mano al registro di Windows.

Soluzione definitiva (manuale): modificare il registro di Windows

Se l'aggiornamento di BIOS e/o driver non ha effetto, ricorriamo ad un workaround (soluzione di comodo per aggirare un problema) creando una chiave di registro ed impostando una serie di valori opportuni.
Uscire da tutte le applicazioni ed aprire il registro di sistema con i privilegi di amministratore:
  1. per entrare nel registro di configurazione di Windows, premere la combinazione di tasti Windows+R e digitare regedit
  2. individuare la sottochiave:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci\Parameters\Device
    (ricordate che su Windows 10 potete fare copia-incolla del precedente percorso per arrivarci direttamente)
  3. nella parte destra dell'albero delle chiavi, creare un nuovo valore multistringa chiamato TreatAsInternalPort (fare click con il tasto destro del mouse, selezionare Nuovo>Valore multistringa e chiamarlo TreatAsInternalPort, vedi figura)
    Windows 10 - Valore multistringa TreatAsInternalPort
  4. fare doppio click col mouse su TreatAsInternalPort. Si aprirà una finestrella pop-up a più righe dove occorre inserire i valori 0, 1, 2, 3, 4, 5 uno sotto l'altro (i numeri inseriti possono essere di più o di meno: si veda la NOTA a fine articolo). In altri termini occorre:
    • inserire 0 e premere INVIO,
    • inserire 1 e premere INVIO,
    • inserire 2 e premere INVIO,
    • inserire 3 e premere INVIO,
    • inserire 4 e premere INVIO,
    • inserire 5 e premere INVIO.
    Windows 10 - multistringa TreatAsInternalPort, inserimento valori
  5. Terminato l'inserimento dei valori, premere OK, chiudere il registro e riavviare Windows 10.
Se avete fatto tutto correttamente, non dovreste più vedere SSD/HDD/DVD/Blu-ray interni in "Rimozione sicura dell'hardware".

NOTA: significato dei valori e quanti inserirne

I valori 0,1, …, 5 inseriti in precedenza rappresentano il numero di canali SATA (ossia il numero di porte SATA interne presenti sulla scheda madre del computer): 0 rappresenta il canale SATA-0, 1 rappresenta il canale SATA-1, …, 5 rappresenta il canale SATA-5. Il numero di canali SATA (e di conseguenza dei valori da inserire) dipende dalla scheda madre: poiché spesso sulle motherboard ci sono 6 porte SATA in questa guida abbiamo inserito i numeri 0, 1, 2, 3, 4, 5 (6 valori).
Alcune schede hanno un numero ridotto di canali:
  • schede con 4 porte SATA = 4 canali: occorre inserire i valori 0, 1, 2, 3 (4 valori).
  • schede molto piccole con 2 sole porte SATA = 2 canali: basta inserire i valori 0 e 1 (2 valori);
  • schede "grandi" con 8 porte SATA = 8 canali: inserire i valori 0, 1, 2, 3, 4, 5, 6, 7 (8 valori).
Se inserite solo parte dei canali, eventuali dispositivi collegati ad un numero di canale non inserito tra i valori di registro verranno ancora trattati come dispositivi esterni (e di conseguenza visualizzati in "Rimozione sicura dell'hardware").

POTREBBE INTERESSARTI ANCHE…