Folder Virtual Windows 7?

16

Saya sudah menginstal Steam. Steam diinstal ke c: \ Program Files \ Steam. Steam mengunduh berbagai gim ke sub folder bernama SteamApps. Satu-satunya pilihan yang tersedia adalah steam untuk mengunduh dan menginstal aplikasi ke lokasi yang sama dengan steam. Pengaturan khas dapat terlihat seperti ini:

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

Dll

Drive saya C adalah SSD, jadi ruang adalah masalah. Game1 sangat intensif untuk disk, jadi saya perlu tetap di drive C, tapi saya punya ruang terrabyte tempat saya ingin menginstal Game2 dan Game3.

Apakah ada cara untuk membuat folder virtual yang disebut "Game2" yang benar-benar menunjuk ke hard drive saya yang lebih besar dan membuatnya sedemikian rupa sehingga Steam (atau aplikasi apa pun juga benar-benar) dapat menelusuri lokasi di drive C dan tidak bahkan menyadari bahwa itu benar-benar mengakses drive D: ke mana folder virtual menunjuk?

Jadi pada akhirnya, C: \ Program Files \ Steam \ SteamApps \ Common \ Game2 akan ada sebagai folder tetapi pada kenyataannya ia memetakan ke D: \ Games \ Game2.

pengguna14301
sumber
1
Memiliki "masalah" yang sama sendiri. Yang saya lakukan adalah membuat cadangan game yang saat ini tidak saya mainkan, lalu menghapus konten lokal. Ketika Anda ingin memainkannya lagi, Anda cukup masuk ke menu "Steam -> backup and restore" dan pulihkan. Dengan begitu Anda tidak perlu mengunduh lagi semua data saat menginstal ulang. Namun ini adalah desain yang jelek sehingga Anda tidak dapat memiliki game pada disk yang berbeda.
T. Kaltnekar
1
Saya juga akan menautkan "tipe tautan di Windows" superuser.com/a/347946/24500
surfasb
1
Lebih baik lagi ... Saya telah memberikan lebih detail dalam jawaban baru di bawah ini. Silakan lihat.
Flak DiNenno

Jawaban:

21

Coba yang berikut ini:

Buka prompt perintah dengan izin administratif:

mklink / D Virtual_Folder_Here Real_Folder_Here

Contoh, Anda ingin menginstal sesuatu ke D: \ Games, tetapi Anda ingin menginstalnya sebagai C: \ Games.

mklink / DC: \ Games D: \ Games

Ini akan membuat folder D: \ Game yang juga muncul sebagai C: \ Game. Apa pun yang merujuk C: \ Game akan dialihkan ke D: \ Game.

Karena saya belum sepenuhnya terbiasa dengan steam, saya belum memberikan contoh yang cocok dengan folder Anda. Jika steam memungkinkan Anda untuk memilih folder tempat instalnya (Karena Anda tidak hanya menginstalnya ke drive lain, saya tidak begitu yakin melakukannya.) Anda dapat membuat tautan simbolik terlebih dahulu. Namun jika tidak, Anda mungkin perlu melakukan beberapa transfer file, memindahkannya ke lokasi baru dan kemudian membuat tautan simbolik. Contoh:

Steam memasang gim Anda ke: C: \ Program Files \ Steam \ SteamApps \ common \ Game2

Sekarang, Anda membuat folder Anda: D: \ GameGoesHere

Lalu, Anda menyalin semua file dari folder asli dan meletakkannya di D: \ GameGoesHere, maka Anda dapat membuat tautan:

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

Perhatikan saya menggunakan kutipan kali ini karena jarak "Program Files." Perhatikan juga bahwa sebelum membuat tautan, folder virtual TIDAK harus menjadi folder nyata. Jadi, jika folder yang Anda inginkan ada tautannya, Anda harus menghapusnya terlebih dahulu (tentu saja sebelum Anda menyalinnya!)

Serodis
sumber
9

JAWABAN: Mengapa (dan bagaimana) solusi ini berfungsi


Jika Anda perlu merebut kembali ruang ini / memindahkan penggunaan ke drive lain Anda memiliki opsi hebat

Anda dapat dengan aman pindah ke lokasi penyimpanan baru seperti ...

  • penyimpanan lokal / langsung
  • penyimpanan online
  • penyimpanan jarak dekat
  • penyimpanan offline

... asalkan lokasi TUA Anda adalah NTFS dan lokasi baru:

  1. adalah SMB berdasarkan
  2. sesuai dengan Windows LANman - jika Anda menggunakan tautan simbolis / ingin pindah ke server jaringan / perangkat (lihat di bawah)
  3. dapat ditambahkan / ditugaskan ke sistem file yang ada / " My Computer" menggunakan alat seperti:
    • assignperintah shell DOS / Windows
    • Windows "Manajemen Komputer" ( compmgmt.msc)
  4. dapat dipasang ke huruf drive atau direktori mount point / lainnya

