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.
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.
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.
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:
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.
Das Batch-Script DrivesNoStandby.bat sieht wiefolgt aus:
echo "DrivesNoStandby" > K:\DrivesNoStandby.txt
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.
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
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.
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.
Folgende Anpassungen müssen noch vorgenommen werden:
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.
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.
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.
Die übrigen Einstellungen (siehe folgende Bilder) können einfach übernommen werden.
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.
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
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
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.
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
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
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
...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.
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.
Sehr schön :)
funzt super
Super, Danke. Grossartige Anleitung!
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.
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. :-(
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:
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...
@ W. Ditz
funktioniert tadellos!
Vielen Dank an all jene, die sich diesem Problem angenommen und zur Lösung beigetragen haben.
Daumen hoch :)
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.
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)
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