Memindahkan folder Windows dengan Junction Junction (mklink)

23

Ruang pada SSD saya hampir habis, dan sepertinya ada folder 19GB di Windows yang menonjol (% windir% \ Installer) dan tidak dapat dihapus dengan aman (seperti yang dijelaskan di sini: /server//q/15746 ).

Sekarang, ini mklinkmemberikan hal kecil yang rapi yang disebut dengan tautan Tautan - jika saya boot di cmd prompt, dan pindahkan semua file ke hard drive lain, dan kemudian jalankan ini:

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

Apakah saya akan mengacaukan Windows saya dengan cara tertentu, atau apakah ini hal yang OK untuk dilakukan? Apakah izin folder / atribut tetap sama di seluruh tautan?

Saya telah menggunakan tautan keras sebelumnya, dan itu berfungsi seperti pesona yang membebaskan SSD saya secara signifikan, tetapi saya belum pernah mencobanya di folder sistem (saya tidak melihat mengapa itu tidak berhasil, tapi saya tidak di mood menginstal ulang seluruh jendela jika saya salah)

veljkoz
sumber
Itu akan mengacaukan. Saya melakukan ini dan setelah perangkat lunak seperti Ramdisk gagal diinstal. Sama dengan mklink / J dan / D, hanya memindahkan folder kembali ke c biarkan saya selesai menginstal. Mungkin juga pembaruan windows saya memiliki masalah.
Cmazay

Jawaban:

29

OK, saya telah mengambil risiko dan itu sepadan - semuanya bekerja secara normal, tetapi saya telah membebaskan 17GB pada SSD saya sekarang.

Pada dasarnya, langkah-langkahnya adalah:

  1. Nyalakan kembali PC Anda, tekan F8 terus menerus untuk memunculkan menu boot, dan pilih "Command prompt with safe mode" (ini untuk memastikan Anda dapat memindahkan folder windows)
  2. Setelah prompt perintah ditampilkan, ketik perintah untuk memindahkan folder ke drive lain:
    robocopy C:\Windows\Installer D:\Windows\Installer /MOVE /e
  3. Selanjutnya, buat tautan "Persimpangan" untuk folder yang hilang:
    mklink /J C:\Windows\Installer D:\Windows\Installer

Tentu saja, ini mengasumsikan bahwa% WINDIR% Anda adalah C: \ Windows, bahwa drive D Anda adalah yang memiliki lebih banyak ruang, bahwa Anda menginginkan tujuan Anda di "D: \ Windows \ Installer" (bisa berupa folder apa saja, hanya konsisten) dll ...

Ini harus melakukan trik.

veljkoz
sumber
apakah ini berfungsi di windows 10?
Syaiful Nizam Yahya
Seharusnya - semua info masih berlaku AFAIK. Jika Anda mencobanya, beri tahu kami bagaimana hasilnya!
veljkoz
Bekerja pada Windows 8 - sangat luar biasa, terima kasih.
Dunc
1
Bekerja di Windows 7!
glenviewjeff
3
Perlu diketahui bahwa ini dapat menyebabkan masalah ketika menginstal pembaruan Windows utama (seperti Pembaruan Windows 10 Fall Creators) karena persimpangan akan diganti dengan folder kosong.
0xA3
3

Ketika mencoba untuk merebut kembali ruang pada drive utama saya, sebuah 120GB SSD, saya menemukan petunjuk ini tentang cara untuk pindah Users, Program Files, Program Files (x86), dan ProgramData. Ini termasuk beberapa pengeditan registri "untuk menetapkan lokasi default", sebagai berikut:

  1. Ganti huruf jalur lintasan yang tercantum di HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Windows / CurrentVersion (misalnya C:\Program Files\Common Filesakan menjadi D:\Program Files\Common Files)
  2. Ganti variabel lingkungan %SystemDrive%dengan jalur drive di HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Windows NT / CurrentVersion / ProfileList (yaitu %SystemDrive%\ProgramDataakan menjadi D:\ProgramData)
Adam Cox
sumber
1
Catatan: aplikasi apa pun yang sudah diinstal mungkin masih mencari di lokasi lama jika konfigurasi / entri registri menunjuk ke lokasi yang diselesaikan sebelum perubahan ini. Instal ulang aplikasi tersebut dapat memperbaiki masalah.
TWiStErRob
2

Saya mengambil langkah yang sama, tetapi saya ingin dapat menggunakan komputer saya sementara saya melakukan salin file (folder saya adalah 40 GB).

  1. Salin folder secara manual ke F: \ Installer
  2. Saya menggunakan Windows 8.1, jadi untuk sampai ke boot baris perintah saya menahan Shift sambil mengklik Restart, lalu mengklik Tingkat Lanjut
  3. Setelah di baris perintah, saya harus mencari tahu huruf drive mana yang harus digunakan (itu bukan C: meskipun itu adalah% SystemDrive% saya ketika OS saya sepenuhnya boot). Saya harus menggunakan echo list volume | diskpartuntuk mengetahui bahwa drive C: sekarang disebut sebagai E: dan drive F: masih merupakan drive F:
  4. Saya menghapus atribut sistem dan tersembunyi pada E: \ Windows \ Installer dengan attrib -s -h E:\Windows\Installerdan menamainya denganrename "E:\Windows\Installer" "Installer_old"
  5. Saya kemudian dapat membuat persimpangan dengan mklink /J E:\Windows\Installer F:\Installer
kevinpo
sumber
2

Anda dapat menggunakan trik yang sama untuk pagefile.sys dan swapfile.sys (tidak yakin apakah juga untuk hiberfile.sys, tidak diuji karena saya benci berhibernasi pada multi-boot).

Cukup pastikan untuk menonaktifkan ram virtual dan reboot sebelum membuat symlink, kemudian setelah membuat mereka mengaktifkan kembali ram virtual.

Saya cenderung membuat (dengan notepad) file kosong pada takdir tautan sebelum membuat tautan.

Ingat: Ketika Windows10 UpGrade akan menghapus tautan dan meletakkan file nyata, setelah UpGrades Anda dapat mengulangi prosesnya.

Bekerja hingga Windows 10 versi 1803.48, sejak WindowsXP (tertua yang pernah saya coba).

Anonim
sumber
jika Anda tidak ingin hibernasi, aktifkan dengan powercfg -h off. Menggunakan tautan pada file-file ini terdengar seperti tanda terima pasti atas musibah
NiKiZe
Mengapa repot memindahkan / mengganti swap dengan konten SEMENTARA yang tidak ingin Anda pertahankan jika Anda dapat menonaktifkannya di satu drive dan mengaktifkannya di drive lain?
Oleg V. Volkov
0
  1. Salin C:\Windows\Installerke disk lain seperti D:\C\Windows\Installer.
  2. Periksa dan bandingkan ukuran kedua folder jika direktori sumber pada C:belum diubah selama penyalinan.
  3. Ganti nama folder pada disk C:, misalnya Installer=>InstallerX
  4. Jalankan perintah sebagai admin dan jalankan jalankan perintah ini:
    • mklink /d C:\Windows\Installer D:\C\Windows\Installer
  5. Tunggu beberapa saat (beberapa hari) jika semuanya baik-baik saja.
    • Jika ya, Anda dapat menghapus cadangan folder C:\Windows\InstallerX.
    • Jika tidak ada, menghapus simbolis folder C:\Windows\Installerdan rename kembali InstallerXke Installer, atau menyalin kembali folder D:\C\Windows\Installerke C:\Windows\Installer.
Petr Vobornik
sumber
Ini menggandakan jawaban lain dan tidak menambahkan konten baru. Tolong jangan memposting jawaban kecuali Anda benar-benar memiliki sesuatu yang baru untuk disumbangkan.
DavidPostill