Cómo montar y desmontar discos duros en Windows (la forma de Unix)

36

En mi computadora de trabajo tengo dos discos duros USB que uso raramente. Tienen un modo de ahorro de energía que los envía a dormir después de un par de minutos de inactividad.

Cada vez que abro un menú contextual en un archivo, las unidades se despiertan (probablemente causadas por el controlador "enviar a"). Entonces expulso el disco, pero no puedo encontrar una manera de recuperarlo, aparte de desenchufarlo y volverlo a enchufar.

¿Hay alguna forma de desmontar las unidades y luego volver a montarlas solo cuando realmente las necesito? (En Windows 7 Ultimate).

Der Hochstapler
fuente
Si es de alguna ayuda, resumí todas las opciones dentro de mi respuesta a esta pregunta
Albin el

Respuestas:

39

Elimine las letras de unidad con mountvolo diskmgmt.msc. Sin una letra de unidad, no aparecerán en Computadora o Enviar a .

mountvol Q: /p

Usar /prealmente desmontará el dispositivo. En versiones anteriores de Windows, solo tiene /d, que solo desasigna la letra de la unidad, pero mantiene el volumen montado.

Reasigne cuando sea necesario, utilizando el ID de volumen impreso por mountvol:

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

También puede montar el volumen en una carpeta vacía (estilo Unix) utilizando las mismas herramientas:

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

Todas estas operaciones requieren privilegios de administrador.


(De hecho, incluso podría usar directamente la ID de volumen en sus scripts de copia de seguridad, sin tener que montarla en ningún lugar. Por ejemplo, en \\?\Volume{1be3da43-6602-11e0-b9e6-f11e1c50f5b5}\projectslugar de Q:\projects).

Gravedad
fuente
66
Por cierto, ¿está ese GUID vinculado al dispositivo? ¿Será lo mismo si conecto el dispositivo a otra máquina con Windows? ¿Es incluso estático entre reinicios en la misma máquina?
Der Hochstapler
2
@OliverSalzburg: el GUID de volumen está vinculado a ese volumen específico y persiste después de reiniciar. (Tiene que hacerlo, para que funcionen las asignaciones persistentes de letras de unidad y los sistemas de archivos). Pero desafortunadamente es local para la máquina. (Hasta donde yo sé, Windows todavía no tiene forma de hacer referencia a los volúmenes por etiqueta o UUID del sistema de archivos)
Grawity
3
¿Es esto realmente lo mismo que desmontar en UNIX? En una caja UNIX, una vez que se desmonta el volumen, es seguro extraerlo de la computadora. (Tal vez haga que su bus SATA se moleste, si no tiene el soporte de hardware adecuado para eso, y es posible que deba reiniciar, pero no perderá ningún dato). Si aún puede acceder al disco como \ \? \ Volumen {...}, ¿no significa eso que el sistema de archivos todavía está disponible para el sistema operativo y, por lo tanto, podría tener datos no vaciados en la caché de escritura, etc.?
Glifo
3
@ DavidBalažic: /Dsolo elimina la asignación de letra de unidad (o ruta). Desmontar significa separar todas esas asignaciones, así como cerrar el sistema de archivos en sí. Recuerde que Windows monta todos los sistemas de archivos de forma predeterminada en las \\?\Volume{…}rutas y, por lo tanto, el mountvoluso regular solo agrega / elimina otros adicionales (como mount --bind /x /yen Linux).
Grawity
3
Entonces, si quiero que Windows "suelte" por completo el volumen, ¿tengo que usar / P? Para obtener el mismo efecto que umount en * nix? ¿Usar / D elimina una asignación de letra / ruta mientras el volumen realmente permanece montado?
David Balažic
6

Use DISKPART para configurar su disco fuera de línea
Se mantendrá fuera de línea incluso después de un reinicio o un nuevo encendido

Use DISKPART para volver a configurarlo en línea

Esto se puede hacer en guiones

archivo de comando para poner el disco 2 fuera de línea:

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

archivo de comando para poner el disco 2 en línea:

Online.cmd

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

Ejecutar como administrador

Opoedre
fuente
"list disk" no es necesario, solo muestra la lista de unidades al usuario
trogper el
5

La respuesta correcta es usar el parámetro / P para montarvol (vea los comentarios en la respuesta aceptada para entender por qué / D no es suficiente), pero eso solo se aplica a las versiones recientes de Windows (NT kernel versión 6 y posteriores) .

La devconutilidad como se describe en esta respuesta funciona en todas las versiones de NT

Costin Gușă
fuente