Przenoszenie folderów Windows za pomocą łączy Junction (mklink)

23

Na moim dysku SSD jest mało miejsca i wydaje się, że w systemie Windows jest 19 GB folderu, który wystaje (% windir% \ Installer) i nie można go bezpiecznie usunąć (jak wyjaśniono tutaj: /server//q/15746 ).

Teraz mklinkzapewnia schludną małą rzecz zwaną Łączami Junction - jeśli uruchomię się z poleceniem cmd i przeniosę wszystkie pliki na inny dysk twardy, a następnie uruchomię to:

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

Czy w jakiś sposób popsuję mój system Windows, czy jest to w porządku? Czy uprawnienia / atrybuty folderów pozostaną takie same w całym linku?

Używałem wcześniej twardych linków i działało to jak urok znacznie uwalniający mój dysk SSD, ale nigdy nie próbowałem tego w folderach systemowych (nie rozumiem, dlaczego to nie działa, ale nie jestem w nastrój ponownej instalacji całych okien na wypadek, gdy się mylę)

veljkoz
źródło
Będzie bałagan. Zrobiłem dokładnie to i po tym, jak oprogramowanie takie jak Ramdisk nie udało się zainstalować. To samo z mklink / J i / D, tylko przeniesienie folderu z powrotem do c pozwala mi zakończyć instalację. Możliwe, że również moje aktualizacje systemu Windows miały problemy.
Cmazay

Odpowiedzi:

29

OK, zaryzykowałem i było warto - wszystko działa normalnie, ale uwolniłem 17 GB na moim dysku SSD.

Zasadniczo kroki są następujące:

  1. Uruchom ponownie komputer, naciśnij klawisz F8, aby wyświetlić menu rozruchu, i wybierz „Wiersz polecenia w trybie awaryjnym” (w celu zapewnienia możliwości przenoszenia folderu systemu Windows)
  2. Po wyświetleniu wiersza polecenia wpisz polecenie, aby przenieść folder na inny dysk:
    robocopy C:\Windows\Installer D:\Windows\Installer /MOVE /e
  3. Następnie utwórz link „Junction” dla brakującego folderu:
    mklink /J C:\Windows\Installer D:\Windows\Installer

Oczywiście zakłada to, że% WINDIR% to C: \ Windows, że na Twoim dysku D jest więcej miejsca, że ​​chcesz mieć miejsce docelowe w „D: \ Windows \ Installer” (może to być dowolny folder, po prostu być spójne) itp ...

To powinno załatwić sprawę.

veljkoz
źródło
czy to działa w systemie Windows 10?
Syaiful Nizam Yahya
Powinno - wszystkie informacje nadal dotyczą AFAIK. Jeśli spróbujesz, daj nam znać, jak poszło!
veljkoz
Pracowałem w systemie Windows 8 - bardzo niesamowite, dzięki.
Dunc,
1
Pracował w systemie Windows 7!
glenviewjeff,
3
Należy pamiętać, że może to powodować problemy podczas instalowania głównych aktualizacji systemu Windows (takich jak Windows 10 Fall Creators Update), ponieważ skrzyżowanie zostanie zastąpione pustym folderem.
0xA3
3

Próbując odzyskać miejsce na moim dysku głównego, o pojemności 120 GB SSD, znalazłem te instrukcje , w jaki sposób przeprowadzić Users, Program Files, Program Files (x86), i ProgramData. Zawiera niektóre zmiany rejestru „w celu ustawienia domyślnych lokalizacji”, takie jak:

  1. Zamień litery dysków ścieżek wymienionych w HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Windows / CurrentVersion (na przykład C:\Program Files\Common Filesstałby się D:\Program Files\Common Files)
  2. Zamień zmienne środowiskowe %SystemDrive%na ścieżkę dysku w HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Windows NT / CurrentVersion / ProfileList (tj. Stałby %SystemDrive%\ProgramDatasię D:\ProgramData)
Adam Cox
źródło
1
Uwaga: wszelkie już zainstalowane aplikacje mogą nadal wyglądać w starej lokalizacji, jeśli ich wpisy konfiguracji / rejestru wskazują lokalizację, która została rozwiązana przed tą zmianą. Ponowna instalacja tych aplikacji może rozwiązać problem.
TWiStErRob
2

Podjąłem podobne kroki, ale chciałem móc korzystać z komputera podczas kopiowania plików (mój folder miał 40 GB).

  1. Ręcznie skopiuj folder do F: \ Installer
  2. Korzystam z systemu Windows 8.1, więc aby przejść do rozruchu z wiersza polecenia, przytrzymałem Shift podczas klikania Uruchom ponownie, a następnie kliknąłem Zaawansowane
  3. Gdy znalazłem się w wierszu poleceń, musiałem dowiedzieć się, której litery dysku użyć (nie było to C: mimo że to jest mój% SystemDrive%, kiedy mój system operacyjny jest w pełni uruchomiony). Musiałem użyć, echo list volume | diskpartaby dowiedzieć się, że dysk C: był teraz określany jako E: a dysk F: wciąż był dyskiem F:
  4. Usunąłem ukryte i systemowe atrybuty E: \ Windows \ Installer za pomocą attrib -s -h E:\Windows\Installeri zmieniłem jego nazwę za pomocąrename "E:\Windows\Installer" "Installer_old"
  5. Mógłbym wtedy utworzyć połączenie mklink /J E:\Windows\Installer F:\Installer
kevinpo
źródło
2

Możesz użyć tej samej sztuczki dla pagefile.sys i swapfile.sys (nie jestem pewien, czy również dla hiberfile.sys, nie testowałem, ponieważ nienawidzę hibernacji podczas uruchamiania wielu systemów operacyjnych).

Po prostu upewnij się, że dezaktywujesz wirtualnego ram i uruchom ponownie przed utworzeniem dowiązań symbolicznych, a następnie po ich utworzeniu ponownie aktywuj wirtualnego ram.

Zwykle tworzę (za pomocą notatnika) pusty plik o przeznaczeniu łącza przed utworzeniem łącza.

Pamiętaj: kiedy Windows 10 UpGrade usunie linki i umieści prawdziwe pliki, po UpGrades możesz powtórzyć proces.

Pracuję do Windows 10 w wersji 1803.48, od WindowsXP (najstarszy, którego próbowałem).

Anonimowy
źródło
jeśli nie chcesz hibernacji, wyłącz ją za pomocą powercfg -h off. Korzystanie z łączy w tych plikach wydaje się pewnym potwierdzeniem katastrofy
NiKiZe
Po co męczyć się z przenoszeniem / liningk zamianą z zawartością TYMCZASOWĄ, której nie chcesz zachować, jeśli możesz po prostu wyłączyć ją na jednym dysku i włączyć na innym?
Oleg V. Volkov
0
  1. Skopiuj C:\Windows\Installerna inny dysk, taki jak D:\C\Windows\Installer.
  2. Sprawdź i porównaj rozmiary obu folderów, jeśli katalog źródłowy C:nie został zmieniony podczas kopiowania.
  3. Zmień nazwę folderu na dysku C:, np. Installer=>InstallerX
  4. Uruchom polecenie jako administrator i uruchom polecenie:
    • mklink /d C:\Windows\Installer D:\C\Windows\Installer
  5. Poczekaj chwilę (kilka dni), jeśli wszystko jest w porządku.
    • Jeśli tak, możesz usunąć kopię zapasową folderu C:\Windows\InstallerX.
    • Jeśli nie, usuń symboliczny folder C:\Windows\Installeri zmień nazwę z powrotem InstallerXdo Installerlub skopiuj folder D:\C\Windows\Installerdo C:\Windows\Installer.
Petr Voborník
źródło
To powiela inną odpowiedź i nie dodaje żadnej nowej treści. Nie publikuj odpowiedzi, chyba że masz coś nowego do dodania.
DavidPostill