Windows 7 Sanal Klasörleri?


16

Steam kurulu. Steam, c: \ Program Files \ Steam klasörüne kurulur. Steam, çeşitli oyunları SteamApps adlı bir alt klasöre indirir. Mevcut tek seçenek, buharın uygulamaları buharla aynı konuma indirip yüklemesidir. Tipik bir kurulum şöyle görünebilir:

C:\Program Files\Steam\SteamApps\common\Game1
C:\Program Files\Steam\SteamApps\common\Game2
C:\Program Files\Steam\SteamApps\common\Game3
C:\Program Files\Steam\SteamApps\common\Game4

Vb.

C sürücüm bir SSD, bu nedenle alan bir sorundur. Game1 çok disk yoğundur, bu yüzden C sürücüsünde kalmasına ihtiyacım var, ancak Game2 ve Game3'ün yüklenmesini istediğim bir teraryum alanım var.

"Game2" adında bir sanal klasör oluşturmanın ve daha büyük sabit diskimi gerçekten işaret etmenin ve Steam'in (veya herhangi bir uygulamanın gerçekten) C sürücüsündeki konuma göz atabileceği şekilde yapmanın bir yolu var mı? hatta gerçekten D sürücüsüne eriştiğini fark ettiniz: sanal klasör nereye işaret ediyor?

Sonuçta, C: \ Program Files \ Steam \ SteamApps \ Common \ Game2 bir klasör olarak var olacaktı ama gerçekte D: \ Games \ Game2 ile eşleşiyor.


1
Aynı "sorunu" kendim var. Yaptığım şey şu anda oynadığım oyunların bir yedeğini almak, daha sonra yerel içeriği silmek. Tekrar oynatmak istediğinizde "Steam -> yedekleme ve geri yükleme" menüsüne gidip onları geri yüklersiniz. Bu şekilde yeniden yüklerken tüm verileri tekrar indirmeniz gerekmez. Ancak farklı disklerde oyun oynayamayacağınız berbat bir tasarım.
T. Kaltnekar

1
Ayrıca mükemmel "Windows'taki bağlantı türlerini" de bağlayacağım. Superuser.com/a/347946/24500
surfasb


1
Daha da iyisi ... Aşağıda yeni bir cevapta daha ayrıntılı bilgi verdim. Lütfen bir bak.
Flak DiNenno

Yanıtlar:


21

Takip etmeyi dene:

Yönetici izinleriyle bir komut istemi açın:

mklink / D Virtual_Folder_Here Gerçek_Klasör_Burada

Örneğin, D: \ Games'e bir şey yüklemek istiyorsunuz, ancak C: \ Games olarak görünmesini istiyorsunuz.

mklink / DC: \ Oyunlar D: \ Oyunlar

Bu, C: \ Game olarak da görünen bir D: \ Game klasörü oluşturacaktır. C: \ Game'i referans alan her şey D: \ Game'e yönlendirilecektir.

Steam'e tamamen aşina olmadığım için, tam klasörünüzle eşleşen bir örnek vermedim. Steam, yüklediği klasörü seçmenize izin veriyorsa (Bu, sadece diğer sürücüye yüklememeniz nedeniyle, o kadar emin değilim.) Önce sembolik bağlantı oluşturabilirsiniz. Ancak bunu yapmazsa, yeni konuma taşıyarak ve ardından sembolik bağlantı oluşturarak bazı dosya aktarımları yapmanız gerekebilir. Misal:

Steam, oyununuzu şuraya yükledi: C: \ Program Files \ Steam \ SteamApps \ common \ Game2

Şimdi klasörünüzü oluşturursunuz: D: \ GameGoesHere

Ardından, tüm dosyaları orijinal klasörden kopyalayıp D: \ GameGoesHere'a koyduğunuzda, bağlantıyı oluşturabilirsiniz:

mklink / D "C: \ Program Dosyaları \ Steam \ SteamApps \ common \ Game2" "D: \ GameGoesHere"

