Verschieben von Windows-Ordnern mit Junction-Links (mklink)


23

Der Speicherplatz auf meiner SSD geht zur Neige und in Windows scheint sich ein 19-GB-Ordner zu befinden, der hervorsteht (% windir% \ Installer) und nicht sicher gelöscht werden kann (wie hier erklärt: /server//q/15746) ).

Jetzt mklinkbietet das eine nette Kleinigkeit namens Junction-Links - wenn ich in der Eingabeaufforderung cmd boote und alle Dateien auf die andere Festplatte verschiebe und dann Folgendes ausführe:

mklink /J C:\Windows\Installer D:\Windows\Installer

Werde ich mein Windows irgendwie durcheinander bringen oder ist das in Ordnung? Bleiben die Ordnerberechtigungen / -attribute über den Link gleich?

Ich habe zuvor feste Links verwendet, und es hat wie ein Zauber gewirkt, der meine SSD erheblich entlastet, aber ich habe es noch nie in Systemordnern versucht (ich verstehe nicht, warum es nicht funktionieren würde, aber ich bin nicht in der Stimmung, ganze Fenster neu zu installieren, falls ich mich irre)


Es wird durcheinander sein. Ich habe genau das getan und nachdem Software wie Ramdisk nicht installiert werden konnte. Das Gleiche gilt für mklink / J und / D. Verschieben Sie nur den Ordner zurück, damit ich die Installation abschließen kann. Möglicherweise hatten auch meine Windows-Updates Probleme.
2.

Antworten:


29

OK, ich bin das Risiko eingegangen und es hat sich gelohnt - alles funktioniert normal, aber ich habe jetzt die 17 GB auf meiner SSD freigegeben.

Grundsätzlich sind die Schritte:

  1. Starten Sie Ihren PC neu, drücken Sie F8, um das Startmenü aufzurufen, und wählen Sie "Eingabeaufforderung im abgesicherten Modus" (um sicherzustellen, dass Sie den Windows-Ordner verschieben können).
  2. Wenn die Eingabeaufforderung angezeigt wird, geben Sie den Befehl ein, um den Ordner auf ein anderes Laufwerk zu verschieben:
    robocopy C:\Windows\Installer D:\Windows\Installer /MOVE /e
  3. Erstellen Sie als Nächstes einen "Junction" -Link für den fehlenden Ordner:
    mklink /J C:\Windows\Installer D:\Windows\Installer

Dies setzt natürlich voraus, dass Ihr% WINDIR% C: \ Windows ist, dass Ihr Laufwerk D über mehr Speicherplatz verfügt und dass Sie Ihr Ziel in "D: \ Windows \ Installer" haben möchten (es kann jeder Ordner sein, nur sein) konsistent) etc ...

Dies sollte den Trick machen.


funktioniert das in Windows 10?
Syaiful Nizam Yahya

Es sollte - alle Informationen gelten weiterhin AFAIK. Wenn Sie es versuchen, lassen Sie uns wissen, wie es gelaufen ist!
Veljkoz

Arbeitete unter Windows 8 - sehr genial, danke.
Dunc

1
Arbeitete unter Windows 7!
Glenviewjeff

3
Beachten Sie, dass dies bei der Installation wichtiger Windows-Updates (z. B. Windows 10 Fall Creators Update) zu Problemen führen kann, da die Junction durch einen leeren Ordner ersetzt wird.
0xA3

3

Bei dem Versuch , Platz auf meinem Hauptantrieb zurückzufordern, eine 120 GB SSD, fand ich diese Anweisungen , wie man verlagern Users, Program Files, Program Files (x86), und ProgramData. Es enthält einige Registrierungsänderungen "zum Festlegen von Standardspeicherorten" wie folgt:

  1. Ersetzen Sie die Laufwerksbuchstaben der Pfade, die unter HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Windows / CurrentVersion aufgeführt sind (beispielsweise C:\Program Files\Common Fileswürden D:\Program Files\Common Files)
  2. Ersetzen Sie Umgebungsvariablen %SystemDrive%durch Laufwerkspfad bei HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Windows NT / CurrentVersion / ProfileList (dh %SystemDrive%\ProgramDatawürde D:\ProgramData)

