Dossiers virtuels Windows 7?

16

J'ai installé Steam. Steam est installé dans c: \ Program Files \ Steam. Steam télécharge divers jeux dans un sous-dossier appelé SteamApps. La seule option disponible est pour Steam de télécharger et d'installer des applications au même endroit que Steam. Une configuration typique pourrait ressembler à ceci:

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

Etc.

Mon lecteur C est un SSD, donc l'espace est un problème. Game1 est très gourmand en disque, donc j'en ai besoin pour rester sur le lecteur C, mais j'ai un terrabyte d'espace sur lequel j'aimerais que Game2 et Game3 soient installés.

Existe-t-il un moyen de créer un dossier virtuel appelé "Game2" qui pointe vraiment vers mon plus gros disque dur et de le faire de telle sorte que Steam (ou n'importe quelle application vraiment) puisse naviguer jusqu'à l'emplacement sur le lecteur C et non même réaliser qu'il accédait vraiment au lecteur D: où pointe le dossier virtuel?

Donc, à la fin, C: \ Program Files \ Steam \ SteamApps \ Common \ Game2 existerait en tant que dossier, mais en réalité, il correspond à D: \ Games \ Game2.

user14301
la source
1
J'ai le même "problème" moi-même. Ce que je fais, c'est faire une sauvegarde des jeux auxquels je ne joue pas actuellement, puis supprimer le contenu local. Lorsque vous souhaitez les rejouer, il vous suffit d'aller dans le menu "Steam -> sauvegarder et restaurer" et de les restaurer. De cette façon, vous n'avez pas à télécharger à nouveau toutes les données lors de la réinstallation. C'est cependant une conception merdique que vous ne pouvez pas avoir de jeux sur différents disques.
T. Kaltnekar
1
Je lierai également les excellents "types de liens dans Windows" superuser.com/a/347946/24500
surfasb
1
Mieux encore ... J'ai fourni plus de détails dans une nouvelle réponse ci-dessous. S'il vous plaît, jetez un oeil.
Flak DiNenno

Réponses:

21

Essayez ce qui suit:

Ouvrez une invite de commande avec des autorisations administratives:

mklink / D Virtual_Folder_Here Real_Folder_Here

Par exemple, vous voulez installer quelque chose dans D: \ Games, mais vous voulez qu'il apparaisse comme C: \ Games.

mklink / DC: \ Games D: \ Games

Cela va créer un dossier D: \ Game qui apparaît également comme C: \ Game. Tout ce qui fait référence à C: \ Game sera redirigé vers D: \ Game.

Comme je ne connais pas complètement la vapeur, je n'ai pas donné d'exemple correspondant à votre dossier exact. Si Steam vous permet de choisir le dossier dans lequel il s'installe (ce qui, en raison de votre installation non seulement sur l'autre lecteur, je ne suis pas sûr que ce soit le cas.), Vous pouvez d'abord créer leur lien symbolique. Si ce n'est pas le cas, vous devrez peut-être effectuer des transferts de fichiers, le déplacer vers le nouvel emplacement, puis créer le lien symbolique. Exemple:

Steam a installé votre jeu sur: C: \ Program Files \ Steam \ SteamApps \ common \ Game2

Maintenant, vous créez votre dossier: D: \ GameGoesHere

Ensuite, vous copiez tous les fichiers du dossier d'origine et les placez dans D: \ GameGoesHere, puis vous pouvez créer le lien:

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

Remarquez que j'ai utilisé des citations cette fois en raison de l'espacement des "Program Files". Notez également qu'avant de créer le lien, le dossier virtuel ne doit PAS être un vrai dossier. Donc, si le dossier que vous souhaitez être un lien existe, vous devez d'abord le supprimer (pas avant de le copier, bien sûr!)

Serodis
la source
9

RÉPONSE: Pourquoi (et comment) cette solution fonctionne


Si vous avez besoin de récupérer cet espace / de déplacer l'utilisation sur un autre lecteur, vous avez une excellente option

Vous pouvez déménager en toute sécurité vers n'importe quel nouvel emplacement de stockage comme ...

  • stockage local / en direct
  • stockage en ligne
  • stockage près de la ligne
  • stockage hors ligne

