Regrouper plusieurs partitions/disques/SSD sur une seule

Nos tutoriels complets pour vous aider
Répondre
Soulfate
    unknown unknown

Regrouper plusieurs partitions/disques/SSD sur une seule

Message par Soulfate »

J'ai chez moi plusieurs supports de stockage, un SSD et un disque dur, configuration qui devient de plus en plus classique.
Le défaut de ce genre de configuration est d'avoir plusieurs partitions ("C:\" ; "D:\") alors que Windows ne s'installe que sur une partition unique, la "C:\".
Il devient alors désagréable d'avoir à choisir entre la partition C ou D selon le contenu à transférer, à installer ou à lire.

Seulement, moyennant préparation, il est possible d'avoir accès à tous ses dossiers et fichiers, peu importe sur quel support ils sont stockés, à partir de la partition "C:\". Vous pouvez, par exemple, installer un gros logiciel qui n'a pas besoin des performances des SSD sur votre disque dur ("D:\"), mais le rendre quand même accessible depuis "C:\Program Files\Nom du logiciel\". Le chemin sera correcte, vous pourrez même l'utiliser dans des scripts, comme chemin d'installation, créer un raccourci ou le référencer tel quel dans le registre sans que Windows n'y voit de problème.

Deux solutions principales s'offrent à vous. La première, monter une partition Alpha dans une partition Bêta. La partition Alpha apparaîtra comme un dossier à la racine de la partition Bêta. Cette solution est facile puisqu'elle est accessible au même endroit où l'utilisateur choisit quelles lettres seront assignées à telle ou telle partition. Cette solution est compatible entre plusieurs disque durs/SSD, mais reste très limitée quant à ses possibilités et je ne la recommande pas vraiment à cause de son manque de souplesse. Cependant, monter une partition dans un dossier permet de le rendre accessible tout en supprimant sa lettre de lecteur. Je peux donc monter le disque dur "D:\" dans le dossier "C:\HDD\"

Une autre solution que j'utilise depuis des lustres est l'utilisation de jonctions (junctions en anglais), les liens symboliques (sym links) et les liens physiques (hard links). Ces "liens" sont possibles sur n'importe quelle partition en NTFS et permettent à l'utilisateur d'avoir un outil bien plus puissant que les raccourcis (fichiers *.lnk).
Une jonction permet de créer une autre occurrence qui pointe vers un dossier original, sans pour autant en dédoubler son contenu. Autrement dit, si vous pensiez qu'il n'y avait qu'un seul chemin pour accéder à un dossier ou un fichier unique, vous aviez tort : il peut y en avoir plusieurs !
Imaginons que j'ai un dossier original "C:\Users\Moi\Partage\", mais que je veux que ce dossier s'affiche également dans "D:\Partage\" sans que ce soit un doublon, je peux entrer ligne de commande

Code : Tout sélectionner

mklink /j "D:\Partage\" "C:\Users\Moi\Partage\"
pour créer une jonction de "D:\Partage\" vers "C:\Users\Moi\Partage\", c'est-à-dire une sorte de raccourci de "D:\Partage\" vers "C:\Users\Moi\Partage\".
Si la création réussit, je remarque alors que le dossier "D:\Partage\" existe et lorsque j'y accède, je retrouve le même contenu que dans "C:\Users\Moi\Partage\". Je modifie, ajoute, supprime un fichier qui est à l'intérieur : les modifications se font dans les deux dossiers ! C'est normal, puisque j'ai accès au même dossier physique, sur le disque dur et non à un clone. Il s'agit donc de deux références pour un seul dossier réel et le lien est utilisable de la même manière que l'original.


Jonctions, liens symboliques et liens physiques
Il y a trois liens possibles :
Type de lien ----------- Sur fichier/dossier -|- Compatibilité -|- Chemin relatif -|- Entre plusieurs supports -|- Suppression
- Jonction : ------------ dossier seulement -|- XP/Vista et + ---|- non -------------|- oui -------------------------|- ne supprime pas l'original (commande : rmdir/rd)
- Lien symbolique : --- les deux ------------|- Vista et +/Linux -|- accepte --------|- oui -------------------------|- ne supprime pas l'original (commande : del)
- Lien physique : ------ fichier seulement --|- Vista et + /Linux-|- N/A ------------|- non ------------------------|- ne supprime pas l'original (lorsque plus aucune référence au fichier n'existe, le fichier est perdu définitivement)


