WaBis

walter.bislins.ch

Ruhezustand externer Festplatten verhindern

Freitag, 4. April 2014 - 22:23 | Autor: wabis | Themen: Wissen, Computer, Download | Kommentare(17)
Einige externe Festplatten gehen nach einer bestimmten Zeit in den Ruhemodus (Standby). Dies lässt sich nicht durch Einstellungen in Windows verhindern, weil es so in der Firmware der Festplatte einprogrammiert ist. Mit einem einfachen Batch-Script und dem Windows Aufgabenplaner kann die Festplatte trotzdem daran gehindert werden, in den Ruhemodus zu schalten.

Nachteil des Ruhemodus (Standby)

Ich arbeite viel am PC und nutze dabei verschiedene Benutzerkonten (Admin, und ein geschütztes Konto), sowie eine Virtuelle Maschine (VMLite) mit Windows XP zum Debuggen alter ASP Programme. Dabei kommt es regelmässig vor, dass sich die externe Festplatte nicht mehr ansprechen lässt. Erst nach einem Neustart des Systems funktioniert sie wieder.

Ein weiterer Nachteil ist das langsame Aufwachen aus dem Ruhemodus. Wenn ich am Ende der Arbeit oder zwischendurch schnell meine Arbeit sichern möchte oder einfach nur den PC ausschalten, muss ich immer zuerst warten, bis die Festplatte wieder online ist. Das nervt mit der Zeit.

Lösungssuche

Bei der Recherche im Internet beim Hersteller und in Foren ergab sich, dass vom Hersteller keine Möglichkeit vorgesehen ist, den Ruhemodus zu deaktivieren. Einstellungen in Windows können dies auch nicht erreichen, da dieses Feature direkt in die Firmware der Festplatte eingebaut ist.

Batch-Script als Lösung

Eine immer funktionierende Lösung ist, regelmässig vor Ablauf der Wartezeit bis zum Standby, auf die Festplatte zuzugreifen. Dazu genügt es, regelmässig eine kleine Datei per Batch-Script vom Betriebssystem auf die Platte schreiben zu lassen. Das Batch-Script kann als Aufgabe im Aufgabenplaner von Windows installiert werden und läuft unbemerkt im Hintergrund.

Diese Lösung funktioniert mit jeder Art von Festplatte. Man kann mit dem Script beliebig viele Festplatten daran hindern, in den Ruhemodus zu schalten.

Download

Das Batch-Script und die dazu gehörige Aufgabe für den Aufgabenplaner (in Form einer XML-Datei, welche in den Aufgabenplaner importiert werden kann), können als ZIP-Archiv heruntergeladen werden:

Download DrivesNoStandby.zip

Installation

Das ZIP-Archiv muss entpackt werden. Es enthält die beiden Dateien DrivesNoStandby.bat und DrivesNoStandby.xml. Speichere die Dateien im Verzeichnis C:\. Wenn du einen anderen Speicherort wählst, musst du im Aufgabenplaner den Pfad zum Batch-Script anpassen.

Unter Windows kann man mit Hilfe des Aufgabenplaners Aufgaben definieren, welche vom Betriebsystem bei bestimmten Ereignissen ausgeführt werden. Als Trigger für die Ereignisse werden für das Batch-Script der Start des PC's und ein bestimmtes Zeitintervall (5 Minuten) definiert.

Die Datei DrivesNoStandby.xml enthält die Beschreibung der Aufgabe für den Aufgabenplaner und kann dort einfach importiert werden. Die Aufgabe muss danach leicht angepasst werden. Es muss ein User mit Admin-Rechten gewählt werden und das Zeitintervall muss an die eigenen Bedürfnissen angepasst werden.

Laufwerksbuchstaben anpassen

Das Batch-Script DrivesNoStandby.bat sieht wiefolgt aus:

echo "DrivesNoStandby" > K:\DrivesNoStandby.txt

echo "DrivesNoStandby" >
Schreibt den Text "DrivesNoStandby" in die nachfolgend angegebene Datei. Der Text kann beliebig sein. Er dient lediglich dazu, keine leere Datei zu erzeugen.
K:\DrivesNoStandby.txt
Pfad und Name der Datei auf der externen Festplatte. In diesem Fall hat die Festplatte den Laufwerksbuchstaben K. Die Datei wird in diesem Beispiel im Wuzelverzeichnis der Festplatte angelegt.

In der Datei DrivesNoStandby.bat wird angenommen, dass die externe Festplatte den Laufwerksbuchstaben K hat. Finde mit dem Windows Explorer heraus (per Doppelklick auf dem Desktop auf Computer), welchen Laufwerksbuchstaben deine externe Festplatte hat. Öffne die Datei DrivesNoStandby.bat mit einem Texteditor (rechtsklick und Bearbeiten wählen) und ändere den Laufwerksbuchstaben entsprechend ab.

