48 votes

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

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 à cause du gestionnaire "send to"). J'éjecte donc le lecteur, mais je ne trouve aucun moyen de le récupérer, à part le débrancher et le rebrancher.

Existe-t-il un moyen de démonter les disques et de ne les remonter que lorsque j'en ai réellement besoin ? (Sur Windows 7 Ultimate.)

47voto

James Mertz Points 390

Supprimez les lettres de lecteur à l'aide de mountvol o diskmgmt.msc . Sans lettre de lecteur, ils n'apparaîtront pas dans la rubrique Ordinateur o Envoyer à .

mountvol Q: /p

Utilisation /p démontera effectivement le dispositif. Sur les anciennes versions de Windows, il suffit de /d qui ne fait que désassigner la lettre du lecteur, mais qui maintient le volume monté.

Réaffecter en cas de besoin, en utilisant l'identifiant 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) en utilisant les mêmes outils :

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

Toutes ces opérations requièrent les privilèges d'un administrateur.


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

6voto

Learner Points 183

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 scripts.

pour mettre le disque 2 hors ligne :

Hors ligne.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

pour mettre le disque 2 en ligne :

Online.cmd

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

Exécuter en tant qu'administrateur

5voto

Costin Gușă Points 686

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. (Noyau NT version 6 et plus) .

En devcon tel que décrit dans este la réponse fonctionne pour toutes les versions de NT

1voto

Zimba Points 753

CMD ne dispose pas d'une fonction permettant d'éjecter les clés USB. Il peut toutefois appeler des objets Win COM qui disposent des fonctions nécessaires, par exemple. Shell.Application via powershell, VBS, JS, etc.

Sinon (si vous savez comment interfacer avec l'hôte USB), vous pouvez créer un exécutable à partir de Win CMD pour envoyer des commandes directement à l'USB ou via le système d'exploitation (Windows), puis l'appeler/le lancer à partir de CMD (comme pour l'écriture d'un objet COM ou d'une commande Powershell).

Dans powershell à partir de CMD :

powershell "$driveEject = New-Object -comObject Shell.Application; $driveEject.Namespace(17).ParseName(\"E:\").InvokeVerb(\"Eject\"); start-sleep -s 3"

L'éjection d'un disque via powershell nécessite également de le débrancher et de le rebrancher pour qu'il soit à nouveau monté. Sinon, le disque peut simplement être démonté et rester inaccessible jusqu'à ce qu'il soit remonté par l'une des méthodes suivantes mountvol o diskpart .

par exemple avec mountvol :

REM unmount
mountvol e: /D or /P
REM mount for access
mountvol e: \\?\Volume{device GUID in hex with hyphens}\

mountvol permet de monter des dispositifs dans un dossier, par exemple. C:\fakedisk\ ainsi qu'une lettre de lecteur.

eg. Avec diskpart :

REM unmount
(
echo select volume 3
echo remove letter=e dismount
) | diskpart

REM mount again for access
(
echo select volume 3
echo assign letter=e
) | diskpart

Testé dans Win 10 cmd

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X