1
Hinweis: Bereits installierte Apps werden möglicherweise weiterhin am alten Speicherort angezeigt, wenn ihre Konfigurations- / Registrierungseinträge auf einen Speicherort verweisen, der vor dieser Änderung aufgelöst wurde. Neuinstallation dieser Apps kann das Problem beheben.
TWiStErRob,

2

Ich habe ähnliche Schritte unternommen, aber ich wollte meinen Computer verwenden können, während ich die Datei kopierte (mein Ordner hatte 40 GB).

  1. Kopieren Sie den Ordner manuell nach F: \ Installer
  2. Ich verwende Windows 8.1, um zu einem Befehlszeilenstart zu gelangen. Ich habe die Umschalttaste gedrückt, während ich auf Neustart und dann auf Erweitert geklickt habe
  3. In der Befehlszeile musste ich herausfinden, welcher Laufwerksbuchstabe verwendet werden sollte (es war nicht C: obwohl dies mein% SystemDrive% ist, wenn mein Betriebssystem vollständig gebootet ist). Ich musste echo list volume | diskpartherausfinden, dass das C: -Laufwerk jetzt als E: bezeichnet wurde und das F: -Laufwerk immer noch das F: -Laufwerk war
  4. Ich entfernte die versteckten und Systemattribute auf E: \ Windows \ Installer mit attrib -s -h E:\Windows\Installerund benannte es mit umrename "E:\Windows\Installer" "Installer_old"
  5. Ich könnte dann die Kreuzung mit erstellen mklink /J E:\Windows\Installer F:\Installer

2

Sie können den gleichen Trick für pagefile.sys und swapfile.sys verwenden (nicht sicher, ob auch für hiberfile.sys, nicht getestet, da ich den Ruhezustand auf Multi-Boot hasse).

Stellen Sie einfach sicher, dass Sie den virtuellen RAM deaktivieren und neu starten, bevor Sie die Symlinks erstellen, und reaktivieren Sie den virtuellen RAM, nachdem Sie ihn erstellt haben.

Ich neige dazu, (mit Notepad) eine leere Datei zu erstellen, bevor ich den Link erstelle.

Denken Sie daran: Bei Windows 10 UpGrade werden die Links entfernt und echte Dateien abgelegt. Nach UpGrades können Sie den Vorgang wiederholen.

Arbeitet bis Windows 10, Version 1803.48, seit Windows XP (das älteste, das ich ausprobiert hatte).


Wenn Sie keinen Winterschlaf möchten, schalten Sie ihn powercfg -h offstattdessen mit ab. Das Verwenden von Links auf diese Dateien klingt nach einer sicheren Quittung für eine Katastrophe
NiKiZe

Warum sollten Sie sich die Mühe machen, den Inhalt von moving / liningk mit dem TEMPORARY-Inhalt zu tauschen, den Sie nicht beibehalten möchten, wenn Sie ihn einfach auf einem Laufwerk deaktivieren und auf einem anderen aktivieren können?
Oleg V. Volkov

0
  1. Kopieren Sie C:\Windows\Installerauf eine andere Festplatte wie D:\C\Windows\Installer.
  2. Überprüfen und vergleichen Sie die Größe beider Ordner, wenn das Quellverzeichnis C:beim Kopieren nicht geändert wurde.
  3. Ordner auf der Festplatte umbenennen C:, zB Installer=>InstallerX
  4. Führen Sie den Befehl als Administrator aus und starten Sie den folgenden Befehl:
    • mklink /d C:\Windows\Installer D:\C\Windows\Installer
  5. Warten Sie einige Zeit (einige Tage), wenn alles in Ordnung ist.
    • Wenn ja, können Sie das Backup des Ordners löschen C:\Windows\InstallerX.
    • Wenn nein, löschen Sie den Ordner symbolisch C:\Windows\Installerund benennen Sie ihn wieder InstallerXin um Installeroder kopieren Sie ihn wieder D:\C\Windows\Installerin C:\Windows\Installer.

Dies dupliziert eine andere Antwort und fügt keinen neuen Inhalt hinzu. Bitte posten Sie keine Antwort, es sei denn, Sie haben tatsächlich etwas Neues beizutragen.
DavidPostill
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.