Linux es para montar como Windows es para _______?

39

Por lo tanto, Linux "monta" un disco duro para realizar algunas operaciones, como leer / escribir. ¿Windows se "monta" de la misma manera?

¿Se llama algo diferente en el contexto de Microsoft?

Chad Harrison
fuente
9
Windows se monta automáticamente y, por lo tanto, no se expone ninguna herramienta explícita a los usuarios habituales. Muchos entornos de escritorio Linux también hacen esto de manera predeterminada. Para el concepto de montaje, puede ver la entrada de Wikipedia . En resumen, el montaje de un dispositivo expone el acceso al sistema de archivos que contiene. Esto debe hacerse para poder acceder a los archivos a través de un sistema de archivos, sin importar cómo se llame el sistema operativo.
Daniel Andersson

Respuestas:

87

Si conoce aspectos internos de Windows, corrija mis errores, por favor.

El "montaje" consta de dos partes principales, que son iguales en ambos sistemas, pero su separación es algo diferente:

  1. acceder al sistema de archivos en el disco;
  2. asignando una ruta al sistema de archivos.

En Linux, la misma mount()función realiza ambos trabajos; un sistema de archivos debe montarse explícitamente en una ruta elegida por el usuario y permanece abierto siempre que esté montado en al menos una ruta (posiblemente más). Una vez que se editan todas las rutas a ese sistema de archivos umount(), se cierra.

Windows monta los volúmenes automáticamente cuando aparece el volumen: abre inmediatamente el sistema de archivos y le asigna una letra de unidad y / o cualquier otro nombre configurado.

Un disco se puede "desmontar" temporalmente utilizando las funciones FSCTL_LOCK_VOLUMEy / o ioctl , por ejemplo, mientras ejecuta un disco , pero se vuelve a montar automáticamente cuando el programa lo desbloquea o sale. Este comportamiento podría verse como algo opuesto a Linux. Dado que desmontar un sistema de archivos es temporal, conserva los nombres asignados incluso mientras se desmonta. (La función "Quitar con seguridad" desmonta el sistema de archivos y desactiva el dispositivo subyacente, para evitar que Windows vea el sistema de archivos y lo vuelva a montar).FSCTL_DISMOUNT_VOLUME chkdsk

