Kesin bilgidir yayalım 😀
SSD'de yer açma

===========================================
Güncelleme 1 - Bunu gerçekten önemli şeylerde kullanmadan önce bir deneme yapın, nasıl oluşturuluyor, ne neyi etkiliyor, nasıl doğru siliniyor filan anlayın ondan sonra esas işlemi yapın derim ben.

Güncelleme 2 - Aslında bir kullanma alanı daha var. İlla SSD'den harddiske atmak zorunda değilsiniz, SSD'den başka bir SSD'ye de aktarabilirsiniz. Mesela bende C: 256 SSD ve D: 1TB HDD var. 256 SSD yetmiyor, ama oradaki programları harddiske atıp yavaşlatmak istemiyorum. Daha büyük bir ssd alacağım ama ona da yeniden windows kurmak istemiyorum. Bu nedenle C: 'deki programları yeni alacağım E:'deki SSD'ye aktaracağım. Hatta Harddiske aktardığım ama hızlı olmasını istediğim şeyleri de E:'ye aktaracağım. Yeni kurulum yapmadan ve hızdan feragat etmeden C: SSD'de yer açmış olacağım.

===========================================

Diyelimki bilgisayarınzda hem SSD (C:) hem de harddisk (D:) var. Ara yüklemeler hızlı olsun diye Battlefield (Photoshop / Android SDK / Autocad... install edilen ve çok yer tutan şey) SSD'ye kurdunuz, oynuyorsunuz. Ama bir süre sonra ssd'de yer açmanız gerekti şu 60 GB'lik Battlefield 'i keşke kolayca D'ye (bilgisayarın dahili harddiski) taşıyabilsem ama oyunu da bozmasam, yavaş mavaş çalışmaya sorunsuzca devam etse diyorsunuz ama nasıl yapacağınızı bilmiyorsunuz. Sonuçta kurulumu yapılan bir uygulama, sadece dosyaları C'den (SSD) D'ye taşırsanız çalışmayacak. Windows'un bir özelliği olan ve çok az kişinin bildiği *Junctions* yardımınıza koşuyor.

Directory junction ile 60GB'lik klasör D'deki yeni yerindeyken hala C'deymiş gibi davranıyor. Böylece kurulumunuzu hiç bozmadan 60GB'lik oyunu SSD'den harddiske aktarıyorsunuz. Nasıl mı, gelin hep birlikte bakalım 🙂

1- Battlefield'i D'deki (veya başka bir lokal path) yeni yerine taşıyoruz.
Yani örneğin "C:\Program Files\Battlefield 4" klasörünü "D:\Games\" altına taşıyoruz.
Artık "C:\Program Files\Battlefield 4" diye bir klasör yok. SSD 'de 60 GB yer açıldı, harddiskde 60 GB yer doldu.

2- command prompt'u açıyoruz.

3- mklink /j "C:\Program Files\Battlefield 4" "D:\Games\Battlefield 4"
diyoruz, alttaki gibi sonuç veriyor:
Junction created for "C:\Program Files\Battlefield 4" "D:\Games\Battlefield 4"

C:\Program Files\ 'ın içine gittiğinizde "Battlefield 4"'ün orada 60 GB olarak durduğunu göreceksiniz ancak SSD'nin kapasitesine baktığınızda hala 60 GB'lık açıklığı göreceksiniz.

Yani "C:\Program Files\Battlefield 4" klasörü 60 GB ama C'de yer tutmuyor. Çünkü burası aslında "D:\Games\Battlefield 4" bir yansıması.

Windows'a "C:\Program Files\Battlefield 4" dosya yoluyla ilgili bir işlem talebi geldiğinde bu işlemi "D:\Games\Battlefield 4" üzerinde yapıyor, yani tüm programlar ıvır zıvır herşey Battlefield hala C'deymiş gibi çalışmaya devam ediyor. Bu windowsun kendi özelliği.

"C:\Program Files\Battlefield 4" klasörü içinde bir değişiklik yaparsanız "D:\Games\Battlefield 4" içinde yapmış olursunuz.

"D:\Games\Battlefield 4" içinde değişiklik yaparsanız "C:\Program Files\Battlefield 4" içinde de o değişiklik gözükür.

Silmek için "C:\Program Files\Battlefield 4" 'i silmeniz yeterlidir bu durumda D'deki esas klasöre birşey olmaz. Ancak "C:\Program Files\Battlefield 4" içindeki klasörleri veya dosyaları silerseniz gerçek klasör ve dosyaları da silmiş olursunuz.

===========================================
Detaylar:
===========================================

C:\>mklink /?
Creates a symbolic link.

MKLINK [[/D] | [/H] | [/J]] Link Target

/D Creates a directory symbolic link. Default is a file
symbolic link.
/H Creates a hard link instead of a symbolic link.
/J Creates a Directory Junction.
Link Specifies the new symbolic link name.
Target Specifies the path (relative or absolute) that the new link
refers to.

===========================================