Ce qu'il faut retenir pour Windows
Windows affiche les liens et les originaux de la même manière. Il n'y a donc pas de différence depuis l'explorateur de fichier, ni même lorsqu'un programme utilise un lien plutôt qu'un original.
Link Shell Extension est une extension pour Windows qui permet plusieurs choses :
- Différencier liens et jonctions des fichiers et dossiers "normaux" grâce à des icônes ;
- Ajouter au menu contextuel des opérations en rapport avec les liens et jonctions ("Prendre comme cible du lien" ; "Coller..." -> "un lien symbolique") ;
- Vérifier ou modifier le lien dans les propriétés du lien ou de la jonction ;
- Lorsqu'il s'agit d'un lien physique d'un fichier, vérifier combien de liens existent pour ce fichier.

Ce programme est grandement recommandé et sera parfois utilisé lors de la suite du tutoriel.

[Icône : verrou gris] La jonction a l'avantage d'être retro-compatible avec XP (et plus récent) mais ne fonctionne qu'avec un dossier, peu importe son support de stockage d'origine, tant qu'il est en NTFS, et n'accepte pas de chemin relatif (ex.: ".\Program Files").
[Icône : flèche verte] Le lien symbolique est compatible avec Vista (et plus récent) et permet de créer un lien, relatif ou non, vers un dossier ou fichier, peu importe son support de stockage d'origine. Sa création demande des autorisations administrateur. Attention : un lien symbolique d'un fichier exécute le fichier dans son dossier d'origine, tant qu'il est en NTFS.
[Icône : flèche rouge] Le lien physique est compatible avec Vista (et plus récent) et ne permet de créer un lien que vers un fichier. Cependant, son fonctionnement est unique et très intéressant: il n'y a aucune différence entre un lien physique et son original ! Peu importe que vous modifiez l' "original" ou le "lien physique", les modifications touchent toutes les références à ce fichier. En fait, il peut y avoir un seul fichier physique sur le disque dur, mais plusieurs références possibles dans le registre de fichiers, ce qui fait qu'un fichier peut apparaître à plusieurs endroits en même temps ! Vous pouvez donc supprimer le fichier original, le lien physique que vous venez de créer est toujours valide. Pour supprimer un fichier, il faut que TOUTES ses références soient supprimées.

Les commandes sous Windows :
- Créer une jonction du dossier original "C:\Original\" vers une jonction "C:\Jonction\" :

Code : Tout sélectionner

mklink /j "C:\Jonction\" "C:\Original\"
- Créer un lien symbolique du dossier original "C:\Original\" vers un lien symbolique "C:\Lien symbolique\" :

Code : Tout sélectionner

mklink /d "C:\Lien symbolique\" "C:\Original\"
- Créer un lien symbolique du fichier original "C:\Original.txt" vers un lien symbolique "C:\Lien symbolique.txt" :

Code : Tout sélectionner

mklink "C:\Lien symbolique.txt" "C:\Original.txt"
- Créer un lien physique du fichier original "C:\Original.txt" vers lien physique "C:\Lien physique.txt" :

Code : Tout sélectionner

