Comment monter et démonter des disques durs sous Windows (à la manière unix)

36

Sur mon ordinateur de travail, j'ai deux disques durs USB que j'utilise rarement. Ils disposent d'un mode d'économie d'énergie qui les met en veille après quelques minutes d'inactivité.

À chaque fois que j'ouvre un menu contextuel sur un fichier, les lecteurs sont réveillés (probablement causés par le gestionnaire "Envoyer à"). J'ai donc éjecté le disque, mais je ne trouve pas le moyen de le récupérer, mis à part le débrancher et le rebrancher.

Existe-t-il un moyen de démonter les disques, puis de les remonter uniquement lorsque j'en ai réellement besoin? (Sous Windows 7 Ultimate.)

Der Hochstapler
la source
Si cela peut vous aider, j'ai résumé toutes les options de ma réponse à cette question
Albin

Réponses:

39

Supprimez les lettres de lecteur à l'aide de mountvolou diskmgmt.msc. Sans lettre de lecteur, ils ne figureront pas sous Ordinateur ou Envoyer à .

mountvol Q: /p

Utiliser /pdémontera réellement l'appareil. Sur les anciennes versions de Windows, vous n’avez que /dce qui annule l’affectation de la lettre de lecteur tout en maintenant le volume monté.

Réaffectez si nécessaire à l'aide de l'ID de volume imprimé par mountvol:

mountvol Q: \\?\Volume{1be3da43-6602-11e0-b9e6-f11e1c50f5b5}\

Vous pouvez également monter le volume sur un dossier vide (style Unix) à l'aide des mêmes outils:

mkdir C:\fs\backup-disk
mountvol C:\fs\backup-disk \\?\Volume{1be3da43-6602-11e0-b9e6-f11e1c50f5b5}\

Toutes ces opérations nécessitent des privilèges d'administrateur.


(En fait, vous pourrez même utiliser directement l'ID de volume dans vos scripts de sauvegarde, sans avoir à le monter nulle part. Par exemple, \\?\Volume{1be3da43-6602-11e0-b9e6-f11e1c50f5b5}\projectsau lieu de Q:\projects.)

Grawity
la source
6
À propos, ce GUID est-il lié au périphérique? Sera-ce la même chose si je connecte le périphérique à une autre machine Windows? Est-ce même statique entre les redémarrages sur la même machine?
Der Hochstapler
2
@OliverSalzburg: le GUID de volume est lié à ce volume spécifique et persiste après le redémarrage. (Il faut que cela fonctionne pour que les lettres de lecteur persistantes et les montages de système de fichiers fonctionnent correctement.) Mais, malheureusement, c'est local. (Pour autant que je sache, Windows n'a aucun moyen de faire référence à des volumes par étiquette ou UUID du système de fichiers.)
grawity
3
Est-ce vraiment la même chose que le démontage sous UNIX? Sous UNIX, une fois le volume démonté, vous pouvez l'extraire de l'ordinateur en toute sécurité. (Peut-être que votre bus SATA sera perturbé si vous ne disposez pas du support matériel approprié et que vous devrez peut-être redémarrer, mais vous ne perdrez aucune donnée.) Si vous pouvez toujours accéder au disque en tant que \ \? \ Volume {...}, cela ne signifie-t-il pas que le système de fichiers est toujours disponible pour le système d'exploitation et qu'il peut donc contenir des données non vidées dans le cache d'écriture, etc.?
Glyphe
3
@ DavidBalažic: /Dsupprime uniquement l'affectation de lettre de lecteur (ou de chemin). Démonter signifie détacher toutes ces assignations, ainsi que fermer le système de fichiers lui-même. Rappelez-vous que Windows monte tous les systèmes de fichiers par défaut sur les \\?\Volume{…}chemins et que, par conséquent, une mountvolutilisation régulière ajoute uniquement / supprime des mount --bind /x /ysystèmes supplémentaires (comme sous Linux).
grawity
3
Donc, si je veux que Windows lâche complètement le volume, je dois utiliser / P? Pour obtenir le même effet que umount sur * nix? Utiliser / D supprime une affectation lettre / chemin tant que le volume reste réellement monté?
David Balažic
6

Utilisez DISKPART pour mettre votre disque hors ligne.
Il restera hors ligne même après un redémarrage ou une nouvelle mise sous tension.

Utilisez DISKPART pour le remettre en ligne

Cela peut être fait dans des scripts

fichier de commande pour mettre le disque 2 hors ligne:

Offline.cmd

 echo list disk              > c:\windows\temp\namexxxx.none
 echo select disk 2         >> c:\windows\temp\namexxxx.none
 echo offline disk          >> c:\windows\temp\namexxxx.none
 echo exit                  >> c:\windows\temp\namexxxx.none
 diskpart /s c:\windows\temp\namexxxx.none
 erase c:\windows\temp\namexxxx.none
 pause

fichier de commande pour mettre le disque 2 en ligne:

Online.cmd

 .
 echo select disk 2 ........
 echo online disk ......
 .

Exécuter en tant qu'administrateur

Opoedre
la source
"list disk" n'est pas nécessaire, il affiche uniquement la liste des lecteurs à l'utilisateur
trogper
5

La bonne réponse consiste à utiliser le paramètre / P pour mountvol (voir les commentaires dans la réponse acceptée pour comprendre pourquoi / D n'est pas suffisant), mais cela ne s'applique qu'aux versions récentes de Windows (version 6 et plus du noyau NT) .

L' devconutilitaire décrit dans cette réponse fonctionne avec toutes les versions de NT.

Costin Gușă
la source