A junction is definitely not the same thing as a directory symbolic link, although they behave similarly. The main difference is that, if you are looking at a remote server, junctions are processed at the server and directory symbolic links are processed at the client. Also see Matthew's comment on the fact that this means symbolic links on the local file system can point to remote file systems.

Suppose that on a machine named Alice you were to put a junction point c:\myjp and a directory symbolic link c:\mysymlink, both pointing to c:\targetfolder. While you're using Alice you won't notice much difference between them. But if you're using another machine named Bob, then the junction point

\\Alice\c$\myjp will point to \\Alice\c$\targetfolder

but the symbolic link

\\Alice\c$\mysymlink will point to \\Bob\c$\targetfolder

(Caveat: by default, the system doesn't follow symlinks on remote volumes, so in most cases the second example will actually result in either "File Not Found" or "The symbolic link cannot be followed because its type is disabled.")

The difference between a directory symbolic link and a file symbolic link is simply that one represents a directory and one represents a file. Since the target of the link doesn't need to exist when the link is created, the file system needs to know whether to tell applications that it is a directory or not.

It should also be noted that creating a symbolic link requires special privilege (by default, only available to elevated processes) whereas creating a junction only requires access to the file system.

===========================================

Junctions , Hard Links, Soft Links, Symlink, Sembolik Link, Symbolic Link

#akış #junction #symlink #SymbolicLink #hardlink #softlink #semboliklink #bilelimöğrenelim #teknikkonu #SSD #disktemizleme #BirazYerAc #ssddeyeraçma

BeğenFavori PaylaşYorum yap
  • ÖG @ozgurg

    Bunu yapmak için neden komut satırı kullanmak zorundayız hala? Yıl 2017, hatırlatırım Microsoft.

  • nukleer @nukleer

    Bu aslında Windows'tan ziyade NTFS'in bir özelliği. Komut satırıyla hiç muhatap olmayayım diyenler için şöyle de bir tool var.

    http://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html

  • lterlemez @lterlemez

    Yalnız "Silmek için “C:\Program Files\Battlefield 4” ‘i silmeniz yeterlidir bu durumda D’deki esas klasöre birşey olmaz. Ancak “C:\Program Files\Battlefield 4” içindeki klasörleri veya dosyaları silerseniz gerçek klasör ve dosyaları da silmiş olursunuz." açıklaması çok kafa karışıtırıcı, yanlış bir şeyler yapmaya çok meyil ediyor. Biraz daha düzgün şekilde ifade edilmeli.

  • alipektas @alipektas

    Bi' arkadaşım masaüstünü bu şekilde yapıyordu uzun zaman önce. Sorduğumda anlatmıştı da ben niye bir yerlere not etmedim diye dert yanıyordum, sonra da unuttum zaten. Sağ ol, hem hatırlattığın için, hem bilgi için 🙂

  • Levent Alpsal @levent-alpsal

    DriveStore'da da 23 GB duruyor. Çoğu boşuna duran 23 GB'lik driver...

    Here I’ll explain you how safely release some space on your Windows Driver Store folder.

    What is DriverStore folder? This is a system folder that contains all your drivers, those that your Windows OS need, might need or was having installed recently. If you will remove something from this folder, device that utilize those drivers could stop working properly so do not remove anything without understanding what you’re removing and always do backup of your system 😉

    I’ll told you my story. My Windows folder on my newly updated Windows 10 was 50+GB and this Driver Store folder was around 12 GB. Digging in the deep of Driver Store folder I’ve found that nvlt.inf_amd64_41f5c7d134ee4285 folders taking about 350 MB each and I have around 30 of them for some reason. Clearly for the naming of nvlt.inf_amd64_41f5c7d134ee4285 it is NVidia driver (I have NVidia video adapter on my laptop). I don’t know how I’ve got 30 NVidia drives and why but I clearly do not want having all of them taking my disk space.

    To cleanup Driver Store folder, you need identify which of those drivers are in use by OS. To do this you need run in elevated (Run as Administrator) cmd command line: pnputil.exe -e that will enumerate all driver packages installed on a system, output will be something like this:

    pnputil

    For easier reading, I’ve exported all output to file like this: pnputil.exe /enum-drivers > c:\driveroutput.txt. Reading through my list I’ve found out that I can remove around 28 video driver packages 350 MB each and save almost 10 GB of space.

    Before removing any driver packages, I suggest backup them with this command: pnputil.exe /export-driver * c:\backup. Just keep in mind that this backup will take same or around same space that your current Driver Store folder occupied.

    Now, when I have backup I can remove all unused NVidia drivers with the following command: pnputil.exe /delete-driver nv#.inf. This command will remove all NVidia relate drivers except those which are now in use by the system.

    Basically, you can try remove all unused drives, but I would not suggest you doing this because there could be some hidden devices that might need these driver packages.

    If something gone bad, you can install packages from backup, just reference to pnputil.exe application help.

    That is it. With this little command, I’ve saved 10GB of space by cleaning up Driver Store folder on my Windows OS.

    https://sysadminstricks.com/tricks/windows-tricks/cleaning-up-windows-driver-store-folder.html