Seiten

Montag, 11. Juni 2012

RamDisk Auf 64-Bit Windows und Temp-Verzeichnisse ändern

Eine RamDisk ist ein virtuelles Laufwerk in eurem Rechner das einzig und allein im Arbeitsspeicher abgelegt ist. Der Vorteil liegt darin, dass der Zugriff darauf extrem schnell ist (5-10mal schneller als bspw. der Zugriff auf eine SSD). Davon kann man bspw. profitieren, wenn man sein temporäres Verzeichnis darauf ablegt, weil viele Programme dies nutzen, um Dateien kurzzeitig zwischenzuspeichern. Die meisten Setups "parken" hier ihre Dateien zwischen, ebenso wie die meisten Packtools (7-zip, WinRAR). Ein weiterer Vorteil ist, dass dieses Laufwerk nach einem Neustart des Rechners immer automatisch geleert wird also kein Datenmüll übrig bleibt. Das kann man auch dafür nutzen, um die Cache-Verzeichnisse des Browsers darauf abzulegen (z.B. für Chrome) was wiederum auch Vorteile in Bezug auf Datensicherheit bringt.

Eine RamDisk unter Windows einzurichten ist vom Prinzip her keine große Sache und es gibt auch einige kostenlose Programme dafür. Die meisten unterliegen aber Beschränkungen wie bspw. nur lauffähig auf 32-Bit Betriebssystemen, Werbung oder Beschränkung auf 4 GB. Gerade wer ein 64-Bit Windows installiert hat und viel Arbeitsspeicher zur Verfügung hat kann von einer großen RamDisk profitieren. Das beste Programm für diesen Zweck ist meiner Meinung nach ImDisk. Keine Werbung, keine Größenbeschränkung, auf 64-Bit lauffähig und skriptfähig. Außerdem ist für das Anlegen/Ändern kein Neustart notwendig. ImDisk hat außer der RamDisk-Funktion noch einiges mehrt zu bieten auf das ich aber hier nicht näher eingehen will.

Die folgende Anleitung funktioniert genau so auch unter 32-Bit Betriebssystemen, jedoch kann leider nicht so viel Speicher verwendet werden.

Ladet euch den Installer herunter ("Download ImDisk install package") und installiert das Programm. Nun findet man in der Systemsteuerung einen neuen Eintrag für ImDisk, welches die grafische Oberfläche zur Verfügung stellt:

Für einen Anfänger und zum Ausprobieren ist dies ganz gut, hat jedoch den Nachteil das nach einem Neustart das virtuelle Laufwerk weg ist und das neu angelegte virtuelle Laufwerke formatiert werden muss. Aus diesem Grund beziehe ich mich hier auf die Kommandozeile von ImDisk, die automatisch dabei ist.

Zuerst starten wir eine Konsole mit Adminstratorrechten und legen ein Laufwerk R mit bspw. 5 Gigabyte an. Die Größe und der Laufwerksbuchstabe kann natürlich frei gewählt werden:

imdisk -a -s 5G -m R: -p "/fs:ntfs /q /y"

Zur Erklärung:

  • -a legt ein neues virtuelles Laufwerk an
  • -s 5G legt die Größe auf 5Gigabyte fest
  • -m R: weist den Laufwerksbuchstaben R: (für RamDisk) zu
  • -p "/fs:ntfs /q /y" übergibt die Parameter an den Windows-Format-Befehl (als NTFS formatieren, schnelles Formatieren und ohne Rückfrage)
Wenn das geklappt hat, ist nun im Explorer ein neues Laufwerk mit 5 Gigabyte Speichergröße vorhanden und kann genutzt werden. Nachdem wir nun den richtigen Befehl gefunden haben müssen wir ImDisk nur noch dazu bringen dies immer automatisch nach einem Neustart einzubinden. Im Autostart-Ordner funktioniert leider nicht, da für das automatisch Formatieren Adminrechte benötigt werden. Als Ersatz kann hierfür die Aufgabenplanung genutzt werden.
In der Aufgabenplanung erstellen wir eine neue Aufgabe (nicht die einfache Aufgabe erstellen, da diese zu wenig Optionen hat) und füllen die erforderlichen Felder aus:



Der Name ist frei wählbar, wichtig ist aber das "mit höchsten Privilegien" ausgewählt ist.
Beim Reiter Trigger erstellen wir einen neuen Trigger so das die Aufgabe bei jedem Systemstart ausgeführt wird:


Nun folgt der Reiter Aktion, wo wir nun das eigentliche Anlegen der RamDisk durchführen:


Der Pfad zur imdisk.exe ist normalerweise C:\Windows\System32\imdisk.exe und wird hier ausgewählt. Wichtig sind zudem die Argumente, die wir vorher in der Kommandozeile bestimmt haben. (im Bsp. ist das -a -s 5G -m R: -p "/fs:ntfs /q /y" )

Nun legen wir noch die temporären Ordner auf diese RamDisk um von der eben angelegten RamDisk zu profitieren. Wichtig ist vorher einen Neustart durchzuführen, um zu überprüfen, ob das automatische Anlegen der RamDisk funktioniert hat.

Um alle Temp-Verzeichnisse auf die RamDisk zu legen müssen wir nur ein paar Umgebungsvariablen anpassen. Dazu starten wir die Systemeigenschaften (Win+Pause) und klicken auf "Erweiterte Systemeinstellungen". Beim Reiter "Erweitert sehen wir nun ganz unten den Knopf "Umgebungsvariablen":


Bei den Umgebungsvariablen ändern wir nun die Benutzervariablen TEMP und TMP und auch die Systemvaraiblen TEMP und TMP auf das neue Laufwerk ab (hier: R:\). Im Anschluss sollte das dann folgendermaßen aussehen:


Ein letzter Neustart, um zu überprüfen, ob Alles funktioniert und schon sind wir fertig.

Kommentare:

  1. Hallo. Also bei mir startet Win 7 64 BIT die Aufgabe nicht. Habe alles probiert. Nicht verschrieben oder sonst was. Haben Sie einen Tipp?

    AntwortenLöschen
    Antworten
    1. Hallo Stephan,

      ob der Befehl in der Kommandozeile läuft hast du sicherlich probiert nehme ich an. Dann kann es nur noch sein das der Haken für "Mit höchsten Privilegien ausführen" nicht gesetzt ist. Das Beste ist vielleicht noch einmal ganz von vorne zu beginnen und die Anleitung noch einmal Schritt für Schritt durchzuführen.

      Viele Grüße,
      Danny

      Löschen
  2. Hallo. Vielen Dank für die Rückmeldung.

    Keine Chance. Kann es sein, dass das bei Notebooks nicht geht? Ich habe auch schon versucht den Haken bei "nur im Netzbetrieb anmelden" weggenommen.

    Das ist unter dem Reiter Energie zu finden.

    Ich versuche es nachher mal am Tower.
    Klappt das bei Notebooks ggf nicht?

    Viele Grüße

    AntwortenLöschen
  3. Ach so. Ja. Wenn ich die Aufgabe nach dem Systemstart manuell ausführe klappt alles.

    AntwortenLöschen
  4. Wenn ich in der Aufgabenverwaltung reinschaue schreibt er:
    Der angeforderte Dienst konnte nicht ausgeführt werden, da der Benutzer nicht am Netzwerk angemeldet ist. Der angegebene Dienst ist nicht vorhanden. 0x800704DD

    AntwortenLöschen
    Antworten
    1. Hallo,

      wahrscheinlich nutzt du einen Laptop, der normalerweise an einer Domäne hängt (wahrscheinlich ein Firmenlaptop). Evtl. könntest du das lösen indem du dein lokales Konto anstatt des Domänenkontos für die Anmeldung benutzt. Dies kann man im ersten Reiter der Aufgabenplanung ändern (Benutzer oder Gruppe ändern). Hier suchst du nach deinem lokalen Konto (z.B. Rechnername\Stephan) und nutzt dies für die Anmeldung. Wichtig ist das bei "Rechnername" nicht die Domäne deiner Firma steht.

      Viele Grüße,
      Danny

      Löschen