Jadi, pada dasarnya sampai hari ini (2014-05-02), kami berbicara tentang:

  • partisi langsung (terpasang) lainnya
  • disk optik (CD, DVD, dll.) dengan sistem file langsung seperti FAT, atau NTFS
  • hard drive eksternal
  • drive USB
  • drive jaringan

    CATATAN:

    Jika dan ketika Anda diminta untuk media atau menerima kesalahan tentang file yang hilang / lokasi yang hilang, Anda cukup pastikan untuk mengirim kembali / masukkan kembali drive / media Anda jika itu belum menjadi partisi langsung.

.

9 dari 10 kali, ini akan terjadi:

Oleh karena itu, Anda akan menemukan ini sangat mudah, dan Anda memiliki beberapa opsi bagus untuk dipilih, yang terus terang, menghasilkan hasil yang kira-kira sama:

  1. Buat persimpangan direktori ke lokasi baru:

    • Persimpangan memungkinkan satu direktori untuk menunjuk ke yang lain.
    • Persimpangan hanya dapat digunakan pada penyimpanan lokal
    • Mereka dikenali pada tingkat sistem file sebagai entri alias dalam Tabel Sistem File (FSTAB).
      • Karena itu, ini transparan untuk semua program, termasuk OS itu sendiri.
      • Dengan kata lain, itu TIDAK dilihat sebagai file yang hanya menunjuk ke lokasi lain (seperti jalan pintas) dan karena itu selalu berfungsi tanpa insiden.
    • Persimpangan hanya dapat memiliki referensi absolut ke file. Jadi, bahkan jika Anda memindahkan seluruh struktur direktori dengan persimpangan di dalamnya, dengan struktur sepenuhnya utuh, Anda harus membuat ulang persimpangan Anda.
    • Persimpangan dapat dinamai apa saja, yaitu mereka tidak harus mencerminkan nama yang sama dengan folder yang mereka tuju.
  2. Buat tautan simbolis ke lokasi baru:

    • Symbolic Links adalah objek sistem file yang mengarah ke objek sistem file lainnya.
    • Mereka Mirip dengan persimpangan, dan merupakan titik reparse.
    • Namun, dalam beberapa kesempatan yang jarang, dengan beberapa program, saya telah melihatnya TIDAK dikenali (ini kadang-kadang terjadi pada Windows Folder Khusus .
    • Tetapi, mereka lebih fleksibel dalam hal itu:
      • Tautan simbolik dapat dibuat sebagai referensi absolut atau relatif.
      • dapat digunakan untuk menunjuk ke lokasi jaringan SMB / LANman (server windows, perangkat SMB, dll.)

PROSEDUR:


Jadi, pindahkan file & folder Anda ke lokasi baru lalu:

  1. OPTION1 (asli): Hanya mengeluarkan perintah built-in Windows Vista / 7/8 dan cmd prompt:

    • Buat persimpangan (tautan "keras" ke direktori):

      mklink /J <oldpath> <newpath>
      
    • Buat tautan simbolis ( tautan "lunak" ke direktori):

      mklink /D <oldpath> <newpath>
      
  2. Option2 (gunakan alat): Alternatif BESAR adalah utilitas praktis gratis yang telah saya gunakan selama bertahun-tahun yang disebut "Link Shell Extension" (LSE) (atau Google it).

    Cukup unduh, buka paket, dan jalankan (tidak ada instalasi)

    LSE memungkinkan Anda untuk membuat:

    • symlinks
    • hardlink
    • persimpangan
    • smartcopies
    • smartclones
    • cermin pintar
    • gerakan cerdas
    • splices
    • berbagai sumber
    • dan banyak hal lain yang tidak pernah saya gunakan, terus terang
      .

    Ini adalah produk gratis yang brilian yang menciptakan menu konteks windows explorer yang memungkinkan Anda mengklik kanan pada folder LINK-TARGET Anda lalu seret ke tempat Anda ingin membuat tautan yang sebenarnya.

    Tentu saja Anda dapat mengubah nama tautan menjadi apa pun yang Anda inginkan .

Flak DiNenno
sumber
8

Cukup mengejutkan, ada alat hanya untuk ini penggerak uap, yang dirancang untuk memecahkan masalah yang sama, yang bekerja di windows 7. Ini benar-benar adalah cara yang tersembunyi untuk melakukan symlink dengan mudah. Pada dasarnya itu akan memindahkan file secara otomatis dan melakukan symlink untuk Anda, jadi semuanya tampaknya berada di tempat yang diharapkan oleh uap, di C: tetapi ini benar-benar di tempat lain.

Saya perhatikan ini hanya akan bekerja pada windows 7 dan vista karena MS menambahkan symlink dengan versi windows tersebut

Journeyman Geek
sumber
1
Anda bisa menggunakan utilitas kit sumber daya Win2K pada platform itu, atau persimpangan alat Sysinternals di WinXP. Tapi tidak terlalu relevan dengan pertanyaan.
Patrick Seymour
1
@ Patrick: Teknis kecil. Linkd tidak membuat tautan simbolis, tetapi membuat persimpangan direktori.
surfasb
2
persimpangan hanya berfungsi dalam drive yang sama saya percaya. Hal yang paling dekat dengan symlinks untuk sistem yang lebih lama adalah penggunaan peta pemetaan sebagai drive yang saya yakini
Journeyman Geek
1
@surfasb juga yang menggunakan win2k lagi? :) (sayangnya, kami punya.)
Patrick Seymour
1
@JourneymanGeek: Tidak, persimpangan berfungsi di volume lokal . Sebaliknya, hardlink yang tidak menjangkau volume.
surfasb
0

