Windows 7 Thư mục ảo?


16

Tôi đã cài đặt Steam. Steam được cài đặt vào c: \ Program Files \ Steam. Steam tải các trò chơi khác nhau vào một thư mục phụ có tên SteamApps. Tùy chọn duy nhất khả dụng là steam để tải xuống và cài đặt các ứng dụng đến cùng vị trí với steam. Một thiết lập điển hình có thể trông như thế này:

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

Vân vân.

Ổ C của tôi là ổ SSD, nên dung lượng là một vấn đề. Game1 rất tốn đĩa, vì vậy tôi cần nó để duy trì trên ổ C, nhưng tôi đã có một không gian rộng lớn mà tôi muốn Game2 và Game3 được cài đặt.

Có cách nào để tạo một thư mục ảo có tên "Game2" thực sự trỏ đến ổ cứng lớn hơn của tôi không và làm cho nó theo cách mà Steam (hoặc bất kỳ ứng dụng nào thực sự) có thể duyệt đến vị trí trên ổ C chứ không phải thậm chí nhận ra rằng nó đã thực sự truy cập vào ổ D: thư mục ảo trỏ đến đâu?

Vì vậy, cuối cùng, C: \ Program Files \ Steam \ SteamApps \ Common \ Game2 sẽ tồn tại dưới dạng thư mục nhưng thực tế, nó ánh xạ tới D: \ Games \ Game2.


1
Có cùng "vấn đề" bản thân mình. Những gì tôi làm là tạo một bản sao lưu các trò chơi tôi hiện không chơi, sau đó xóa nội dung cục bộ. Khi bạn muốn chơi lại chúng, bạn chỉ cần vào menu "Steam -> sao lưu và khôi phục" và khôi phục chúng. Bằng cách đó, bạn không phải tải lại tất cả dữ liệu khi cài đặt lại. Tuy nhiên, đây là một thiết kế tệ hại mà bạn không thể có các trò chơi trên các đĩa khác nhau.
T. Kaltnekar

1
Tôi cũng sẽ liên kết "các loại liên kết trong Windows" superuser.com/a/347946/24500
Surfasb


1
Tốt hơn nữa ... Tôi đã cung cấp chi tiết hơn trong câu trả lời mới bên dưới. Xin vui lòng xem qua.
Flak DiNenno

Câu trả lời:


21

Hãy thử như sau:

Mở một dấu nhắc lệnh với quyền quản trị:

mklink / D Virtual_Folder_Here Real_Folder_Here

Ví dụ: bạn muốn cài đặt một cái gì đó vào D: \ Games, nhưng bạn muốn nó xuất hiện dưới dạng C: \ Games.

mklink / DC: \ Trò chơi D: \ Trò chơi

Điều này sẽ tạo một thư mục D: \ Game cũng xuất hiện dưới dạng C: \ Game. Bất cứ điều gì tham chiếu C: \ Game sẽ được chuyển hướng đến D: \ Game.

Vì tôi không hoàn toàn quen thuộc với hơi nước, tôi đã không đưa ra một ví dụ phù hợp với thư mục chính xác của bạn. Nếu steam cho phép bạn chọn thư mục mà nó cài đặt (Do bạn không chỉ cài đặt nó vào ổ đĩa khác, tôi không chắc là như vậy.) Bạn có thể tạo liên kết tượng trưng cho chúng trước tiên. Tuy nhiên, nếu không, bạn có thể cần thực hiện một số lần chuyển tệp, di chuyển nó đến vị trí mới và sau đó tạo liên kết tượng trưng. Thí dụ:

Steam đã cài đặt trò chơi của bạn thành: C: \ Program Files \ Steam \ SteamApps \ common \ Game2

Bây giờ, bạn tạo thư mục của mình: D: \ GameGoesHere

Sau đó, bạn sao chép tất cả các tệp từ thư mục gốc và đặt nó vào D: \ GameGoesHere, sau đó bạn có thể tạo liên kết:

mklink / D "C: \ Tệp chương trình \ Steam \ SteamApps \ common \ Game2" "D: \ GameGoesHere"