Dikkat "Program Files" aralığı nedeniyle alıntılar kullandım. Ayrıca bağlantı oluşturmadan önce sanal klasörün gerçek bir klasör OLMAMASI gerektiğini unutmayın. Bu nedenle, bağlantı olmasını istediğiniz klasör varsa, önce silmeniz gerekir (Kopyalamadan önce değil, elbette!)


9

CEVAP: Bu çözümler neden (ve nasıl) işe yarıyor


Bu alanı geri kazanmanız / kullanımı başka bir sürücüye yeniden yerleştirmeniz gerekiyorsa harika seçeneklere sahipsiniz

Gibi herhangi bir yeni depolama yerine güvenle taşıyabilirsiniz ...

  • yerel / canlı depolama
  • çevrimiçi depolama
  • yakın hat depolama
  • çevrimdışı depolama

... OLD konumunuz NTFS ve yeni konum olduğu sürece :

  1. olan SMB tabanlı
  2. Windows LANman ile uyumludur - sembolik bağlantılar kullanıyorsanız / bir ağ sunucusuna / aygıta yeniden konumlandırmak istiyorsanız (aşağıya bakın ()
  3. aşağıdaki gibi bir araç kullanılarak mevcut dosya sistemine / " My Computer" eklenebilir / atanabilir :
    • DOS / Windows kabuk assignkomutu
    • Windows "Bilgisayar Yönetimi" ( compmgmt.msc)
  4. bir sürücü harfine veya başka bir bağlama noktasına / dizine monte edilebilir

Yani, aslında bugün itibariyle (2014-05-02), hakkında konuşuyoruz:

  • başka bir canlı (monte edilmiş) bölüm
  • FAT veya NTFS gibi canlı bir dosya sistemine sahip bir optik disk (CD, DVD vb.)
  • harici bir sabit disk
  • bir USB sürücü
  • bir ağ sürücüsü

    NOT:

    Medya istenirse veya eksik dosyalar / eksik konum hakkında herhangi bir hata alırsanız, zaten canlı bir bölüm değilse sürücünüzü / medyanızı yeniden taktığınızdan / yeniden taktığınızdan emin olun.

.

10 üzerinden 9, durum böyle olacak:

Bu nedenle, bunun çok basit olduğunu göreceksiniz ve seçim yapmak için birkaç harika seçeneğiniz var, bu da açıkça aynı sonuçları veriyor:

  1. Yeni konuma bir dizin bağlantısı oluşturun:

    • Kavşaklar, bir dizinin diğerini göstermesine izin verir.
    • Kavşaklar sadece yerel depolamada kullanılabilir
    • Dosya sistemi düzeyinde, Dosya Sistemi Tablosunda (FSTAB) bir diğer ad girişi olarak tanınırlar.
      • Bu nedenle, işletim sisteminin kendisi de dahil olmak üzere tüm programlar için şeffaftır.
      • Başka bir deyişle, başka bir yere (kısayol gibi) işaret eden ve bu nedenle her zaman olaysız çalışan bir dosya olarak görülmez.
    • Birleşimler yalnızca dosyalara mutlak başvurular içerebilir. Bu nedenle, tüm dizin yapısını içinde bir kavşakla hareket ettirseniz bile, yapı tamamen sağlamken, kavşakınızı yeniden oluşturmanız gerekir.
    • Birleşimler herhangi bir şey olarak adlandırılabilir, yani işaret ettikleri klasörle aynı adı yansıtmaları gerekmez.
  2. Yeni konuma sembolik bir bağlantı oluşturun:

    • Sembolik Bağlar, diğer dosya sistemi nesnelerine işaret eden dosya sistemi nesneleridir.
    • Bunlar kavşaklara benzer ve yeniden ayrıştırma noktalarıdır.
    • Ancak, bazı nadir durumlarda, bazı programlarda, bunların tanınmadıklarını gördüm (bu bazen Windows Özel Klasörleri için geçerlidir) .
    • Ancak, bunlar daha esnektir:
      • Sembolik bağlantılar mutlak veya göreli referanslar olarak oluşturulabilir.
      • SMB / LANman ağ konumlarını (Windows sunucuları, SMB aygıtları vb.) işaret etmek için kullanılabilir

İŞLEMLERİ:


Bu nedenle, dosyalarınızı ve klasörlerinizi yeni konuma taşıyın ve ardından:

  1. SEÇENEK1 (yerel olarak): Yerleşik Windows Vista / 7/8 komutunu ve cmd istemini vermeniz yeterlidir:

    • Bir bağlantı oluşturun (bir dizine "sabit" bağlantı):

      mklink /J <oldpath> <newpath>
      
    • Sembolik bir bağlantı oluşturun (bir dizine "yumuşak" bağlantı):

      mklink /D <oldpath> <newpath>
      
  2. Seçenek2 (bir araç kullanın): BÜYÜK bir alternatif, yıllardır "Bağlantı Kabuğu Uzantısı" (LSE) (veya Google ) olarak adlandırdığım ücretsiz kullanışlı bir yardımcı programdır .

    Sadece indirin, açın ve çalıştırın (kurulum yok)

    LSE aşağıdakileri oluşturmanıza olanak tanır:

    • sembolik bağlar
    • hardlinks
    • kavşaklar
    • smartcopies
    • smartclones
    • akıllı aynalar
    • akıllı hamle
    • eklemeler
    • çoklu kaynaklar
    • ve hiç kullanmadığım başka şeyler
      .

    LINK-TARGET klasörünüzü sağ tıklayıp gerçek bağlantıyı oluşturmak istediğiniz yere sürüklemenizi sağlayan bir Windows Gezgini bağlam menüsü oluşturan mükemmel bir ücretsiz üründür.

    Elbette bağlantıyı istediğiniz herhangi bir adla yeniden adlandırabilirsiniz .


8

Şok edici yeterli bir var sadece bunun için aracı yapmanın kurnazca gizlenmiş bir yoldur 7 It gerçekten pencerelerde çalışır çok aynı sorunu çözmek için tasarlanmıştır denilen buhar hareket ettirici, sembolik kolayca. Temelde dosyaları otomatik olarak taşıyacak ve sizin için bir sembolik bağlantı yapacak, bu yüzden her şey buharın beklediği yerde, C'de görünüyor: ama gerçekten başka bir yerde.

MS, pencerelerin bu sürümleriyle semboller eklediğinden bu yalnızca Windows 7 ve Vista'da çalışacağını not ediyorum


1
Bu platformdaki Win2K kaynak kiti yardımcı programı bağlantısını veya WinXP'deki Sysinternals araç birleşimini kullanabilirsiniz. Soruyla gerçekten ilgili değil.
Patrick Seymour

1
@ Patrick: Küçük teknik. Linkd sembolik bağlantılar oluşturmaz, ancak dizin bağlantıları oluşturur.
surfasb

2
kavşak sadece inanıyorum aynı sürücü içinde çalışır. Eski sistemler için sembolik bağlantılara en yakın şey, bir sürücüyü inandığım bir klasör olarak haritalamanın kurnaz kullanımıdır
Journeyman Geek

1
@surfasb Peki kim artık win2k kullanıyor? :) (ne yazık ki yapıyoruz.)
Patrick Seymour

