Віртуальні папки Windows 7?


16

У мене встановлений Steam. Steam встановлюється на c: \ Program Files \ Steam. Steam завантажує різні ігри в підпапку під назвою SteamApps. Єдиний доступний варіант - пара для завантаження та встановлення програм у тому самому місці, що і пара. Типова установка може виглядати так:

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

І т.д.

Мій диск C - це SSD, тому простір - це проблема. Game1 дуже дисковий, тому мені потрібно, щоб він залишався на диску C, але у мене є терабайт простору, на якому я хотів би встановити Game2 та Game3.

Чи є спосіб створити віртуальну папку під назвою "Game2", яка насправді вказує на мій більший жорсткий диск, і зробити так, щоб Steam (або будь-який додаток дійсно) міг переглядати місце до диска C, а не навіть зрозуміти, що це дійсно доступ до диска D: куди вказує віртуальна папка?

Отже, врешті-решт, C: \ Program Files \ Steam \ SteamApps \ Common \ Game2 існуватиме як папка, але насправді вона відображається у D: \ Games \ Game2.


1
Маю ту саму «проблему». Що я роблю, це зробити резервну копію ігор, в які зараз не граю, а потім видалити локальний вміст. Коли ви хочете відтворити їх знову, просто перейдіть до меню "Steam -> резервне копіювання та відновлення" та відновіть їх. Таким чином, вам не доведеться знову завантажувати всі дані при повторній інсталяції. Однак це шалений дизайн, що ви не можете мати ігри на різних дисках.
Т. Калтнекар

1
Я також
посилаю


1
А ще краще ... Я детальніше розповів у новій відповіді нижче. Будь ласка, подивіться.
Flak DiNenno

Відповіді:


21

Спробуйте наступне:

Відкрийте командний рядок з адміністративними дозволами:

mklink / D Virtual_Folder_Here Real_Folder_Here

Наприклад, ви хочете щось встановити в D: \ Games, але ви хочете, щоб воно виглядало як C: \ Games.

mklink / DC: \ Ігри D: \ Ігри

Це створить папку D: \ Гра, яка також відображається як C: \ Game. Все, на що посилається C: \ Гра, буде переспрямовано на D: \ Game.

Оскільки я не повністю знайомий з парою, я не наводив приклад, який відповідає вашій точній папці. Якщо пара дозволяє вам вибрати папку, в яку вона встановлюється (Що через те, що ви не просто встановили її на інший диск, я не дуже впевнений, що це зробити), ви можете створити вони символічне посилання спочатку. Якщо цього не відбувається, можливо, вам доведеться зробити кілька передач файлів, перемістивши його на нове місце і потім створивши символічне посилання. Приклад:

Steam встановив вашу гру на: C: \ Program Files \ Steam \ SteamApps \ common \ Game2

Тепер ви створюєте свою папку: D: \ GameGoesHere

Потім ви копіюєте всі файли з вихідної папки і поміщаєте їх у D: \ GameGoesHere, тоді ви можете створити посилання:

mklink / D "C: \ програмні файли \ Steam \ SteamApps \ common \ Game2" "D: \ GameGoesHere"

Зауважте, що цього разу я використовував цитати через інтервал "Файли програми". Також зауважте, що перед створенням посилання віртуальна папка НЕ ​​повинна бути реальною папкою. Отже, якщо папка, з якою ви хочете бути посиланням, існує спочатку, її слід видалити (звичайно, перш ніж копіювати її!)


9

ВІДПОВІДЬ: Чому (і як) це рішення працює


Якщо вам потрібно повернути цей простір / перенести використання на інший диск, у вас є кілька чудових варіантів

Ви можете безпечно переїхати до будь-якого нового місця зберігання, наприклад ...

  • локальне / живе зберігання
  • онлайн-сховище
  • близьколінійне зберігання
  • офлайн-сховище