Persimpangan dapat menunjuk ke folder NTFS apa pun, tidak peduli pada disk apa sumber dan target.

Karena WinXP Junctions bekerja dengan setiap partisi NTFS yang terhubung langsung, tidak peduli apakah mereka berada di disk yang sama atau di dik yang berbeda.

Jadi memiliki persimpangan adalah solusi terbaik (simbolik dapat menyebabkan beberapa masalah).

Saya banyak menggunakannya untuk melakukan ini:

  • Memiliki beberapa folder "virtual" pada partisi Sistem (biasanya itu adalah C :) yang menunjuk ke folder pada partisi pada disk USB (SSD, HDD, flashdisk, kartu memori, dll).

Jadi saya dapat memiliki beberapa data aplikasi pada media eksternal, dan hanya memiliki satu salinan untuk lebih dari satu PC, jadi tidak perlu melakukan sinkronisasi, dll. Tentu saja hanya satu PC yang akan melihatnya secara bersamaan.

Persimpangan juga dapat mengarah ke folder pada partisi NTFS yang dienkripsi oleh veraCrypt, dll.

Persimpangan hanya membutuhkan tiga hal:

  • Partisi sumber menjadi NTFS
  • Partisi tujuan menjadi NTFS
  • Kedua partisi tersebut bersifat lokal (terhubung secara fisik ke PC) ... ini tidak selalu merupakan kebutuhan, ada beberapa alat yang memungkinkan Anda meletakkan FTP sebagai drive lokal dan melihatnya sebagai NTFS, sehingga persimpangan dapat dibuat untuk menunjuk untuk itu

Maksud saya adalah bahwa persimpangan perlu melihat sumber dan target berada di dalam partisi NTFS.

  • Untuk XP gunakan alat SysInternals yang disebut junction, tautan: TechNet Junction Unduh .
  • Untuk 7 hingga 10 gunakan alat asli mklinkdengan /jparameter.

Keduanya adalah alat baris perintah dan seringkali memerlukan hak admin.

Juntions adalah cara termudah, tetapi bukan satu-satunya:

  • Anda dapat menggunakan partisi NTFS yang terpasang pada folder NTFS pada disk yang berbeda
  • Anda dapat membuat file VHD / VHDX (XP dan Vista membutuhkan alat, 7 hingga 10 asli pada manajemen disk), membuat satu atau lebih partisi di dalamnya dan me-mount mereka di folder NTFS
  • dll

Trik VHD / VHDX juga memungkinkan Anda menggunakan penyimpanan dinamis, jadi tidak perlu khawatir tentang ukuran GiB:

  1. Buat VHD / VHDX dalam mode dinamis (tidak semua ukuran yang ditetapkan ke disk virtual akan menjadi ukuran file) dan berikan sebanyak yang Anda inginkan (VHD terbatas sedikit kurang dari 2TiB, batas VHDX adalah 64TiB), tetapi buat pada NTFS, karena FAT32 membatasi ukuran file menjadi kurang dari 4GiB.
  2. Menginisialisasi disk virtual sebagai MBR atau GPT (tergantung pada apa yang Anda inginkan, MBR tidak mendukung lebih dari 4 partisi primer dan terbatas pada kurang dari 2TiB, GPT terbatas pada 8ZiB, tetapi Windows XP tidak dapat melihat drive GPT), lihat info lebih lanjut tentang batasan itu di Wikipedia: en.wikipedia.org/wiki/GUID_Partition_Table
  3. Partisi disk virtual seperti yang Anda inginkan
  4. Berikan format NTFS ke partisi yang Anda inginkan
  5. Jika Anda perlu memindahkan data pada satu folder (yang Anda ingin berada di tempat lain) untuk sementara memasang partiton baru itu sebagai huruf apa pun, pindahkan data ke sana dan turunkan ... tetapi jangan hapus folder dari tempat Anda memindahkannya. isi.
  6. Pasang partisi itu di atas folder itu

