Windows 7 Virtual Folders?


16

Mam zainstalowanego Steam. Steam jest zainstalowany na c: \ Program Files \ Steam. Steam pobiera różne gry do podkatalogu o nazwie SteamApps. Jedyną dostępną opcją jest pobieranie i instalowanie aplikacji przez Steam w tej samej lokalizacji co Steam. Typowa konfiguracja może wyglądać następująco:

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

Itp.

Mój dysk C jest dyskiem SSD, więc problemem jest miejsce. Game1 wymaga bardzo dużej ilości dysku, więc muszę pozostać na dysku C, ale mam terrabyte miejsca, na którym chciałbym zainstalować Game2 i Game3.

Czy istnieje sposób na utworzenie wirtualnego folderu o nazwie „Game2”, który naprawdę wskazuje na mój większy dysk twardy, i uczynienie go w taki sposób, aby Steam (lub jakakolwiek inna aplikacja naprawdę) mógł przeglądać lokalizację na dysku C, a nie nawet zdać sobie sprawę, że naprawdę miał dostęp do dysku D: gdzie wskazuje folder wirtualny?

W końcu C: \ Program Files \ Steam \ SteamApps \ Common \ Game2 istniałby jako folder, ale w rzeczywistości jest mapowany do D: \ Games \ Game2.


1
Mam sam ten sam „problem”. Tworzę kopię zapasową gier, w które obecnie nie gram, a następnie usuwam zawartość lokalną. Aby ponownie je odtworzyć, wystarczy przejść do menu „Steam -> tworzenie kopii zapasowych i przywracanie” i przywrócić je. W ten sposób nie musisz ponownie pobierać wszystkich danych podczas ponownej instalacji. Jest to jednak kiepski projekt, w którym nie można mieć gier na różnych dyskach.
T. Kaltnekar



1
Jeszcze lepiej ... Podałem więcej szczegółów w nowej odpowiedzi poniżej. Proszę spójrz.
Flak DiNenno

Odpowiedzi:


21

Spróbuj wykonać następujące czynności:

Otwórz wiersz polecenia z uprawnieniami administracyjnymi:

mklink / D Virtual_Folder_Here Real_Folder_Here

Przykład: chcesz zainstalować coś w D: \ Games, ale chcesz, aby pojawiało się jako C: \ Games.

mklink / DC: \ Games D: \ Games

Spowoduje to utworzenie folderu D: \ Game, który pojawi się również jako C: \ Game. Wszystko, co odnosi się do C: \ Game, zostanie przekierowane do D: \ Game.

Ponieważ nie jestem w pełni zaznajomiony ze Steam, nie podałem przykładu, który pasuje dokładnie do twojego folderu. Jeśli Steam pozwala wybrać folder, w którym się instaluje (co nie jest tak pewne, ponieważ instalujesz go na innym dysku), możesz najpierw utworzyć symboliczne łącze. Jeśli jednak tak się nie stanie, być może trzeba będzie wykonać transfer plików, przenosząc go do nowej lokalizacji, a następnie tworząc łącze symboliczne. Przykład:

Steam zainstalował twoją grę na: C: \ Program Files \ Steam \ SteamApps \ common \ Game2

Teraz tworzysz folder: D: \ GameGoesHere

Następnie skopiuj wszystkie pliki z oryginalnego folderu i umieść go w D: \ GameGoesHere, a następnie możesz utworzyć link:

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

Zauważ, że tym razem użyłem cytatów ze względu na odstępy między „Program Files”. Należy również pamiętać, że przed utworzeniem łącza folder wirtualny NIE może być prawdziwym folderem. Tak więc, jeśli folder, który chcesz być linkiem, istnieje, musisz go najpierw usunąć (oczywiście zanim go skopiujesz!)


9

ODPOWIEDŹ: Dlaczego (i jak) To rozwiązanie działa


Jeśli chcesz odzyskać to miejsce / przenieść wykorzystanie na inny dysk, masz kilka świetnych opcji

Możesz bezpiecznie przenieść się do dowolnego nowego miejsca przechowywania, takiego jak ...

  • przechowywanie lokalne / na żywo
  • Magazyn online
  • przechowywanie w pobliżu linii
  • pamięć offline