Wenn du mehrere externe Festplatten am Ruhemodus hindern willst, kannst du die Datei wie im nächsten Abschnitt beschrieben ergänzen.

Speichere die Datei ab.

Mehrere Festplatten am Ruhemodus hindern

Das Batch-Script DirvesNoStandby.bat kann so ergänzt werden, dass mehrere Festplatten am Ruhemodus gehindert werden. Bei der Aufgabenplanung muss nur darauf geachtet werden, dass das Intervall, mit dem die Dateien erstellt werden, kürzer ist, als die kürzeste Wartezeit aller Festplatten.

So sieht das Batch-Script aus, wenn drei Festplatten I, J und K am Standby gehindert werden sollen:

echo "DrivesNoStandby" > I:\DrivesNoStandby.txt
echo "DrivesNoStandby" > J:\DrivesNoStandby.txt
echo "DrivesNoStandby" > K:\DrivesNoStandby.txt

Aufgabenplaner starten

Ich weiss nicht, ob der Aufgabenplaner bei allen Windows 7 Versionen zur Verfügung steht oder nicht. In der Ultimate Version kann ich ihn aufrufen, indem ich Start anklicke und im Eingabefeld Aufgabe eingebe. Danach erscheint in der Liste der passenden Einträge oben im Menu der Eintrag Aufgabenplanung. Wenn ich diesen Eintrag anklicke, wird der Aufgabenplaner gestartet.

Den Aufgabenplaner findet man auch in der Systemsteuerung unter Verwaltung.‌

Aufgabe importieren

Die Aufgabe (regelmässiges Ausführen des Batch-Scripts) kann im Aufgabenplaner importiert werden, indem im Menü Aktion auf Aufgabe importieren... Imp geklickt wird. Achtung: Dieser Menüeintrag erscheint nicht, wenn im linken Fenster Aufgabenplanungsbibliothek angewählt ist.

Wähle im Öffnen Dialog im Laufwerk C:\ die Datei DrivesNoStandby.xml und klicke auf die Schaltfläche Öffnen. Darauf erscheint die folgende Dialogbox Aufgabe erstellen. Die Einstellungen sind von der Datei importiert worden.

Benutzerkonto wählen

Folgende Anpassungen müssen noch vorgenommen werden:

  1. Das Benutzerkonto einstellen
  2. Eventuell das Intervall anpassen

Das Benutzerkonto A wird im Register Allgemein B eingestellt. Klicke dazu auf die Schaltfläche Benutzer oder Gruppe ändern... C.

Klicke in der folgenden Dialogbox auf die Schaltflächer Erweitert... D.

Klicke in der folgenden Dialogbox auf Jetzt suchen E. Es werden in der Liste Suchergebnisse: alle auf dem aktuellen PC gefundenen Benutzerkonten angezeigt. Wähle ein Konto, welches als Administrator eingerichtet ist F und klicke danach auf OK.

Das Benutzerkonto wird in die vorherige Dialogbox übernommen G. Schliesse diese Dialogbox ebenfalls mit OK.

Trigger anpassen

Standardmässig wird alle 5 Minuten eine Datei auf die externe Festplatte geschrieben. Dieser Wert kann im Register Trigger H geändert werden. Klicke auf den Trigger I der geändert werden soll und klicke dann auf die Schaltfläche Bearbeiten.... Das Zeitintervall kann in den erweiterten Einstellungen J eingestellt werden. Die restlichen Einstellungen können mit OK übernommen werden.

Achtung: Wenn das Zeitintervall weniger als 5 Minuten sein soll, kann man einfach in das Feld klicken und z.B. 1 Minute eingeben! Weniger geht leider nicht.

Pfad zum Batch-Script anpassen

Wenn das Batch-Script DrivesNoStandby.bat nicht im Verzeichnis C:\ abgelegt wird, muss dies im Register Aktionen K angepasst werden. Selektiere die Aktion L in der Liste und klicke auf Bearbeiten... M. Der aktuelle Pfad zur Batch-Datei wird in der Zeile Programm/Skript: N angezeigt. Dieser Pfad kann mit der Schaltfläche Durchsuchen... O geändert werden.

Übrige Einstellungen

Die übrigen Einstellungen (siehe folgende Bilder) können einfach übernommen werden.

Aufgabe Bedingungen

Aufgabe Einstellungen

Aufgabe aktivieren

