Gerät unter "Hardware sicher entfernen" zeigen

USBDLM

 

Gerät unter "Hardware sicher entfernen" zeigen oder nicht


 

USBDLM kann ein für ein Laufwerk einen Wert in der Registry so modifizieren, dass es unter XP nicht mehr unter "Hardware sicher entfernen" angezeigt wird. Das ist z.B. für interne Kartenleser sinnvoll, damit sie nicht versehentlich abgemeldet werden.

Beim nächsten Start des Laufwerks-Treibers wird der Wert aber zurückgesetzt, so dass er bei jedem Systemstart erneut gesetzt werden muss.

 

Unter Windows 7 kann "Hardware sicher entfernen" zusätzlich bei Wechseldatenträgern auch "auswerfen", so dass dort alle Wechseldatenträger aufgelistet werden. Die bekommt man unter Windows 7 also nicht ausgeblendet, aber immerhin die Funktion zum Abmelden des ganzen Gerätes deaktiviert.

 

 

 

Konfiguriert wird das anhand des Kriteriums "Geräte-ID", siehe auch Buchstaben abh. vom der Geräte-ID.

 

Beispiel für ein USB-Laufwerk:

 

[HideFromSafelyRemoveHardware]

DeviceID1=USB\VID_058F&PID_6369

 

 

Oder anhand des "Friendly Name":

 

[HideFromSafelyRemoveHardware]

DeviceID1=Kingston Flash Reader

 

 

 

Umgekehrt können auch Laufwerke unter "Hardware sicher entfernen" angezeigt werden, für die das normalerweise nicht der Fall ist, auch kann man obiges so rückgängig manchen:

 

[AddToSafelyRemoveHardware]

DeviceID1=IDE\DISKFUJITSU_MHV2040BH*00000025

 

Aber selbst wenn man ein IDE-Laufwerk in die Liste bekommt, schlägt das Entfernen warscheinlich fehl.

Mit meinem Kommandozeilen-Programm RemoveDrive kann man dagegen auch IDE-Laufwerke zum sicheren Entfernen vorbereiten.

 

 

Geräte die nichts mit Laufwerken zu tun haben, kann USBDLM auch behandeln - da USBDLM darüber aber keine Daten vorhält, muss hier die komplette Geräte-Instanz-ID angegeben werden (XP: "Geräteinstanzkennung", ab Vista: "Geräteinstanzpfad"), z.B. so:

 

[HideFromSafelyRemoveHardware]

CompleteDeviceID=USB\VID_1758&PID_2004\050712014270000083

CompleteDeviceID=PCI\VEN_1011&DEV_0009&SUBSYS_21140A00&REV_20\3&267A616A&0&50

 

Die Geräte-Instanz-ID findet man im Geräte-Manager:

Das betreffende Gerät mit rechts anklicken -> Eigenschaften, Reiter "Details". Hier ist unter XP schon die "Geräteinstanzkennung" ausgewählt. Dann unten auf die Geräte-ID klicken und "Strg+C" drücken - das kopiert sie in die Windows Zwischenablage. Ein Kontextmenü mit "Kopieren" gibt's erst ab Vista.

 

 

 

Laufwerks-Bezeichung

 

Im "Hardware sicher entfernen"-Menü von XP und Vista heißen USB-Laufwerke immer "USB Massenspeichergerät" (abhängig von der Windows-Sprache) plus Laufwerksbuchstabe. USB-Laufwerke die auf NTFS-Ordner gemountet sind oder keinen Mountpunkt haben, heißen nur "USB Massenspeichergerät", was eine Unterscheidung von mehreren Laufwerken unmöglich macht. "USB Massenspeichergerät" kommt für USB-Laufwerke aber aus dem Registry-Wert "DeviceDesc" und den kann USBDLM ändern:

 

[Settings]

SetDeviceDesc=1

 

Mögliche Werte:

SetDeviceDesc=0   -> keine Änderung

SetDeviceDesc=1   -> für USB-Laufwerke ohne Laufwerksbuchstaben setzen

SetDeviceDesc=2   -> für alle USB-Laufwerke setzen

 

Standardmäßig schreibt USBDLM den "FriendlyName" des USB-Gerätes in den Wert "DeviceDesc", sowas wie "Corsair Flash Voyager". Benutzerdefinierte Namen mit USBDLM-Variablen sind auch möglich.

 

Beispiel für FriendlyName und BusType für alle USB-Laufwerke:

 

[Settings]

SetDeviceDesc=2

DeviceDesc=%FriendlyName% USB Device

 

Das Ergebnis wäre sowas wie "Corsair Flash Voyager USB Device".

 

Da USB-Geräte mehrere Laufwerke haben können (Multislot-Cardreader oder Festplattenpartitionen) ist die Nutzung von laufwerkspezifischen Variablen hier nicht sinnvoll - es würde das letzte Laufwerk "gewinnen".

 

Der Wert "DeviceDesc" wird auch für die Anzeige im Windows Geräte-Manager benutzt.

 

Unter Windows Vista haben die Original-Werte der DeviceDesc einen anderen Inhalt, z.B. diesen:

@usbstor.inf,%genericbulkonly.devicedesc%;USB Mass Storage Device

Alle Versuche, die gewünschte Bezeichnung dort "minimal invasiv" reinzuschreiben sind fehlgeschlagen, es hilft nur das komplette Ersetzen. Welche Nebenwirkungen das hat, ist mir nicht bekannt.

 

Bei anderen Bus-Typen als USB vergibt Windows bereits ordentliche Namen und die Bezeichnung lässt sich wohl auch nicht ändern.

 

 

Windows 7 und neuer zeigt auch für USB-Laufwerke von Haus aus den Gerätenamen, das Ändern des DeviceDesc-Wertes wirkt sich hier nicht auf die Anzeige in "Hardware sicher entfernen" aus.