... tak długo, jak twoja stara lokalizacja to NTFS i nowa lokalizacja:

  1. jest oparty na SMB
  2. zgodny z Windows LANman - jeśli używasz dowiązań symbolicznych / chcesz przenieść się na serwer / urządzenie sieciowe (patrz poniżej ()
  3. można dodać / przypisać do istniejącego systemu plików / My Computer za pomocą narzędzia takiego jak:
    • assignpolecenie powłoki DOS / Windows
    • Windows „Zarządzanie komputerem” ( compmgmt.msc)
  4. można go zamontować na literze dysku lub innym katalogu / punkcie montowania

Zasadniczo na dzień dzisiejszy (2014-05-02) mówimy o:

  • kolejna partycja na żywo (zamontowana)
  • dysk optyczny (CD, DVD itp.) z systemem plików na żywo, takim jak FAT lub NTFS
  • zewnętrzny dysk twardy
  • dysk USB
  • dysk sieciowy

    UWAGA:

    Jeśli pojawi się monit o nośnik lub pojawią się błędy dotyczące brakujących plików / brakującej lokalizacji, po prostu pamiętaj o ponownym zamontowaniu / ponownym włożeniu dysku / nośnika, jeśli nie jest to partycja na żywo.

.

9 na 10 razy będzie to miało miejsce:

Dlatego przekonasz się, że jest to bardzo proste i masz kilka świetnych opcji do wyboru, które, szczerze mówiąc, dają w przybliżeniu te same wyniki:

  1. Utwórz połączenie katalogu z nową lokalizacją:

    • Połączenia pozwalają jednemu katalogowi wskazywać na inny.
    • Łączeń można używać tylko w pamięci lokalnej
    • Są one rozpoznawane na poziomie systemu plików jako pozycja aliasu w tabeli systemu plików (FSTAB).
      • Dlatego jest przezroczysty dla wszystkich programów, w tym samego systemu operacyjnego.
      • Innymi słowy, NIE jest postrzegany jako plik, który po prostu wskazuje inną lokalizację (jak skrót) i dlatego zawsze działa bez incydentów.
    • Połączenia mogą mieć wyłącznie bezwzględne odniesienia do plików. Tak więc, nawet jeśli przeniesiesz całą strukturę katalogów ze złączem w środku, przy całkowicie nienaruszonej strukturze, będziesz musiał odtworzyć swoje połączenie.
    • Połączenia mogą mieć dowolną nazwę, tzn. Nie muszą odzwierciedlać tej samej nazwy co folder, na który wskazują.
  2. Utwórz symboliczny link do nowej lokalizacji:

    • Dowiązania symboliczne to obiekty systemu plików, które wskazują inne obiekty systemu plików.
    • Są podobne do skrzyżowań i są punktami ponownej analizy.
    • Jednak w niektórych rzadkich przypadkach, w przypadku niektórych programów, NIE widziałem ich rozpoznawania (czasami tak jest w przypadku specjalnych folderów systemu Windows) .
    • Są jednak bardziej elastyczne:
      • Łącza symboliczne można tworzyć jako odniesienia bezwzględne lub względne.
      • może służyć do wskazywania lokalizacji sieci SMB / LANman (serwery Windows, urządzenia SMB itp.)

PROCEDURY:


Więc przenieś swoje pliki i foldery do nowej lokalizacji, a następnie:

  1. OPCJA 1 (natywnie): Wystarczy wydać wbudowane polecenie systemu Windows Vista / 7/8 i monit cmd:

    • Utwórz skrzyżowanie („twardy” link do katalogu):

      mklink /J <oldpath> <newpath>
      
    • Utwórz dowiązanie symboliczne („miękkie” łącze do katalogu):

      mklink /D <oldpath> <newpath>
      
  2. Opcja 2 (użyj narzędzia): WIELKA alternatywa to bezpłatne, przydatne narzędzie, którego używam od lat, zwane „Link Shell Extension” (LSE) (lub Google it).

    Wystarczy pobrać, rozpakować i uruchomić (bez instalacji)

    LSE umożliwia tworzenie:

    • dowiązania symboliczne
    • twarde linki
    • skrzyżowania
    • smartcopies
    • smartclones
    • inteligentne lustra
    • inteligentne ruchy
    • spawy
    • wiele źródeł
    • i wiele innych rzeczy, których nigdy nie używam, szczerze mówiąc
      .

    To genialny darmowy produkt, który tworzy menu kontekstowe Eksploratora Windows, które pozwala kliknąć prawym przyciskiem myszy folder LINK-TARGET, a następnie przeciągnąć go w miejsce, w którym chcesz utworzyć rzeczywisty link.

    Możesz oczywiście zmienić nazwę linku na cokolwiek chcesz .


8

Szokujące jest, że istnieje narzędzie do tego, zwane kosiarki pary, zaprojektowane w celu rozwiązania tego samego problemu, który działa w systemie Windows 7. To naprawdę sprytnie ukryty sposób łatwego tworzenia dowiązań symbolicznych . Zasadniczo automatycznie przeniesie pliki i utworzy dla ciebie dowiązanie symboliczne, więc wszystko wydaje się być tam, gdzie oczekuje tego para, w C: ale to naprawdę gdzie indziej.

Chciałbym zauważyć, że będzie to działać tylko na Windows 7 i Vista, ponieważ MS dodało dowiązania symboliczne do tych wersji Windows


1
Możesz użyć narzędzia do zestawu zasobów Win2K podlinkowanego na tej platformie lub złącza narzędzia Sysinternals w WinXP. Nie bardzo jednak dotyczy tego pytania.
Patrick Seymour,

1
@Patrick: Mała technika. Linkd nie tworzy dowiązań symbolicznych, ale tworzy połączenia katalogów.
surfasb

2
wierzę, że skrzyżowania działają tylko w obrębie tego samego dysku. W przypadku starszych systemów najbliższą rzeczą dla dowiązań symbolicznych jest sprytne wykorzystanie mapowania dysku jako folderu, jak sądzę
Journeyman Geek

1
@surfasb no kto już używa win2k? :) (niestety, robimy.)
Patrick Seymour,

