Comment puis-je supprimer l'option d'éjection des disques SATA de l'icône de la barre d'état Windows 7?

81

L'icône Safely Remove Hardware (Supprimer le périphérique en toute sécurité) de Windows 7 offre la possibilité d'éjecter mes lecteurs SATA, y compris le lecteur d'amorçage. Je ne me vois jamais avoir besoin de cela - surtout pas pour la commodité de l'icône de la barre d'état.

Existe-t-il un paramètre BIOS commun pour désactiver la permutation à chaud?

Éjecter les disques SATA internes

sblair
la source
2
Lors de la mise à niveau de Vista vers Windows 7 RTM, mes disques SATA n'apparaissent plus dans le menu Supprimer le périphérique en toute sécurité, pouvez-vous confirmer qu'il s'agit toujours d'un problème pour la version RTM de Windows 7?
bdukes
11
Je me demande comment W7 est stable après avoir éjecté le disque dur de démarrage. Pouvez-vous aussi éjecter le processeur ou la carte mère?
Maaartinus
1
Même problème dans mon Windows 8.1, et je suppose que ce sera le même dans tous les Windows de 2000 à XP, Vista, 7 et 8. Je vous suggère d'ajouter plus de balises;)
LogicDaemon

Réponses:

62

La réponse dépend vraiment du pilote avec lequel vous êtes configuré. J'ai un connecteur SATA à 6 ports (Intel ICH9 - 2922) et j'utilise le pilote MS-AHCI par défaut. Si vous êtes dans le même bateau, créez deux nouvelles clés ici:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci

_

\Controller0\Channel0
            \Channel1
            \Channel2
            \Channel3
            \Channel4
            \Channel5

Créez maintenant un nouveau nom DWORD - name:, TreatAsInternalPortvalue: 1sous chacune des ChannelNclés. Maintenant, redémarrez pour que les modifications prennent effet et que les disques ne s'affichent plus dans la rubrique 'Supprimer en toute sécurité ..'

Trucs geek:

La cause principale du problème est que le pilote SATA a déterminé à tort que votre port SATA interne est externe. Donc, si vous examinez la valeur 'Capabilities' de votre ou vos lecteurs, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\IDE\..\..elle est probablement fixée à 0x4, ce qui la rend amovible (selon l'indicateur de bit ORing des valeurs ci-dessous). Une fois que vous avez ajouté le paramètre au registre, Le pilote SATA renvoie maintenant une valeur de Capabilities différente (probablement 0) et le lecteur ne s'affiche plus sous "Supprimer en toute sécurité".

//from inc/api/cfgmgr32.h (WINDDK)
#define CM_DEVCAP_LOCKSUPPORTED     (0x00000001)
#define CM_DEVCAP_EJECTSUPPORTED    (0x00000002)
#define CM_DEVCAP_REMOVABLE         (0x00000004)
#define CM_DEVCAP_DOCKDEVICE        (0x00000008)
#define CM_DEVCAP_UNIQUEID          (0x00000010)
#define CM_DEVCAP_SILENTINSTALL     (0x00000020)
#define CM_DEVCAP_RAWDEVICEOK       (0x00000040)
#define CM_DEVCAP_SURPRISEREMOVALOK (0x00000080)
#define CM_DEVCAP_HARDWAREDISABLED  (0x00000100)
#define CM_DEVCAP_NONDYNAMIC        (0x00000200)

la source
3
Pour déterminer quel contrôleur correspond aux valeurs numériques sous ... \ Msahci \ enum avec HardwareIds dans l'onglet Détails du dialogue des propriétés du gestionnaire de périphériques.
Richard
1
@Kapil: S'il vous plaît jeter un oeil à ( superuser.com/questions/420584/… ) [cette] question lorsque cela vous convient. Merci d'avance.
Raheel Khan
3
Sur la base de la réponse, j'ai un script regedit pour un travail sale rapide.
LogicDaemon
cela ne fonctionne plus pour 8 ... :(
user1643156
2
La solution Windows 8 / Windows 10 est ici .
willus
24

Aujourd'hui, j'ai eu le même problème après la mise à niveau du PC de mon père de Windows 7 à 10

Ce qui précède ne vaut plus pour Win 8, 8.1 & 10

Ce qui a aidé une légère variante de ce lien. Comment puis-je supprimer l’option d’éjection des disques SATA internes de l’icône Windows 8?

C'est à dire que j'ai ajouté un nouvel Multi String Valueappelé TreatAsInternalPort à HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci\Parameters\Device avec la valeur:

0
1
2
4
5

(notez les nouvelles lignes)

Paramètre de Registre TreatAsInternalPort

BTW Le pilote AHCI était celui d’Intel, pas celui de Microsoft, mais la solution devrait fonctionner avec les deux pilotes.

PCo
la source
1
Cela a parfaitement fonctionné: D (j'ai également mis à jour de Win7 à Win10). Merci! (J'ai également utilisé le pilote Microsofts AHCI).
Mo Beigi
7
Remarque: je devais ajouter une nouvelle ligne après le «5» pour que le «5» reste - si je laisse le curseur juste après le «5» sur la même ligne, ma valeur sera tronquée après le «4». Windows 10.
Patrick Moore
Cela fonctionnait parfaitement pour moi aussi, Win10 MSI X570 Ryzen9 avec un SSD de démarrage SATA qui soudainement, Windows m'a permis de l'éjecter. Votre changement de registre a résolu ce problème après un redémarrage rapide.
Toumal le
16

C'est une option au niveau du BIOS. Dans les cartes plus récentes, le BIOS contient des options permettant de désactiver le remplacement à chaud (lorsque vous utilisez AHCI / RAID en tant que contrôleur). Lorsque le paramètre d'échange à chaud d'un lecteur est désactivé dans le BIOS, il ne sera pas répertorié dans les lecteurs éjectables du menu de l'icône de la barre d'état système.

cybersans
la source
C'est la meilleure réponse. Il est nettement préférable de modifier un paramètre du BIOS plutôt qu’un paramètre du registre. Certains paramètres du registre sont réinitialisés au démarrage.
Crimbo
4

Vous ne savez pas à quel point c'est courant, mais dans la configuration CMOS (BIOS) sur les cartes mères Asrock, l'option appelée "Hotswap" modifie le comportement. Il est disponible pour chaque canal SATA. En outre, il existe l'option "SATA externe", mais elle est désactivée par défaut et je ne l'ai pas touchée.

LogicDaemon
la source
3

Si vous avez un chipset NVIDIA, la modification de registre suivante devrait fonctionner pour vous ...

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvata] 
"DisableRemovable"=dword:00000001 

Consultez cette description pour plus de détails .

JP Alioto
la source
2
Oui, j'ai trouvé cette solution de contournement sur Google, mais cela n'a pas fonctionné pour moi.
sblair
1

Suivez ces étapes Allez à Panneau de configuration - Gestionnaire d’appareils - Contrôleurs de stockage - cliquez ensuite avec le bouton droit de la souris sur le contrôleur MARVELL91XXsata6g.

Randy Horca
la source
0

J'ai également rencontré ce problème lorsque j'avais un disque SSD comme lecteur de démarrage et un disque dur comme périphérique de stockage supplémentaire.

J'ai essayé toutes les techniques d'édition du registre. Mais rien n’a fonctionné, la seule chose qui a fonctionné pour moi a été de mettre à jour le BIOS.

J'utilisais un ordinateur portable Dell, j'ai téléchargé la dernière mise à niveau du BIOS depuis le site dell.com/support, saisi le numéro de service, que j'ai trouvé dans le menu du BIOS, en cours de maintenance, téléchargé le pilote et exécuté le programme. Le problème a été corrigé.

Herren D Thomas
la source
-1

Dans le BIOS, sous Configuration du stockage, j'ai modifié «Configurer SATA en tant que» d'IDE en AHCI et cela a été corrigé.

zef
la source