... до тих пір, поки у вашому СТАРОМУ місці розташування буде NTFS та нове місце:

  1. є SMB на основі
  2. відповідає Windows LANman - якщо ви використовуєте символічні посилання / хочете переїхати на мережевий сервер / пристрій (див. нижче ()
  3. можна додати / призначити до існуючої файлової системи / " My Computer" за допомогою такого інструменту, як:
    • assignкоманда оболонки DOS / Windows
    • Windows "Управління комп'ютером" ( compmgmt.msc)
  4. можна встановити його на букву диска або іншу точку монтажу / каталог

Отже, по суті, сьогодні (2014-05-02), ми говоримо про:

  • інший живий (змонтований) розділ
  • оптичний диск (CD, DVD тощо) з реальною файловою системою на зразок FAT або NTFS
  • зовнішній жорсткий диск
  • USB-накопичувач
  • мережевий диск

    ПРИМІТКА:

    Якщо і коли вам буде запропоновано отримати медіа або отримати будь-які помилки щодо відсутніх файлів / відсутнього місця, ви просто переконайтесь, щоби повторно встановити / повторно вставити диск / носій, якщо це вже не живий розділ.

.

9 з 10 разів, це буде так:

Тому ви вважаєте це дуже простим, і у вас є кілька чудових варіантів на вибір, які, чесно кажучи, дають приблизно однакові результати:

  1. Створіть стик каталогів на нове місце:

    • З'єднання дозволяють одному каталогу вказувати на інший.
    • З'єднання можна використовувати лише на локальних сховищах
    • Вони розпізнаються на рівні файлової системи як псевдонім в Таблиці файлової системи (FSTAB).
      • Тому він прозорий для всіх програм, включаючи саму ОС.
      • Іншими словами, його НЕ розглядають як файл, який просто вказує на інше місце (наприклад, ярлик) і тому завжди працює без інцидентів.
    • З'єднання можуть мати лише абсолютні посилання на файли. Отже, навіть якщо ви перемістите цілу структуру каталогів із з'єднанням всередині неї, при цьому структура буде повністю недоторканою, вам доведеться відтворити своє з'єднання.
    • З'єднання можна назвати чим завгодно, тобто вони не повинні відображати те саме ім’я, що і папка, на яку вони вказують.
  2. Створіть символічне посилання на нове місце:

    • Символічні посилання - це об'єкти файлової системи, які вказують на інші об'єкти файлової системи.
    • Вони схожі на переходи, і є точками розбору.
    • Однак у деяких рідкісних випадках із деякими програмами я бачив, що їх НЕ розпізнають (це іноді трапляється із спеціальними папками Windows .
    • Але вони більш гнучкі в цьому:
      • Символічні посилання можуть бути створені як абсолютні або відносні посилання.
      • можна використовувати для вказівки на мережеві місця SMB / LANman (сервери Windows, пристрої SMB тощо)

ПРОЦЕДУРА:


Отже, перемістіть свої файли та папки на нове місце потім:

  1. OPTION1 (спочатку): просто видайте вбудовану команду Windows Vista / 7/8 та cmd:

    • Створіть перехід ("жорстке" посилання на каталог):

      mklink /J <oldpath> <newpath>
      
    • Створіть символічне посилання ("м'яке" посилання на каталог):

      mklink /D <oldpath> <newpath>
      
  2. Варіант2 (використовуйте інструмент): ВЕЛИКА альтернатива - це зручна утиліта, яку я використовую роками під назвою "Розширення оболонки посилань" (LSE) (або Google це).

    Просто завантажте, розпакуйте та запустіть (без встановлення)

    LSE дозволяє створювати:

    • символьні посилання
    • жорсткі посилання
    • стиків
    • смарт-копії
    • smartclones
    • розумні дзеркала
    • розумні ходи
    • сплайси
    • кілька джерел
    • і купа інших речей, які я ніколи не використовую, відверто кажучи
      .

    Це блискучий безкоштовний продукт, який створює контекстне меню Windows Explorer, що дозволяє клацнути правою кнопкою миші папку LINK-TARGET, а потім перетягнути її туди, де ви хочете створити фактичне посилання.

    Ви, звичайно, можете перейменувати посилання на все, що завгодно .


8

Вражаюче, що для цього називається паровий двигун, призначений вирішити ту саму проблему, яка працює в Windows 7. Це справді хитро замаскований спосіб легко робити посилання . В основному, вони переміщуватимуть файли автоматично і зроблять для вас символьне посилання, тому все, здається, там, де пара цього очікує, в C: але це справді в іншому місці.

Зауважу, це буде працювати лише у Windows 7 та Vista, оскільки MS додав посилання на ці версії Windows


1
На цій платформі ви можете скористатись утилітою набору ресурсів Win2K на цій платформі або з'єднання інструментів Sysinternals на WinXP. Хоча це питання не дуже відповідне.
Патрік Сеймур

1
@Patrick: Невелика технічність. Linkd не створює символічних посилань, але створює стики каталогів.
surfasb

2
вузли працюють тільки в межах одного приводу, я вважаю. Найбільш близьким до посилань для старих систем є хитро використання картографування диска як папки, я вважаю
Journeyman Geek

1
@surfasb добре хто все-таки використовує win2k? :) (на жаль, ми це робимо.)
Патрік Сеймур

1
@JourneymanGeek: Ні, розв'язки працюють у локальних томах. Скоріше, жорсткі посилання, які не охоплюють обсяги.
surfasb

0

З'єднання можуть вказувати на будь-яку папку NTFS, незалежно від того, який диск є джерелом та цільовим.

Оскільки WinXP Junctions працює з будь-якими безпосередньо підключеними розділами NTFS, незалежно від того, знаходяться вони на одному диску або на різних дисках.

Тож наявність перехрестя - найкраще рішення (символічне може спричинити деякі проблеми).

Я багато використовую для цього:

  • Майте кілька «віртуальних» папок на системному розділі (як правило, це C :), які вказують на папку на розділі на диску USB (SSD, HDD, pendrive, карта пам'яті тощо).

Тож я можу мати деякі дані програм на зовнішніх носіях і мати лише одну копію для більш ніж одного ПК, тому не потрібно робити синхронізацію і т. Д. Звичайно, лише один ПК буде бачити це одночасно.

Також переходи можуть вказувати на папку на розділі NTFS, яка зашифрована veraCrypt тощо.

Для стику потрібні лише три речі:

  • Вихідним розділом буде NTFS
  • Роздільним пунктом призначення буде NTFS
  • Обидва розділи будуть локальними (фізичні підключені до ПК) ... це не завжди є потребою, є деякі інструменти, які дозволяють вам поставити FTP як локальний привід і розглядати його як NTFS, тож з'єднання можна створити, щоб вказувати до цього

Що я маю на увазі, що перехід повинен бачити джерело та ціль, що знаходяться всередині розділу NTFS.

  • Для XP використовуйте інструмент SysInternals, який називається junction, посилання: Завантаження TechNet Junction .
  • Для 7 до 10 використовуйте нативний інструмент mklinkз /jпараметром.

Обидва є інструментами командного рядка, і в більшості випадків потрібні права адміністратора.

Зв'язки - це найпростіший спосіб, але не єдиний:

  • Ви можете використовувати розділ NTFS, встановлений у папці NTFS на різних дисках
  • Ви можете створити файл VHD / VHDX (інструмент для XP та Vista вимагає, 7–10 роблять це вдома для управління дисками), створити один або кілька розділів всередині нього та змонтувати їх у будь-якій папці NTFS
  • тощо

Трюк VHD / VHDX також дозволяє використовувати динамічне зберігання, тому не потрібно турбуватися про розмір GiB:

  1. Створіть VHD / VHDX в динамічному режимі (не весь розмір, призначений віртуальному диску, буде розміром файлу) і надайте його стільки, скільки вам потрібно (VHD обмежений трохи менше 2TiB, межа VHDX - 64TiB), але створіть його на NTFS, оскільки FAT32 обмежує розмір файлу менше 4 Гбіт.
  2. Ініціалізуйте віртуальний диск як MBR або GPT (залежить від того, що ви хочете, MBR не підтримує більше 4-х первинних розділів і обмежується трохи менше 2TiB, GPT обмежений 8ZiB, але Windows XP не може бачити диски GPT), див. більше інформації про ці обмеження у Вікіпедії: en.wikipedia.org/wiki/GUID_Partition_Table
  3. Розділіть віртуальний диск так, як вам потрібно
  4. Надайте потрібний розділ формату NTFS
  5. Якщо вам потрібно перемістити дані в одну папку (ту, яку ви хочете бути десь іншою), тимчасово встановіть цю нову частину, як будь-яку букву, перемістіть її до неї та демонтуйте її ... але не видаляйте папку, з якої ви перемістили зміст.
  6. Змонтуйте цей розділ над цією папкою

І у $ MFT є хитрість бути якомога меншою (дуже важливо, якщо ви створюєте великі, дійсно великі розділи NFTS для зберігання ISO, тощо ... менше 1000 файлів із дійсно великим розміром у кожному):

  • Основи цього полягають у тому, щоб початковий розмір $ MFT був якомога меншим
  • $ MFT зросте, якщо ви помістите більше файлів, і в ньому не вистачає місця, тому не бійтеся не змогти додати файли
  • Це нормальний рідний спосіб створення розділу, без жодного ризику
  • Немає жодного мотиву (я бачу) не створювати таким чином усі розділи NFTS

Процедура досить проста:

  1. Створіть розділ лише 8 Мбіт (так, мегабайти, не гіга тощо), менший розмір, щоб створити звичайний NTFS ... NTFS може мати менший розмір, але він буде робити дивні речі, оскільки це не повністю NFTS.
  2. Виростіть його до потрібного розміру

Ці кроки означають одне:

  • Коли розділ створений, $ MFT дійсно невеликий (оскільки розділ має розмір лише 8 Мбіт)

Якщо ви створите розділ потрібного повного розміру, $ MFT становитиме (за замовчуванням та якомога більше заборгованості) 12,5% від розміру розділу; і я не знаю жодного способу зменшити цей відсоток, а також зменшити розмір MFT $ після того, як було створено; цей відсоток може бути більшим, торкаючись ключа реєстру NtfsMFTZoneReservation у деяких вікнах, але ніколи не бути меншим ... тому, створивши розділ лише 8MiB, початковий розмір $ MFT буде дуже маленьким. Ви можете перевірити, як розміщено простір у форматі MFT на сайті Microsoft: як NTFS резервує простір для своєї таблиці головних файлів (MFT)

Зростання розміру розділу NTFS не доторкається до розміру $ MFT ... тому, щоб мати величезний розділ NTFS з якомога меншим розміром $ MFT, створіть розділ як лише 8MiB і зростіть його до потрібного розміру після створення.

Це відмінно підходить для того, щоб мати динамічний VHD / VHDX, тому що він не буде використовувати весь той простір у $ MFT ні для чого ...

  • Якщо ви створите NTFS 8MiB (не забудьте зробити це в режимі швидкого форматування) і зросте до 1,5TiB, файл VHD / VHDX, утримуючи його, буде меншим, значно меншим
  • Якщо ви безпосередньо створите розділ 1.5TiB всередині VHD / VHDX, файл VHD / VHDX, утримуючи його, буде більшим, значно більшим

Тест зроблено в Windows 10 Home 64Bits:

  • Динамічний VHD 1,8TiB з одним NTFS-розділом, створеним (у швидкому форматі) 8MiG та виросли до 1,5GiB ... Розмір VHD становить: 15,6MiB
  • Динамічний VHD 1,8TiB з одним NTFS-розділом, створеним (у швидкому форматі) 1,5GiB ... Розмір VHD становить: 107MiB

Бачите, це в десять разів більше. Я знаю, що не так багато говорити про сотню мегабайт ... але якщо ви використовуєте багато (кілька тисяч) файлів VHD / VHDX, цей розмір може мати велике значення, якщо одна тисяча таких файлів, це було б близько 100 Гбіт. Також у VHDX та розмірах ZetaBytes насправді величезна така різниця.

Примітка: Я говорю про розмір диска 1,8 Тб, щоб переконатися, що я можу створити ідентичний розділ точного розміру 1,5 Тб (1572864 МіБ) ... якщо ви розмістите диск розміром X, розділ буде меншим за X.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.