Nachdem alle Einstellungen vorgenommen sind, muss die Aufgabe noch aktiviert werden. Wähle dazu in der folgenden Dialogbox die Aufgabenplanungsbibliothek P. Drücke die Taste F5 auf der Tastatur, um die Liste daneben zu aktualisieren. Suche dort den Eintrag DrivesNoStandby Q und klicke ihn mit der rechten Maustaste an. Wähle dann im Kontextmenu Ausführen R.

Zum Schluss muss der PC neu gestartet werden, damit die Aufgabe regelmässig ausgeführt wird.

Kommentare

1Frank Winkler 25.11.2014 | 16:42

Hallo Walti,
vielen Dank für diesen wertvollen Tipp. Funktioniert tadellos.
Ich hatte das Problem, dass ein zeitgesteuertes Backup (alle 12 Stunden inkrementell) immer fehlschlug, weil meine externe USB 3.0 Festplatte sich schlafen gelegt hatte. Jetzt funzt es dank Deiner Beschreibung perfekt weil alle 5 Minuten die DrivesNoStandy.txt erneuert wird.

Lieben Dank und Gruss
Frank

2Toni Moretti 02.01.2015 | 05:24

Hallo Walti, sehr gute Idee, mit solch einem Skript zu arbeiten. Meine externe USB- Festplatte schaltet bereits nach 1 Minute in den Standby- Modus. Daher hilft mir diese Lösung leider nicht. Der Zyklus läßt sich ja nur minimal im 5 Minuten- Takt einstellen.

Viele Grüße
Toni

3wabiswalter@bislins.ch (Walter Bislin, Autor dieser Seite) 08.01.2015 | 21:50

Kürzeres Zeitintervall einstellen

Wenn das Zeitintervall für eine Aufgabe weniger als 5 Minuten sein soll, kann man einfach in das Feld wiederholen jede klicken und z.B. 1 Minute eingeben! Weniger geht leider nicht.

4alter Mann 19.02.2015 | 14:34

und wenn man den Befehl so macht?

echo "DrivesNoStandby" > d:\DrivesNoStandby.txt

ping -n 30 127.0.0.1 > NUL

echo "DrivesNoStandby" > D:\DrivesNoStandby.txt

schreibt in die Datei, wartet 30 Sekunden, pingt, beendet die batch
nach weiteren ca 30 Sekunden ist der Taskplaner wieder dran

5NoobSuchtHilfe 24.02.2015 | 20:29

Moin,

ich habe die komplette Aufgabe nach der Anleitung eingerichtet. Erst mal danke und Lob für die Schlüssige Erklärung.

Ich hab leider das Problem, dass die Aufgabe nicht ausgeführt wird. Wenn ich den Status auf "wird ausgeführt" setze, und dann den PC neu starte, fährt die Festplatte trotzdem nach 2 Minuten in den Standby. Ich habe den Trigger auf eine Minute gesetzt und den Namen der Festplatte in der bat-Datei angepasst.

Schon wenn ich kurz nach meiner Statusänderung im Aufgabenplaner rechts auf 'aktualisieren' drücke, ändert sich der Status wieder zurück auf 'bereit'.

Kann mir da jemand helfen?

MfG

6Toni 05.08.2015 | 08:44

Hi Walti,

danke für den Tipp!! :) funktioniert super :)
/edit: Ich habe es auf Windows 10 getestet bzw. batch läuft auf Win10

@NoobSuchtHilfe
hast du das Häckchen bei "Wiederholen" gesetzt?

Lg

Toni

7Björn 05.09.2015 | 00:48

...so, ich habe das ganze auch unter Win 10 ausprobiert und muss sagen, es funktioniert ganz hervorragend.
Aber es bleibt ein kleines aber...sobald ich die Dateien auf Versteckt setze, funktioniert es nicht mehr. Da mich die Dateien doch sichtbar sehr stören, gibt es eine Möglichkeit, die Dateien zu Verstecken?

Vielen Dank im Voraus.

8wabiswalter@bislins.ch (Walter Bislin, Autor dieser Seite) 05.09.2015 | 16:00

Schon probiert, die Datei nach dem Erzeugen gleich wieder zu löschen? Ich hoffe, dass das OS hier nicht optimiert und die Datei erst gar nicht erstellt. Ich denke, das müsste funktionieren.

9eLRon34 15.09.2015 | 23:30

Sehr schön :)
funzt super

10Zerlihetzer 25.10.2015 | 18:45

Super, Danke. Grossartige Anleitung!

11Eddy 30.10.2016 | 10:31

Von mir auch vielen Dank! Habe eine USB 3.0 3GB Toshiba. Bin fast verzweifelt, aber mit deinem Thread hab ich das Problem mit der ständig abschaltenden Festplatte endlich im Griff.