1
@JourneymanGeek: Nie, skrzyżowania działają w lokalnych woluminach. Dowiązania twarde, które nie obejmują wielu woluminów.
surfasb

0

Połączenia mogą wskazywać dowolny folder NTFS, bez względu na to, który dysk jest źródłem w porównaniu z celem.

Ponieważ WinXP Junctions działa z dowolnymi bezpośrednio podłączonymi partycjami NTFS, bez względu na to, czy znajdują się na tym samym dysku, czy na różnych diksach.

Zatem połączenie jest najlepszym rozwiązaniem (symboliczne może powodować pewne problemy).

Często to robię:

  • Mają jakieś „wirtualne” foldery na partycji systemowej (zwykle jest to C :), które wskazują folder na partycji na dysku USB (SSD, HDD, pendrive, karta pamięci itp.).

Mogę więc mieć dane niektórych aplikacji na zewnętrznych nośnikach i mieć tylko jedną kopię dla więcej niż jednego komputera, więc nie trzeba synchronizować itp. Oczywiście tylko jeden komputer będzie widział to w tym samym czasie.

Złącza mogą również wskazywać folder na partycji NTFS, który jest zaszyfrowany przez veraCrypt itp.

Skrzyżowania potrzebują tylko trzech rzeczy:

  • Partycja źródłowa to NTFS
  • Partycją docelową może być NTFS
  • Obie partycje są lokalne (fizycznie podłączone do komputera) ... nie zawsze jest to potrzebne, istnieje kilka narzędzi, które pozwalają umieścić FTP jako dysk lokalny i postrzegać go jako NTFS, dzięki czemu można tworzyć połączenia w celu wskazania do tego

Mam na myśli to, że skrzyżowanie musi widzieć źródło i cel znajdujący się wewnątrz partycji NTFS.

  • W przypadku XP użyj narzędzia SysInternals o nazwie junctionlink: TechNet Junction Download .
  • Dla 7 do 10 użyj natywnego narzędzia mklinkz /jparametrem.

Oba są narzędziami wiersza poleceń i przez większość czasu wymagają uprawnień administratora.

Juntions to najprostszy sposób, ale nie jedyny:

  • Możesz użyć partycji NTFS zamontowanej w folderze NTFS na różnych dyskach
  • Możesz utworzyć plik VHD / VHDX (XP i Vista wymaga narzędzia, od 7 do 10 zrób to natywnie przy zarządzaniu dyskami), utwórz w nim jedną lub więcej partycji i zamontuj je w dowolnym folderze NTFS
  • itp

Sztuczka VHD / VHDX pozwala także na korzystanie z dynamicznej pamięci masowej, więc nie musisz się martwić o GiB wielkości:

  1. Utwórz VHD / VHDX w trybie dynamicznym (nie wszystkie rozmiary przypisane do dysku wirtualnego będą miały rozmiar pliku) i nadaj mu tyle, ile chcesz (VHD jest ograniczony do nieco mniej niż 2 TB, limit VHDX to 64 TB), ale utwórz go w systemie plików NTFS, ponieważ FAT32 ogranicza rozmiar pliku do mniej niż 4GiB.
  2. Zainicjuj dysk wirtualny jako MBR lub GPT (w zależności od tego, czego chcesz, MBR nie obsługuje więcej niż 4 partycji podstawowych i jest ograniczony do nieco mniej niż 2TiB, GPT jest ograniczony do 8ZiB, ale Windows XP nie widzi napędów GPT), zobacz więcej informacji na temat tych ograniczeń na Wikipedii: en.wikipedia.org/wiki/GUID_Partition_Table
  3. Podziel dysk wirtualny na partycje, jak chcesz
  4. Nadaj format NTFS wybranej partycji
  5. Jeśli chcesz przenieść dane do jednego folderu (tego, w którym chcesz być gdzie indziej), tymczasowo zamontuj ten nowy partiton jako dowolną literę, przenieś dane do niego i odinstaluj ... ale nie usuwaj folderu, z którego przeniesiono zawartość.
  6. Zamontuj tę partycję na tym folderze