Un sistema de archivos puede tener varios nombres asignados:

  • Las letras de unidad ( A:, C:, [:) - asignan automáticamente a los nuevos discos y se pierden en el reinicio, aunque Windows recuerda las asignaciones configuradas por el usuario. De esta manera, son similares a los puntos de montaje de Unix.

    (Las letras de unidad también se pueden asignar a dispositivos arbitrarios, incluidos los sistemas de archivos de red compatibles con Windows. Puede ver sus objetivos en \GLOBAL??\y \Sessions\<session>\DosDevices\<loginid>\en WinObj ).

    Nota: Las letras de unidad normalmente son de todo el sistema, pero también se pueden asignar a toda la sesión usando substo DefineDosDevice(), y sí, acepta [:. Las asignaciones de toda la sesión nunca se almacenan en ningún lugar y desaparecen al reiniciar.

  • Puntos de montaje de carpeta ( C:\Disks\Music): un sistema de archivos se puede montar en cualquier directorio arbitrario, como en Unix; sin embargo, en realidad se almacenan en el disco de destino, en forma de puntos de análisis (una forma más poderosa de enlaces simbólicos) que se refieren al disco montado por su nombre de volumen .

    (También existen diferentes tipos de puntos de análisis; algunos estándar son puntos de montaje, enlaces simbólicos, uniones de directorio).

  • Rutas de GUID de volumen ( \\?\Volume{710308c0-978e-11e1-95bc-806d6172696f}\) (al menos así es como se le llama): rutas especiales en el espacio de nombres Win32\\?\ , que contienen un UUID que Windows asigna a ese volumen en particular en este sistema de Windows en particular. No pueden ser cambiados. Están listados por mountvolo debajo \GLOBAL??\de WinObj. A diferencia de las letras de unidad, son las mismas para todos los usuarios.

  • Rutas de interfaz de dispositivo \\?\STORAGE#Volume#<something>Signature<hex>Offset<hex>Length<hex>#<uuid>\A diferencia de una ruta de GUID de volumen, cada volumen tiene exactamente una ruta de interfaz de dispositivo.

    • Nombre del dispositivo de volumen \Device\HarddiskVolume23: a diferencia de todos los anteriores, que son solo enlaces simbólicos, esto nombra directamente el volumen. Lo sabes porque está en el \Deviceespacio de nombres, no en el \\?espacio de nombres. Eso también significa que no puede usarlo con funciones como CreateFile.

diskmgmt.msc, mountvolY diskpartse puede administrar tanto las letras de unidad y puntos de montaje.

Incluso cuando un volumen no tiene letras de unidad y no está "montado" en ninguna carpeta, permanece abierto y se puede acceder a su contenido a través de su nombre de volumen; p.ej

\\?\Volume{710308c0-978e-11e1-95bc-806d6172696f}\Windows\Explorer.exe
Gravedad
fuente
44
[:..? De Verdad?
Daniel Beck
11
@DanielBeck: Sí, DefineDosDevice()acepta prácticamente cualquier cosa, aunque no tendrá mucha suerte para convencer a la mayoría de las aplicaciones para que lo acepten. Intenta subst [: C:\Users, entoncesdir [:
Grawity
44
@Daniel: Al dar todos los bytes posibles a DefineDosDevice, que realmente acepta casi todos. Resulta que el espacio también es válido.
Grawity
8
Si las chicas adolescentes fueran lo suficientemente conocedoras de la tecnología, estarían [:
dispuestas a
55
@psusi, LASTDRIVE entró en config.sys. system.ini era Windows.
un CVn
43

mountvol.exe es el equivalente de Windows

salida de ejemplo de Mountvol

Der Hochstapler
fuente
+1 para una respuesta concisa en una línea y la respuesta está en la parte superior. ¡Y proporcionas una captura de pantalla de ejemplo de bonificación!
Trevor Boyd Smith
La captura de pantalla no se puede copiar / pegar y ocupa mucho espacio, más que el texto equivalente, para la misma cantidad de información. Esta no es una buena idea, creo.
Ludovic Kuty
@LudovicKuty: Sí, estaba al tanto de ese problema cuando publiqué esto. Es solo la salida de ejemplo de lo que se mountvolimprime en mi máquina. Por lo tanto, no debería ser nada demasiado difícil de reproducir. Si pongo el texto plano aquí, se hizo más difícil de leer debido al cuadro con barras de desplazamiento :( Si desea editar la respuesta para mejorarla, continúe :)
Der Hochstapler
No, de hecho, muchas personas están contentas con eso :) Principalmente comenté sobre "Y usted proporciona una captura de pantalla de ejemplo de bonificación". Ayuda a las personas, eso es bueno.
Ludovic Kuty
6

Sí, pero en general, se maneja automáticamente (por ejemplo, con una unidad USB).

La utilidad Disk Management (parte de Computer Mgmt), le permite manipular volúmenes y puntos de montaje. Explorer hace lo mismo para los recursos compartidos de red. También hay versiones de línea de comandos (diskpart.exe en WIn 7) dependiendo de la versión de Windows que ejecute.

uSlackr
fuente
1
Además, el desmontaje de unidades intercambiables en caliente generalmente se realiza a través del Safely Remove Hardwaremenú. Para volver a montar esos dispositivos, desconecte el cable de conexión (USB / FireWire / eSATA) y vuelva a enchufarlo, o desactive el USB / FireWire / etc. dispositivo desde el Administrador de dispositivos y vuelva a habilitarlo, y Windows lo volverá a montar automáticamente.
Lèse majesté
Lo mismo ocurre con algunas distribuciones de Linux, por ejemplo, Ubuntu.
krlmlr
3

La respuesta más breve y obvia para completar su _ _ _ _ _ _ es "montar". Linux monta (y desmonta) sistemas de archivos y también Windows.

Cada uno automatiza este proceso en mayor o menor grado dependiendo de una serie de factores mixtos que no soy capaz de enumerar, pero creo que las estrategias de almacenamiento en caché, el estilo / preferencia del usuario y las patentes son influencias significativas en la automatización de este proceso.

matty
fuente