1
@JourneymanGeek: Hayır, Kavşaklar yerel birimlerde çalışıyor. Aksine, ciltler ciltlere yayılmayan.
surfasb

0

Kaynaklar hedefe karşı hangi diskte olursa olsun, herhangi bir NTFS klasörünü gösterebilir.

WinXP Junction'lar, aynı diskte veya farklı diklerde olmalarına bakılmaksızın, doğrudan bağlı NTFS bölümleriyle çalıştığından.

Bir kavşağa sahip olmak en iyi çözümdür (sembolik bazı sorunlara neden olabilir).

Bunu yapmak için çok kullanıyorum:

  • Sistem bölümünde bir USB diskteki (SSD, HDD, pendrive, bellek kartı, vb.) Bir klasöre işaret eden bazı "sanal" klasörler (normalde C :) 'dir.

Bu yüzden harici ortamlarda bazı uygulama verilerine sahip olabilirim ve birden fazla PC için sadece bir kopyaya sahip olabilirim, bu yüzden senkronizasyon yapmaya gerek yok, vb. Tabii ki sadece bir PC aynı anda görecek.

Ayrıca kavşaklar bir NTFS bölümündeki veraCrypt vb. Tarafından şifrelenmiş bir klasörü gösterebilir.

Kavşakların sadece üç şeye ihtiyacı vardır:

  • Kaynak bölüm bir NTFS olabilir
  • Hedef bölüm bir NTFS olabilir
  • Her iki bölüm de yerel (PC'ye fiziksel olarak bağlı) ... bu her zaman bir ihtiyaç değil, bir FTP'yi yerel bir sürücü olarak koymanıza ve onu NTFS olarak görmenize izin veren bazı araçlar var, bu nedenle kavşaklar işaret etmek için oluşturulabilir Buna

Ne demek kavşak kaynak ve hedef bir NTFS bölümü içinde görmek gerekir.

  • XP için SysInternals aracını kullanın junction, link: TechNet Junction Download .
  • 7 ila 10 için, doğal aracı kullanmak mklinkile /jparametresi.

Her ikisi de komut satırı araçlarıdır ve çoğu zaman yönetici hakları gerektirir.

Juntions en kolay yoldur, ancak tek yol değildir:

  • Farklı disklerde bir NTFS klasörüne monte edilmiş bir NTFS bölümünü kullanabilirsiniz
  • Bir VHD / VHDX dosyası oluşturabilirsiniz (XP ve Vista bir araç gerektirir, 7 ila 10 disk yönetiminde yerel yapar), içinde bir veya daha fazla bölüm oluşturabilir ve bunları herhangi bir NTFS klasörüne bağlayabilirsiniz
  • vb

VHD / VHDX'in hilesi ayrıca dinamik depolama kullanmanıza izin verir, bu nedenle GiB boyutunda endişelenmenize gerek yoktur:

  1. VHD / VHDX'i dinamik modda oluşturun (sanal diske atanan tüm boyutlar dosyanın boyutu değildir) ve istediğiniz kadar verin (VHD 2TiB'den biraz daha az ile sınırlıdır, VHDX sınırı 64TiB'dir), ancak FAT32 dosya boyutunu 4GiB ile sınırlandırdığından bir NTFS üzerinde oluşturun.
  2. Sanal diski MBR veya GPT olarak başlatın (ne istediğinize bağlı olarak, MBR 4'ten fazla birincil bölümü desteklemez ve 2TiB ile daha az sınırlıdır, GPT 8ZiB ile sınırlıdır, ancak Windows XP GPT sürücülerini göremez), Wikipedia'daki bu sınırlar hakkında daha fazla bilgi edinin: en.wikipedia.org/wiki/GUID_Partition_Table
  3. Sanal diski istediğiniz gibi bölümleyin
  4. İstediğiniz bölüme NTFS biçimi verin
  5. Verileri bir klasörde (başka bir yerde olmasını istediğiniz klasör) taşımanız gerekiyorsa, bu yeni parçayı geçici olarak herhangi bir harf olarak monte edin, verileri ona taşıyın ve sökün ... ancak klasörü taşıdığınız yerden silmeyin. içeriği.
  6. Bu bölümü o klasörün üzerine bağlama

Ve $ MFT'nin olabildiğince küçük olması için bir hile var (ISO'ları tutmak için büyük, gerçekten büyük NFTS bölümleri oluşturursanız çok önemlidir, vb ... her biri gerçekten büyük boyutlu 1000'den az dosya):

  • Bunun temelleri, başlangıçtaki MFT boyutunun olabildiğince küçük olması
  • Daha fazla dosya koyarsanız ve yeterli alanı yoksa $ MFT büyür, bu yüzden dosya ekleyemekten korkmayın
  • Hiçbir şekilde risk oluşturmadan bölümü oluşturmanın normal bir yerel yoludur
  • Tüm NFTS bölümlerini bu şekilde oluşturmamanın (görebildiğim) hiçbir nedeni yoktur

Prosedür oldukça basittir:

  1. Bölümü yalnızca 8MiB ile oluşturun (evet megabayt, giga değil vb.), Normal bir NTFS oluşturmak için daha az boyut ... NTFS daha az boyutta olabilir, ancak tamamen NFTS olmadığı için garip şeyler yapar.
  2. İstediğiniz gerçek boyuta büyütün

Bu adımlar bir şey yapar:

  • Bölüm oluşturulduğunda, $ MFT gerçekten küçüktür (bölüm boyutu sadece 8 MB olduğundan)

Bölümü istediğiniz tam boyutta oluşturursanız, $ MFT bölüm boyutunun% 12,5'inde (varsayılan olarak ve mümkün olduğunca lees) olacaktır; ve ben yaratıldıktan sonra $ MFT boyutunu azaltmak için bu yüzde azaltmak için herhangi bir yöntem bilmiyorum; bu yüzde bazı pencerelerde NtfsMFTZoneReservation kayıt defteri anahtarına dokunmak daha büyük olabilir, ama asla daha az olamaz ... bu yüzden sadece 8MiB bir bölüm oluşturarak, $ MFT başlangıç ​​boyutu çok az olacaktır. Microsoft sitesinde $ MFT alanının nasıl ayrıldığını kontrol edebilirsiniz: nasıl NTFS, Ana Dosya tablosu (MFT) için nasıl yer ayırır

NTFS bölüm boyutunu büyütmek $ MFT boyutuna dokunmaz ... bu nedenle mümkün olduğunca daha az $ MFT boyutuna sahip büyük bir NTFS bölümüne sahip olmak için bölümü yalnızca 8MiB olarak oluşturun ve oluşturduktan sonra istediğiniz boyuta büyütün.

Dinamik bir VHD / VHDX'e sahip olmak için harikadır, çünkü hiçbir şey için tüm bu $ MFT alanını kullanmayacaktır ...

  • 8MiB'lik bir NTFS oluşturursanız (bunu hızlı format modunda yapmayı unutmayın) ve 1.5TiB'ye çıkarsanız, onu tutan VHD / VHDX dosyası daha küçük, çok daha küçük olacaktır
  • VHD / VHDX içinde doğrudan 1.5TiB bölüm oluşturursanız, onu tutan VHD / VHDX dosyası daha büyük, çok daha büyük olacaktır

Windows 10 Home 64Bits'de yapılan test:

  • 8MiG oluşturulmuş (hızlı formatlı) bir NTFS bölümü ile 1.8TiB dinamik VHD ve 1.5GiB ... 'ye kadar büyümüştür.
  • 1.5GiB oluşturulan bir NTFS bölümü ile 1.8TiB dinamik VHD ... VHD boyutu: 107MiB

Bakın, on kat daha büyük. Yüz megabayttan fazla bahsetmediğini biliyorum ... ama çok fazla (bin tanesi) VHD / VHDX dosyası kullanırsanız, bu boyut çok önemli olabilir, bin dosya varsa, 100GiB yakınında. Ayrıca VHDX ve ZetaBytes boyutları ile gerçekten çok büyük bir fark.

Not: 1.8TiB disk boyutu hakkında konuşuyorum, sadece 1.5TiB (1572864 MiB) tam boyutunda aynı bir bölüm oluşturabileceğimden emin olmak için ... X disk boyutunu koyarsanız, bölüm X'den küçük olacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.