12Daniel 18.11.2017 | 08:27

Seit dem letzten großen Windows 10 Update Anfang November 2017 wird die Aufgabe nicht mehr gestartet. ID110
Hab die Aufgabe schon gelöscht und neu angelegt wie hier - identisches Ergebnis - die Aufgabe wird nicht mehr gestartet. :-(

13W. Ditz 18.05.2018 | 17:13

Bei meinem Win 10 Home (1803, Stand 05/2018) funktioniert die Aufgabe auch nicht auf Dauer. Ausserdem waren bei meiner externen 2.5TB Toshiba/Intenso HD die minimal im Scheduler möglichen 60s auch zu wenig.
ABER:
1) Dank alter Mann‘s Einfügen des verzögerten ping sind kleinere Zyklen als 60s ja eh kein Problem mehr!
UND:
2) Der Task Scheduler startet die Batchdatei beim Start schon erfolgreich - bis dahin ist alles OK. Die Aufgabe geht nur aus unerklärlichen Gründen zurück in Bereitschaft. Also müsste man nur dafür sorgen, dass die Batchdatei von alleine aktiv bleibt. Mein 25 Jahre altes DOS Wissen sagte: Loop!
Bei mir funktioniert so folgendes:

MARKE
ping -n 30 127.0.0.1 > NUL
echo „DrivesNoStandby“ > K:\DrivesNoStandby.txt
ping -n 30 127.0.0.1 > NUL
del K:\DrivesNoStandby.txt
goto MARKE

Gestartet wird alles durch den Aufgabenplaner, ab dann läuft der Batch von selbst.
An den Zeitkonstanten der pings kann man noch rumfummeln und so die Zeiten evtl. an die Eigenschaften unterschiedlicher HDs anpassen.

Im Taskmanager sehe ich durch das kleine Skript keine zusätzliche Last und man kann sein Funktionieren am Erscheinen/Verschwinden der Datei auf der HD gut sehen. Ich denke, da würde auch das Verstecken der Dateien keinen Unterschied machen, ausser dass man (hopefully) die Aktion nur noch an der AktivitätsLED der HD sieht...

Nochmal vielen Dank an wabi für die Superdokumentation! Vielleicht wird der workaround ja mal irgendwann überflüssig...

14R.Heid 05.10.2018 | 22:11

@ W. Ditz
funktioniert tadellos!

Vielen Dank an all jene, die sich diesem Problem angenommen und zur Lösung beigetragen haben.

Daumen hoch :)

15Armin Georg 14.02.2020 | 16:44

Herzlichen Dank für die Mühe die Sie sich gemacht haben. Funktioniert und das nervige Aufgehen des Explorers, wenn die Festplatte sich wieder anmeldet, ist Geschichte.

16Nicolas Dunz 23.02.2020 | 12:17

Klasse! Hat prima funktioniert. Ich hatte Probleme das meine HDDs die über einen Port Multiplier im Externen Gehäuse befinden, sich nach dem "Schlafengehen" nicht wieder wecken ließen! Vielen Dank für das Script und die gute Beschreibung! (Win10 Pro 1909)

17Patrick 30.12.2021 | 18:55

Danke für die Mühe, die Du Dir gemacht hast, jedoch bringt mir das leider nichts, da sich der Trigger innerhalb der Aufgabenplanung auf minimal 1 Minute stellen lässt.

Meine externen Festplatten wechseln jedoch alle im Sekundentakt in Standby - vollkommen gleich, ob an Notebook oder aktiver Dockingstation betrieben. Die Platten sind dabei von unterschiedlichen Herstellern (Samsung, WD etc.).

Diese ständigen Stop- und Startvorgänge, die ferner von nicht unerheblicher "Aufweck-Latenz" begleitet sind, können doch für die HDDs nicht gesund sein? Geplante Obsoleszenz? Ein Schelm, wer Böses denkt".

Mfg.

Patrick

Dein Kommentar zu diesem Artikel
Name
Email optional; wird nicht angezeigt
Kommentar
  • Name wird bei deinem Kommentar angezeigt.
  • Email ist nur für den Administrator, sie wird nicht angezeigt.
  • Du kannst deine Kommentare eine Zeit lang editieren oder löschen.
  • Du kannst Formatierungen im Kommentar verwenden, z.B: Code, Formeln, usw.
  • Externen Links und Bilder werden nicht angezeigt, bis sie der Admin freischaltet.
More Page Infos / Sitemap
Created Freitag, 4. April 2014
Scroll to Top of Page
Changed Freitag, 31. Juli 2015