A $ MFT ma sztuczkę, aby być jak najmniejszym (bardzo ważne, jeśli tworzysz duże, naprawdę duże partycje NFTS do przechowywania ISO itp. ... mniej niż 1000 plików o naprawdę dużych rozmiarach):

  • Podstawą tego jest, aby początkowy rozmiar $ MFT był jak najmniejszy
  • $ MFT wzrośnie, jeśli umieścisz więcej plików i nie ma wystarczającej ilości miejsca, więc nie obawiaj się, że nie możesz dodać plików
  • Jest to normalny rodzimy sposób tworzenia partycji, bez żadnego ryzyka
  • Nie ma motywu (widzę), aby nie tworzyć wszystkich partycji NFTS w ten sposób

Procedura jest dość prosta:

  1. Utwórz partycję przy użyciu tylko 8 MB (tak megabajtów, nie giga itp.), Mniejszy rozmiar, aby utworzyć normalny NTFS ... NTFS może mieć mniejszy rozmiar, ale zrobi dziwne rzeczy, ponieważ nie jest w pełni NFTS.
  2. Rozwiń go do pożądanego rozmiaru

Te kroki to jedno:

  • Po utworzeniu partycji $ MFT jest naprawdę mały (ponieważ partycja ma rozmiar tylko 8MiB)

Jeśli utworzysz partycję o żądanym pełnym rozmiarze, $ MFT wyniesie (domyślnie i możliwie najmniej) 12,5% rozmiaru partycji; i nie znam żadnej metody zmniejszenia tego procentu, ani zmniejszenia rozmiaru MFT $ po utworzeniu; ten procent może być większy, dotykając klucza rejestru NtfsMFTZoneReservation w niektórych oknach, ale nigdy nie będzie mniejszy ... więc tworząc partycję o wielkości tylko 8 MB, początkowy rozmiar $ MFT będzie bardzo mały. Możesz sprawdzić, w jaki sposób przestrzeń $ MFT jest zarezerwowana na stronie Microsoft: Jak NTFS rezerwuje miejsce na swoją główną tabelę plików (MFT)

Zwiększenie rozmiaru partycji NTFS nie wpływa na rozmiar $ MFT ... więc aby mieć ogromną partycję NTFS z możliwie najmniejszym rozmiarem $ MFT, utwórz partycję jako zaledwie 8 MB i powiększ ją do pożądanego rozmiaru po utworzeniu.

To świetnie, ponieważ ma dynamiczne VHD / VHDX, ponieważ nie wykorzysta całego $ MFT miejsca na nic ... to znaczy:

  • Jeśli utworzysz NTFS o wielkości 8 MB (nie zapomnij zrobić go w trybie szybkiego formatowania) i wzrośniesz do 1,5 TB, plik VHD / VHDX, który go trzyma, będzie mniejszy, znacznie mniejszy
  • Jeśli bezpośrednio utworzysz partycję 1,5 TB w VHD / VHDX, trzymający ją plik VHD / VHDX będzie większy, znacznie większy

Test wykonany w systemie Windows 10 Home 64Bits:

  • Dynamiczny VHD 1,8 TB z jedną partycją NTFS utworzoną (z szybkim formatem) 8 MB i powiększoną do 1,5 GB ... Rozmiar VHD wynosi: 15,6 MB
  • Dynamiczny VHD 1,8 TB z utworzoną jedną partycją NTFS (w szybkim formacie) 1,5 GB ... Rozmiar VHD to: 107 MB

Widzisz, jest dziesięć razy większy. Wiem, że niewiele mówi się o setce megabajtów ... ale jeśli użyjesz dużo (kilka tysięcy) plików VHD / VHDX, ten rozmiar może mieć duże znaczenie, jeśli tysiąc takich plików, to byłoby około 100GiB. Także w przypadku VHDX i rozmiarów ZetaBytes różnica jest naprawdę ogromna.

Uwaga: Mówię o wielkości dysku 1,8 TB, aby upewnić się, że mogę utworzyć identyczną partycję o dokładnym rozmiarze 1,5 TB (1572864 MiB) ... jeśli ustawisz rozmiar dysku X, partycja będzie mniejsza niż X.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.