Lưu ý rằng tôi đã sử dụng trích dẫn lần này do khoảng cách của "Tệp chương trình". Cũng lưu ý rằng trước khi tạo liên kết, thư mục ảo KHÔNG phải là thư mục thực. Vì vậy, nếu thư mục bạn muốn là một liên kết tồn tại, trước tiên bạn phải xóa nó (Không phải trước khi bạn sao chép nó!)


9

TRẢ LỜI: Tại sao (và làm thế nào) Giải pháp này hoạt động


Nếu bạn cần lấy lại không gian này / chuyển vị trí sử dụng sang ổ đĩa khác, bạn có một tùy chọn tuyệt vời

Bạn có thể di chuyển an toàn đến bất kỳ vị trí lưu trữ mới nào như ...

  • lưu trữ cục bộ / trực tiếp
  • lưu trữ trực tuyến
  • lưu trữ gần tuyến
  • lưu trữ ngoại tuyến

... miễn là vị trí OLD của bạn là NTFS và vị trí mới:

  1. SMB dựa
  2. phù hợp với Windows LANman - nếu bạn sử dụng các liên kết tượng trưng / muốn chuyển sang máy chủ / thiết bị mạng (xem bên dưới ()
  3. có thể được thêm / gán cho hệ thống tệp hiện có / " My Computer" bằng cách sử dụng một công cụ như:
    • assignlệnh shell DOS / Windows
    • Windows "Quản lý máy tính" ( compmgmt.msc)
  4. có thể được gắn nó vào một ký tự ổ đĩa hoặc thư mục / điểm gắn kết khác

Vì vậy, về cơ bản là cho đến ngày hôm nay (2014-05 / 02), chúng ta đang nói về:

  • một phân vùng (gắn kết) trực tiếp khác
  • một đĩa quang (CD, DVD, v.v.) với hệ thống tệp trực tiếp như FAT hoặc NTFS
  • một ổ cứng ngoài
  • một ổ USB
  • một ổ đĩa mạng

    GHI CHÚ:

    Nếu và khi bạn được nhắc về phương tiện truyền thông hoặc nhận bất kỳ lỗi nào về các tệp bị thiếu / vị trí bị thiếu, bạn chỉ cần đảm bảo lặp lại / gắn lại ổ đĩa / phương tiện của mình nếu đó chưa phải là phân vùng trực tiếp.

.

9 trên 10 lần, đây sẽ là trường hợp:

Do đó, bạn sẽ thấy điều này rất đơn giản và bạn có một vài lựa chọn tuyệt vời để lựa chọn, thật lòng mà nói, mang lại kết quả gần như tương tự:

  1. Tạo một đường nối thư mục đến vị trí mới:

    • Các mối nối cho phép một thư mục trỏ đến một thư mục khác.
    • Các mối nối chỉ có thể được sử dụng trên bộ nhớ cục bộ
    • Chúng được nhận dạng ở cấp hệ thống tệp dưới dạng mục bí danh trong Bảng hệ thống tệp (FSTAB).
      • Do đó, nó minh bạch đối với tất cả các chương trình, bao gồm cả hệ điều hành.
      • Nói cách khác, nó KHÔNG được xem như là một tệp chỉ đơn giản là trỏ đến một vị trí khác (như phím tắt) và do đó luôn hoạt động mà không có sự cố.
    • Các mối nối chỉ có thể có các tham chiếu tuyệt đối đến các tập tin. Vì vậy, ngay cả khi bạn di chuyển toàn bộ cấu trúc thư mục với một đường nối bên trong nó, với cấu trúc hoàn toàn nguyên vẹn, bạn sẽ phải tạo lại đường giao nhau của mình.
    • Các mối nối có thể được đặt tên bất cứ thứ gì, tức là chúng không phải phản ánh cùng tên với thư mục mà chúng đang trỏ tới.
  2. Tạo một liên kết tượng trưng đến vị trí mới:

    • Liên kết tượng trưng là các đối tượng hệ thống tệp trỏ đến các đối tượng hệ thống tệp khác.
    • Chúng tương tự như các điểm nối, và là các điểm lặp lại.
    • Tuy nhiên, trong một số trường hợp hiếm hoi, với một số chương trình, tôi đã thấy chúng KHÔNG được nhận dạng (đôi khi đây là trường hợp với Windows Special Folders .
    • Nhưng, họ linh hoạt hơn ở chỗ:
      • Liên kết tượng trưng có thể được tạo ra như là tài liệu tham khảo tuyệt đối hoặc tương đối.
      • có thể được sử dụng để trỏ đến các vị trí mạng SMB / LANman (máy chủ windows, thiết bị SMB, v.v.)

THỦ TỤC:


Vì vậy, di chuyển các tập tin và thư mục của bạn đến vị trí mới sau đó:

  1. OPTION1 (nguyên bản): Chỉ cần ban hành lệnh Windows Vista / 7/8 tích hợp và dấu nhắc cmd:

    • Tạo một đường nối ("cứng" liên kết đến một thư mục):

      mklink /J <oldpath> <newpath>
      
    • Tạo một liên kết tượng trưng ( liên kết "mềm" đến một thư mục):

      mklink /D <oldpath> <newpath>
      
  2. Tùy chọn 2 (sử dụng công cụ): Một lựa chọn TUYỆT VỜI là một tiện ích tiện dụng miễn phí mà tôi đã sử dụng trong nhiều năm được gọi là "Link Shell Extension" (LSE) (hoặc Google nó).

    Chỉ cần tải xuống, giải nén và chạy (không cần cài đặt)

    LSE cho phép bạn tạo:

    • liên kết tượng trưng
    • liên kết cứng
    • nút giao
    • thông minh
    • điện thoại thông minh
    • gương thông minh
    • di chuyển thông minh
    • mối nối
    • nhiều nguồn
    • và những thứ khác tôi không bao giờ sử dụng, thẳng thắn
      .

    Đây là một sản phẩm miễn phí tuyệt vời tạo menu ngữ cảnh windows explorer cho phép bạn nhấp chuột phải vào thư mục LINK-TARGET của bạn sau đó kéo nó đến nơi bạn muốn tạo liên kết thực tế.

    Tất nhiên bạn có thể đổi tên liên kết thành bất cứ điều gì bạn muốn .


8

Thật đáng kinh ngạc, có một công cụ chỉ dành cho cái gọi là hơi nước này, được thiết kế để giải quyết vấn đề tương tự, hoạt động trong windows 7. Đây thực sự là một cách dễ dàng ngụy trang để thực hiện các liên kết tượng trưng . Về cơ bản, nó sẽ tự động di chuyển các tệp và tạo một liên kết tượng trưng cho bạn, vì vậy mọi thứ dường như là nơi hơi mong đợi, trong C: nhưng nó thực sự ở nơi khác.

Tôi lưu ý rằng điều này sẽ chỉ hoạt động trên windows 7 và vista vì MS đã thêm symlink với các phiên bản windows đó


1
Bạn có thể sử dụng linkd tiện ích bộ tài nguyên Win2K trên nền tảng đó hoặc đường nối công cụ Sysiternals trên WinXP. Không thực sự liên quan đến câu hỏi mặc dù.
Patrick Seymour

1
@Patrick: Kỹ thuật nhỏ. Linkd không tạo các liên kết tượng trưng, ​​nhưng tạo các mối nối thư mục.
Surfasb

2
nút giao chỉ hoạt động trong cùng một ổ đĩa tôi tin. Điều gần gũi nhất với các liên kết tượng trưng cho các hệ thống cũ là sử dụng khéo léo ánh xạ ổ đĩa như một thư mục mà tôi tin
Journeyman Geek

1
@surfasb ai còn dùng win2k nữa chứ? :) (đáng buồn thay, chúng tôi làm.)
Patrick Seymour

1
@JTHERmanGeek: Không, Giao diện hoạt động trên các khối địa phương . Thay vào đó, các liên kết cứng không trải dài trên khối lượng.
Surfasb

0

Các mối nối có thể trỏ đến bất kỳ thư mục NTFS nào, bất kể đĩa nào là nguồn so với đích.

Vì Giao diện WinXP hoạt động với mọi phân vùng NTFS được kết nối trực tiếp, bất kể chúng nằm trên cùng một đĩa hoặc trên các diks khác nhau.

Vì vậy, có một ngã ba là giải pháp tốt nhất (tượng trưng có thể gây ra một số vấn đề).

Tôi sử dụng nó rất nhiều để làm điều này:

  • Có một số thư mục "ảo" trên phân vùng Hệ thống (thông thường là C :) trỏ đến một thư mục trên phân vùng trên đĩa USB (SSD, HDD, Pendrive, thẻ nhớ, v.v.).

Vì vậy, tôi có thể có một số dữ liệu ứng dụng trên phương tiện bên ngoài và chỉ có một bản sao cho nhiều PC, do đó không cần phải đồng bộ hóa, v.v ... Tất nhiên chỉ có một PC sẽ nhìn thấy nó cùng một lúc.

Ngoài ra, các mối nối có thể trỏ đến một thư mục trên phân vùng NTFS được mã hóa bởi veraCrypt, v.v.

Các mối nối chỉ cần ba điều:

  • Phân vùng nguồn là NTFS
  • Phân vùng đích là một NTFS
  • Cả hai phân vùng đều là cục bộ (kết nối vật lý với PC) ... đây không phải là nhu cầu, có một số công cụ cho phép bạn đặt FTP làm ổ đĩa cục bộ và được xem là NTFS, do đó, các mối nối có thể được tạo để trỏ đến đó

Ý tôi là cái ngã ba cần xem nguồn và đích nằm trong phân vùng NTFS.

  • Đối với XP, hãy sử dụng công cụ SysIternals được gọi junction, liên kết: Tải xuống TechNet Junction .
  • Đối với 7 đến 10, sử dụng công cụ gốc mklinkvới /jtham số.

Cả hai đều là công cụ dòng lệnh và hầu hết các lần đều yêu cầu quyền quản trị.

Juntions là cách dễ nhất, nhưng không phải là cách duy nhất:

  • Bạn có thể sử dụng phân vùng NTFS được gắn trên thư mục NTFS trên các đĩa khác nhau
  • Bạn có thể tạo tệp VHD / VHDX (XP và Vista yêu cầu một công cụ, 7 đến 10 làm nó tự nhiên trên quản lý đĩa), tạo một hoặc nhiều phân vùng bên trong nó và gắn chúng vào bất kỳ thư mục NTFS nào
  • Vân vân

Thủ thuật của VHD / VHDX cũng cho phép bạn sử dụng bộ nhớ động, do đó không cần phải lo lắng về kích thước GiB:

  1. Tạo VHD / VHDX ở chế độ động (không phải tất cả kích thước được gán cho đĩa ảo sẽ là kích thước của tệp) và cung cấp cho nó bao nhiêu tùy ý (VHD được giới hạn ở mức nhỏ hơn 2TiB, giới hạn VHDX là 64TiB), nhưng tạo nó trên NTFS, vì FAT32 giới hạn kích thước tệp dưới 4GiB.
  2. Khởi tạo đĩa ảo dưới dạng MBR hoặc GPT (tùy thuộc vào những gì bạn muốn, MBR không hỗ trợ nhiều hơn 4 phân vùng chính và bị giới hạn ở mức 2TiB ít hơn, GPT bị giới hạn ở 8ZiB, nhưng Windows XP không thể thấy các ổ GPT), xem thêm thông tin về các giới hạn đó trên Wikipedia: en.wikipedia.org/wiki/GUID_Partition_Table
  3. Phân vùng đĩa ảo như bạn muốn
  4. Cung cấp định dạng NTFS cho phân vùng bạn muốn
  5. Nếu bạn cần di chuyển dữ liệu trên một thư mục (thư mục bạn muốn ở một nơi khác) tạm thời gắn partiton mới đó như bất kỳ chữ cái nào, hãy di chuyển dữ liệu đến thư mục đó ... nhưng không xóa thư mục khỏi nơi bạn đã di chuyển nội dung.
  6. Gắn kết phân vùng đó vào thư mục đó

Và $ MFT có một mẹo nhỏ nhất có thể (rất quan trọng nếu bạn tạo các phân vùng NFTS lớn, thực sự lớn để chứa ISO, v.v ... ít hơn 1000 tệp có kích thước thực sự lớn mỗi cái):

  • Điều cơ bản của việc này là có kích thước $ MFT ban đầu càng nhỏ càng tốt
  • $ MFT sẽ phát triển nếu bạn đặt nhiều tệp hơn và nó không đủ dung lượng, vì vậy đừng sợ không thể thêm tệp
  • Đó là một cách tự nhiên để tạo phân vùng, không có rủi ro nào cả
  • Không có động cơ (tôi có thể thấy) để không tạo tất cả các phân vùng NFTS theo cách này

Thủ tục khá đơn giản:

  1. Tạo phân vùng chỉ với 8MiB (có megabyte, không phải giga, v.v.), kích thước nhỏ hơn để tạo NTFS bình thường ... NTFS có thể có kích thước nhỏ hơn, nhưng nó sẽ làm những điều kỳ lạ vì nó không phải là một NFTS hoàn toàn.
  2. Phát triển nó đến kích thước thật bạn muốn

Các bước làm cho một điều:

  • Khi phân vùng được tạo, $ MFT thực sự nhỏ (vì phân vùng chỉ có kích thước 8MiB)

Nếu bạn tạo phân vùng với kích thước đầy đủ mà bạn muốn, $ MFT sẽ (theo mặc định và càng thấp càng tốt) là 12,5% kích thước phân vùng; và tôi không biết bất kỳ phương pháp nào để giảm phần trăm đó, cũng không giảm kích thước $ MFT sau khi được tạo; phần trăm đó có thể chạm vào khóa đăng ký NtfsMFTZoneReservation nhiều hơn trên một số cửa sổ, nhưng không bao giờ ít hơn ... vì vậy bằng cách tạo phân vùng chỉ 8MiB, kích thước ban đầu $ MFT sẽ rất ít. Bạn có thể kiểm tra cách không gian $ MFT được dành riêng trên trang web của Microsoft: Cách NTFS dự trữ không gian cho bảng Tệp chính của nó (MFT)

Tăng kích thước phân vùng NTFS không chạm vào kích thước $ MFT ... vì vậy, để có phân vùng NTFS lớn với kích thước $ MFT ít nhất có thể, hãy tạo phân vùng chỉ 8MiB và tăng kích thước theo mong muốn sau khi tạo.

Điều đó thật tuyệt vời khi có VHD / VHDX động, vì vậy nó sẽ không sử dụng tất cả không gian $ MFT đó cho mục đích gì cả ... ý tôi là:

  • Nếu bạn tạo NTFS 8MiB (đừng quên thực hiện ở chế độ định dạng nhanh) và tăng lên 1,5TiB, tệp VHD / VHDX giữ nó sẽ nhỏ hơn, nhỏ hơn nhiều
  • Nếu bạn trực tiếp tạo phân vùng 1,5TiB bên trong VHD / VHDX, tệp VHD / VHDX giữ nó sẽ lớn hơn, lớn hơn nhiều

Kiểm tra được thực hiện trong Windows 10 Home 64Bits:

  • VHD động 1,8TiB với một phân vùng NTFS được tạo (với định dạng nhanh) 8MiG và tăng lên 1,5GiB ... Kích thước VHD là: 15,6MiB
  • VHD động 1,8TiB với một phân vùng NTFS được tạo (với định dạng nhanh) 1,5GiB ... Kích thước VHD là: 107MiB

Xem, nó là lớn hơn mười lần. Tôi biết rằng nó không nói nhiều về một trăm megabyte ... nhưng nếu bạn sử dụng nhiều (vài nghìn trong số đó) các tệp VHD / VHDX, kích thước đó có thể quan trọng rất nhiều, nếu một nghìn tệp như vậy, thì đó sẽ là gần 100GiB. Ngoài ra với VHDX và kích thước của ZetaBytes, nó thực sự rất khác biệt.

Lưu ý: Tôi nói về kích thước đĩa 1.8TiB chỉ để đảm bảo tôi có thể tạo một phân vùng giống hệt nhau có kích thước chính xác là 1,5TiB (1572864 MiB) ... nếu bạn đặt kích thước đĩa của X, phân vùng sẽ nhỏ hơn X.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.