Dan $ MFT memiliki trik untuk menjadi sekecil mungkin (sangat penting jika Anda membuat partisi NFTS yang besar dan sangat besar untuk menampung ISO, dll ... masing-masing kurang dari 1000 file dengan ukuran sangat besar):

  • Dasar-dasar ini adalah untuk memiliki ukuran $ MFT awal sekecil mungkin
  • $ MFT akan bertambah jika Anda menaruh lebih banyak file dan tidak memiliki cukup ruang, jadi jangan takut tidak dapat menambahkan file
  • Ini adalah cara asli yang normal untuk membuat partisi, tanpa risiko sama sekali
  • Tidak ada motif (saya bisa melihat) untuk tidak membuat semua partisi NFTS dengan cara ini

Prosedurnya cukup sederhana:

  1. Buat partisi dengan hanya 8MiB (ya megabyte, bukan giga, dll), semakin sedikit ukuran untuk membuat NTFS normal ... NTFS bisa berukuran lebih kecil, tetapi akan melakukan hal-hal aneh karena bukan NFTS sepenuhnya.
  2. Tumbuhkan ke ukuran sebenarnya yang Anda inginkan

Langkah-langkah ini membuat satu hal:

  • Ketika partisi dibuat, $ MFT benar-benar kecil (karena ukuran partisi hanya 8MiB)

Jika Anda membuat partisi dengan ukuran penuh yang Anda inginkan, $ MFT akan (secara default dan selisih mungkin) sebesar 12,5% dari ukuran partisi; dan saya tidak tahu metode apa pun untuk mengurangi persen itu, juga tidak mengurangi ukuran $ MFT setelah dibuat; persen itu bisa lebih besar menyentuh kunci registri NtfsMFTZoneReservation pada beberapa jendela, tetapi jangan pernah kurang ... jadi dengan membuat partisi hanya 8MiB, ukuran awal $ MFT akan sangat sedikit. Anda dapat memeriksa bagaimana ruang $ MFT dicadangkan di situs Microsoft: Bagaimana NTFS mencadangkan ruang untuk tabel File Master (MFT)

Menumbuhkan ukuran partisi NTFS tidak menyentuh ukuran $ MFT ... jadi untuk memiliki partisi NTFS besar dengan ukuran $ MFT yang sesedikit mungkin, buatlah partisi tersebut hanya 8MiB dan tumbuhkan ke ukuran yang diinginkan setelah pembuatan.

Itu bagus untuk memiliki VHD / VHDX dinamis, karena itu tidak akan menggunakan semua ruang $ MFT untuk apa-apa ... maksud saya:

  • Jika Anda membuat NTFS dari 8MiB (jangan lupa untuk melakukannya dalam mode format cepat) dan tumbuh menjadi 1,5TiB, file yang memegang VHD / VHDX akan lebih kecil, jauh lebih kecil
  • Jika Anda secara langsung membuat partisi 1,5TiB di dalam VHD / VHDX, file yang memegang VHD / VHDX akan lebih besar, jauh lebih besar

Tes dilakukan di Windows 10 Home 64Bits:

  • VHD dinamis 1,8TiB dengan satu partisi NTFS dibuat (dengan format cepat) 8MiG dan bertambah menjadi 1,5GiB ... Ukuran VHD adalah: 15,6MiB
  • VHD dinamis 1,8TiB dengan satu partisi NTFS dibuat (dengan format cepat) 1,5GiB ... Ukuran VHD adalah: 107MiB

Lihat, sepuluh kali lebih besar. Saya tahu itu tidak banyak berbicara tentang seratus megabyte ... tetapi jika Anda menggunakan banyak (beberapa dari mereka) file VHD / VHDX, ukuran itu bisa sangat berarti, jika seribu file seperti itu, itu akan menjadi dekat 100GiB. Juga dengan VHDX dan ukuran ZetaBytes perbedaannya sangat besar.

Catatan: Saya berbicara tentang ukuran disk 1,8TiB hanya untuk memastikan saya dapat membuat partisi identik dengan ukuran persis 1,5TiB (1572864 MiB) ... jika Anda memasukkan ukuran disk X, partisi akan kurang dari X.

Claudio
sumber