mklink /h "C:\Lien physique.txt" "C:\Original.txt"
Comment regrouper plusieurs partitions, avec ça ?
Tout d'abord, à moi de choisir si je veux monter la deuxième partition sur une lettre de lecteur ("D:\") ou dans un dossier à la racine de la partition principale ("C:\"). Dans le premier cas, je me fais l'économie d'une lettre pour que seule "C:\" existe dans l'explorateur.
Dans ces exemples, la partition principale (un SSD) est "C:\" tandis que la seconde (un HDD) est montée dans "C:\HDD\".
Ensuite, il est possible que des dossiers que je veux rediriger soient en cours d'utilisation... Deux solutions s'offrent à moi. La première est d'utiliser une session Windows temporaire pour les manipulations, avec des droits administrateur. Si ça ne suffit pas, il faut utiliser un Live CD de Vista, Windows 7 ou Windows 8.1, installer Link Shell Extension et faire les manipulations depuis ce Live CD.

Exemple 1, je veux installer un programme dans le chemin "C:\Program Files\Mon programme\" mais je veux que les fichiers soient physiquement sur mon disque dur ("C:\HDD\") et non sur mon SSD ("C:\") afin d'économiser de la place sur mon SSD :
1. Je créais d'abord le dossier "C:\HDD\Mon programme\", c'est-à-dire dans ma seconde partition. Je peux en réalité créer n'importe quel sous-dossier de "C:\HDD\", mais par soucis de compréhension, je crée le plus simple des dossiers ;
2. Clic-droit sur ce nouveau dossier -> "Prendre comme cible du lien" ;
3. Je vais ensuite dans le dossier "Programmes" ("C:\Program Files\") de ma partition principale et je fais un clic-droit dans un espace vide pour faire apparaître le menu contextuel -> "Coller..." -> "un lien symbolique" ou "une jonction", au choix. L'effet sera le même, mais je conseille un lien symbolique car plus souple qu'une jonction, mais incompatible cependant avec XP. N'oublions pas qu'avec un lien symbolique, le programme, même lancé depuis son lien symbolique, sera exécuté dans l'environnement d'origine, c'est-à-dire dans "C:\HDD\Mon programme\". Ce n'est pas le cas avec la jonction. Je peux aussi utiliser les lignes de commandes pour créer le lien symbolique ou la jonction si je ne veux pas utiliser Link Shell Extension ;
4. J'installe mon programme dans le chemin suivant : "C:\Program Files\Mon programme\". Après installation, je remarque que les fichiers existent aussi dans "C:\HDD\Mon programme\". C'est normal, ce ne sont pas des doublons mais les mêmes fichiers et sous-dossiers que dans "C:\Program Files\Mon programme\". Techniquement, mon programme est lu depuis mon disque dur et non mon SSD. Les performances résultent donc de celles de mon disque dur, ma seconde partition, et non de mon SSD, partition principale.

Exemple 2 (à effectuer depuis un Live CD), je veux que mon dossier "Utilisateurs" ("C:\Users\") existe mais je veux que les fichiers soient physiquement sur mon disque dur ("C:\HDD\") et non sur mon SSD ("C:\") afin d'économiser de la place sur mon SSD :
1. Je dois utiliser un Live CD pour pouvoir déplacer le dossier "Utilisateurs". Je démarre donc sur mon Live CD Windows ;
2. Je déplace d'abord le dossier "C:\Users\" vers "C:\HDD\Users\", c'est-à-dire dans ma seconde partition. Le dossier est transféré du SSD vers le disque dur ;
3. Après avoir installé Link Shell Extension, je fais un clic-droit sur "C:\HDD\Users\" -> puis je clique sur "Prendre comme cible du lien" ;
4. Je vais ensuite à la racine de ma partition principale ("C:\") et je fais un clic-droit dans un espace vide pour faire apparaître le menu contextuel -> "Coller..." -> "un lien symbolique" ou "une jonction", au choix (voir la différence dans l'exemple 1 - 3.). Je peux aussi utiliser les lignes de commandes pour créer le lien symbolique ou la jonction si je ne veux pas utiliser Link Shell Extension ;
5. Pour remettre "Système" comme propriétaire de "C:\Users\", je fais un clic-droit sur le dossier -> "Propriétés" -> je clique sur l'onglet "Sécurité" -> je clique sur le bouton "Avancé" -> je clique sur l'élément bleu "Modifier" à droite de "Propriétaire :" -> j'entre le terme Système -> je clique trois fois sur le bouton "Ok" pour terminer ;
6. Après avoir vérifié que "C:\Users\" existe et qu'il est valide (il peut apparaître comme le dossier "Utilisateurs" à la racine de ma partition principale "C:\"), je redémarre sur Windows et non sur le Live CD ;
7. Ce n'est pas fini car je peux vouloir que mon dossier "Temp" ("C:\Users\Moi\AppData\Local\Temp"), où se situent tous les fichiers temporaires, soit physiquement sur le SSD afin de profiter de ses performances supérieures à mon disque dur. Je peux créer un autre lien ou une autre jonction, mais il est moins fastidieux de modifier la variable d'environnement qui y correspond ;
8. Tout d'abord, je créais un dossier Temp pour ma session Moi sur le SSD, par exemple "C:\Temp\Moi" ;
9. Ensuite, j'ouvre le "Panneau de configuration" -> puis "Système et sécurité" -> puis "Système" -> je clique sur "Paramètres système avancés" et enfin je clique sur le bouton "Variables d'environnement..." ;
10. Dans le cadre du haut, "Variables d'utilisateur pour Moi" (dans le cas où ma session s'appelle Moi), je double-clique sur la variable "TEMP" et je remplace la valeur de la variable par "C:\Temp\Moi" (sans les guillemets). Je fais la même chose pour la variable "TMP" puis je valide en appuyant sur les boutons "Ok".

Exemple 3 (à effectuer depuis un Live CD), je veux que mon dossier "Utilisateurs" ("C:\Users\") soit en fait la partition de mon disque dur et non un dossier de mon SSD, sans utiliser de lien, ni de jonction, ni Link Shell Extension :
1. Je dois utiliser un Live CD pour pouvoir déplacer le dossier "Utilisateurs". Je démarre donc sur mon Live CD Windows ;
2. Je renomme d'abord le dossier "C:\Users\" en "C:\Users bak\" et je créais un dossier vide "C:\Users\" ;
3. Je me réfère à l'instruction 3 de l'exemple 2, puis je reprend à l'instruction suivante de cet exemple.
4. J'ouvre la Gestion de l'ordinateur, disponible dans le menu Démarrer ou dans le menu contextuel du menu Démarrer, puis je clique sur le menu "Stockage" puis le sous-menu "Gestion des disques", je fais un clic-droit sur le volume correspondant à mon disque dur puis je clique sur "Modifier la lettre ou les chemins d'accès..." ;
5. Je clique sur le bouton "Ajouter..." -> je sélectionne "Monter dans le dossier NTFS vide suivant :" -> je clique sur le bouton "Parcourir..." -> je déroule jusqu'à atteindre le dossier "C:\Users\" et je valide en appuyant deux fois sur le bouton "Ok".
6. Je me réfère aux instructions 7,8,9 et 10 de l'exemple 2.


A noter que les liens et jonctions sont conservés lors d'une capture d'image WIM et restaurés lors d'un montage temporaire ou le déploiement de l'image WIM.
CometeFilou2
Membre VIP
Membre VIP
Messages : 5077
Enregistré le : dim. 27 févr. 2011 13:27
Localisation : France, Nord (59)
A remercié : 109 fois
A été remercié : 34 fois
    unknown unknown

Re: Regrouper plusieurs partitions/disques/SSD sur une seule

Message par CometeFilou2 »

Merci Soulfate c'est sympa ! Même si j'avoue que pour moi, c'est "un peu" du chinois :D
Petit à petit, l'oiseau fait son nid Si il n'y a pas de solution c'est qu'il n'y a pas de problème C'est quand on n'a plus d'espoir qu'il ne faut désespérer de rien Image
Répondre