... tant que votre ancien emplacement est NTFS et le nouvel emplacement:

  1. est basé sur SMB
  2. conforme à Windows LANman - si vous utilisez des liens symboliques / souhaitez vous relocaliser sur un serveur / périphérique réseau (voir ci-dessous ()
  3. peut être ajouté / affecté au système de fichiers existant / " My Computer" en utilisant un outil comme:
    • la assigncommande shell DOS / Windows
    • "Gestion de l'ordinateur" Windows ( compmgmt.msc)
  4. peut être monté sur une lettre de lecteur ou un autre point / répertoire de montage

Donc, essentiellement à partir d'aujourd'hui (2014-05-02), nous parlons de:

  • une autre partition live (montée)
  • un disque optique (CD, DVD, etc.) avec un système de fichiers en direct comme FAT ou NTFS
  • un disque dur externe
  • une clé USB
  • un lecteur réseau

    REMARQUE:

    Si et lorsque vous êtes invité à fournir le support ou à recevoir des erreurs concernant les fichiers manquants / l'emplacement manquant, assurez-vous simplement de remonter / réinsérer votre lecteur / support s'il ne s'agit pas déjà d'une partition active.

.

9 fois sur 10, ce sera le cas:

Par conséquent, vous constaterez que cela est très simple, et vous avez plusieurs excellentes options à choisir, qui, franchement, donnent à peu près les mêmes résultats:

  1. Créez une jonction de répertoire vers le nouvel emplacement:

    • Les jonctions permettent à un répertoire de pointer vers un autre.
    • Les jonctions ne peuvent être utilisées que sur le stockage local
    • Ils sont reconnus au niveau du système de fichiers comme une entrée d'alias dans la table des systèmes de fichiers (FSTAB).
      • Par conséquent, il est transparent pour tous les programmes, y compris le système d'exploitation lui-même.
      • En d'autres termes, il n'est PAS considéré comme un fichier qui pointe simplement vers un autre emplacement (comme un raccourci) et fonctionne donc toujours sans incident.
    • Les jonctions ne peuvent avoir que des références absolues aux fichiers. Donc, même si vous déplacez une structure de répertoires entière avec une jonction à l'intérieur, avec la structure complètement intacte, vous devrez recréer votre jonction.
    • Les jonctions peuvent être nommées n'importe quoi, c'est-à-dire qu'elles n'ont pas à refléter le même nom que le dossier vers lequel elles pointent.
  2. Créez un lien symbolique vers le nouvel emplacement:

    • Les liens symboliques sont des objets de système de fichiers qui pointent vers d'autres objets de système de fichiers.
    • Ils sont similaires aux jonctions et sont des points d'analyse.
    • Cependant, dans de rares occasions, avec certains programmes, je les ai vus NE PAS être reconnus (c'est parfois le cas avec les dossiers spéciaux Windows .
    • Mais, ils sont plus flexibles en ce que:
      • Les liens symboliques peuvent être créés en tant que références absolues ou relatives.
      • peut être utilisé pour pointer vers des emplacements de réseau SMB / LANman (serveurs Windows, périphériques SMB, etc.)

PROCÉDURES:


Alors, déplacez vos fichiers et dossiers vers le nouvel emplacement puis:

  1. OPTION1 (en mode natif): émettez simplement la commande intégrée Windows Vista / 7/8 et l'invite cmd:

    • Créez une jonction (lien "dur" vers un répertoire):

      mklink /J <oldpath> <newpath>
      
    • Créez un lien symbolique ( lien "soft" vers un répertoire):

      mklink /D <oldpath> <newpath>
      
  2. Option 2 (utiliser un outil): une excellente alternative est un utilitaire gratuit que j'utilise depuis des années appelé "Link Shell Extension" (LSE) (ou Google it).

    Téléchargez, décompressez et exécutez simplement (aucune installation)

    LSE vous permet de créer:

    • liens symboliques
    • liens physiques
    • jonctions
    • smartcopies
    • smartclones
    • miroirs intelligents
    • mouvements intelligents
    • épissures
    • Plusieurs sources
    • et plein d'autres trucs que je n'utilise jamais, franchement
      .

    C'est un produit gratuit génial qui crée un menu contextuel de l'explorateur Windows qui vous permet de cliquer avec le bouton droit sur votre dossier LINK-TARGET, puis de le faire glisser à l'endroit où vous souhaitez créer le lien réel.

    Vous pouvez bien sûr renommer le lien en tout ce que vous souhaitez .

Flak DiNenno
la source
8

Étonnamment, il existe un outil spécialement conçu pour ce moteur appelé Steam Mover, conçu pour résoudre le même problème, qui fonctionne dans Windows 7. C'est vraiment une façon astucieusement déguisée de faire facilement des liens symboliques . Fondamentalement, il déplace automatiquement les fichiers et crée un lien symbolique pour vous, donc tout semble être là où Steam l'attend, en C: mais c'est vraiment ailleurs.

Je noterais que cela ne fonctionnera que sur Windows 7 et Vista, car MS a ajouté des liens symboliques avec ces versions de Windows

Compagnon Geek
la source
1
Vous pouvez utiliser l'utilitaire de kit de ressources Win2K linkd sur cette plate-forme ou la jonction d'outils Sysinternals sur WinXP. Pas vraiment pertinent pour la question.
Patrick Seymour
1
@Patrick: Petite technicité. Linkd ne crée pas de liens symboliques, mais crée des jonctions de répertoire.
surfasb
2
les jonctions ne fonctionnent que dans le même lecteur, je crois. La chose la plus proche des liens symboliques pour les anciens systèmes est l'utilisation astucieuse du mappage d'un lecteur en tant que dossier, je crois
Journeyman Geek
1
@surfasb bien qui utilise win2k de toute façon? :) (malheureusement, nous le faisons.)
Patrick Seymour
1
@JourneymanGeek: Non, les jonctions fonctionnent sur les volumes locaux . Au contraire, les liens physiques qui ne s'étendent pas sur plusieurs volumes.
surfasb
0

Les jonctions peuvent pointer vers n'importe quel dossier NTFS, quel que soit le disque source par rapport à la cible.

Étant donné que WinXP Junctions fonctionne avec toutes les partitions NTFS directement connectées, qu'elles se trouvent sur le même disque ou sur des diks différents.

Donc, avoir une jonction est la meilleure solution (le symbolique peut causer des problèmes).

Je l'utilise beaucoup pour cela:

  • Avoir des dossiers "virtuels" sur la partition système (normalement c'est C :) qui pointent vers un dossier sur une partition sur un disque USB (SSD, HDD, clé USB, carte mémoire, etc.).

Je peux donc avoir des données d'applications sur des supports externes et n'avoir qu'une seule copie pour plus d'un PC, donc pas besoin de faire une synchronisation, etc. Bien sûr, un seul PC le verra en même temps.

Les jonctions peuvent également pointer vers un dossier sur une partition NTFS qui est chiffré par veraCrypt, etc.

Les jonctions n'ont besoin que de trois choses:

  • La partition source doit être un NTFS
  • La partition de destination doit être un NTFS
  • Les deux partitions sont locales (physiques connectées au PC) ... ce n'est pas toujours un besoin, il existe des outils qui vous permettent de mettre un FTP en tant que lecteur local et de le voir comme un NTFS, donc des jonctions peuvent être créées pour pointer pour que

Ce que je veux dire, c'est que la jonction doit voir la source et la cible à l'intérieur d'une partition NTFS.

  • Pour XP, utilisez l'outil SysInternals appelé junction, lien: TechNet Junction Download .
  • Pour 7 à 10, utilisez l'outil natif mklinkavec /jparamètre.

Les deux sont des outils de ligne de commande et nécessitent la plupart du temps des droits d'administrateur.

Les juntions sont le moyen le plus simple, mais pas le seul:

  • Vous pouvez utiliser une partition NTFS montée sur un dossier NTFS sur différents disques
  • Vous pouvez créer un fichier VHD / VHDX (XP et Vista nécessitent un outil, 7 à 10 le font nativement sur la gestion du disque), créer une ou plusieurs partitions à l'intérieur et les monter sur n'importe quel dossier NTFS
  • etc

L'astuce de VHD / VHDX vous permet également d'utiliser le stockage dynamique, donc pas besoin de vous soucier du Gio de taille:

  1. Créez le VHD / VHDX en mode dynamique (toutes les tailles attribuées au disque virtuel ne seront pas la taille du fichier) et donnez-le autant que vous le souhaitez (le VHD est limité à un peu moins de 2 To, la limite du VHDX est de 64 To), mais créez-le sur un NTFS, car FAT32 limite la taille du fichier à moins de 4GiB.
  2. Initialisez le disque virtuel en MBR ou GPT (dépend de ce que vous voulez, MBR ne prend pas en charge plus de 4 partitions principales et est limité à un peu moins que 2 To, GPT est limité à 8 ZiB, mais Windows XP ne peut pas voir les lecteurs GPT), voir plus d'informations sur ces limites sur Wikipedia: en.wikipedia.org/wiki/GUID_Partition_Table
  3. Partitionnez le disque virtuel comme vous le souhaitez
  4. Donnez le format NTFS à la partition que vous voulez
  5. Si vous devez déplacer des données sur un dossier (celui que vous souhaitez trouver ailleurs) montez temporairement cette nouvelle partition comme n'importe quelle lettre, déplacez-y les données et démontez-la ... mais ne supprimez pas le dossier d'où vous avez déplacé le Contenu.
  6. Montez cette partition sur ce dossier

Et $ MFT a une astuce pour être aussi petit que possible (très important si vous créez de grandes, très grandes partitions NFTS pour contenir des ISO, etc ... moins de 1000 fichiers de très grande taille chacun):

  • La base de ceci est d'avoir la taille initiale de $ MFT aussi petite que possible
  • $ MFT augmentera si vous mettez plus de fichiers et qu'il n'a pas assez d'espace, alors n'ayez pas peur de ne pas pouvoir ajouter de fichiers
  • C'est une manière native normale de créer la partition, sans aucun risque
  • Il n'y a aucun motif (je peux voir) de ne pas créer toutes les partitions NFTS de cette façon

La procédure est assez simple:

  1. Créez la partition avec seulement 8 Mo (oui mégaoctets, pas giga, etc.), moins la taille pour créer un NTFS normal ... NTFS peut être de taille inférieure, mais cela fera des choses étranges car ce n'est pas un NFTS complet.
  2. Développez-le à la taille réelle que vous souhaitez

Ces étapes font une chose:

  • Lorsque la partition est créée, le $ MFT est vraiment petit (puisque la partition n'a que 8 Mo de taille)

Si vous créez la partition avec la pleine taille que vous voulez, le $ MFT sera (par défaut et aussi léger que possible) de 12,5% de la taille de la partition; et je ne connais aucune méthode pour réduire ce pourcentage, ni pour réduire la taille de $ MFT après avoir été créé; ce pourcentage peut être supérieur en touchant la clé de registre NtfsMFTZoneReservation sur certaines fenêtres, mais jamais moins ... donc en créant une partition de seulement 8 Mo, la taille initiale de $ MFT sera très petite. Vous pouvez vérifier comment l'espace $ MFT est réservé sur le site Microsoft: Comment NTFS réserve de l'espace pour sa table de fichiers maîtres (MFT)

Augmenter la taille d'une partition NTFS ne touche pas la taille $ MFT ... donc pour avoir une énorme partition NTFS avec aussi peu que possible la taille $ MFT, créez la partition avec seulement 8 Mo et augmentez-la à la taille souhaitée après la création.

C'est génial d'avoir un VHD / VHDX dynamique, car il n'utilisera pas tout cet espace $ MFT pour rien ... je veux dire:

  • Si vous créez un NTFS de 8 Mo (n'oubliez pas de le faire en mode de formatage rapide) et passez à 1,5 To, le fichier VHD / VHDX le contenant sera plus petit, beaucoup plus petit
  • Si vous créez directement une partition de 1,5 To à l'intérieur du VHD / VHDX, le fichier VHD / VHDX la contenant sera plus grand, beaucoup plus gros

Test effectué dans Windows 10 Home 64Bits:

  • VHD dynamique de 1,8 To avec une partition NTFS créée (avec format rapide) de 8 Mo et augmentée à 1,5 Go ... La taille du disque dur virtuel est: 15,6 Mo
  • VHD dynamique de 1,8 To avec une partition NTFS créée (avec un format rapide) de 1,5 Go ... La taille du disque dur virtuel est: 107 Mo

Vous voyez, c'est dix fois plus. Je sais que cela ne parle pas beaucoup d'une centaine de mégaoctets ... mais si vous utilisez beaucoup (quelques milliers d'entre eux) de fichiers VHD / VHDX, cette taille peut avoir beaucoup d'importance, si mille de ces fichiers, ce serait près de 100 Go. Avec le VHDX et les tailles de ZetaBytes, la différence est vraiment énorme.

Remarque: je parle de la taille du disque de 1,8 To uniquement pour m'assurer que je peux créer une partition identique de taille exacte de 1,5 To (1572864 Mio) ... si vous mettez la taille du disque de X, la partition sera inférieure à X.

Claudio
la source