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?
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?
Respuestas:
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:
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_VOLUME
y / 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 subst
o 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 mountvol
o 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.
\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 \Device
espacio de nombres, no en el \\?
espacio de nombres. Eso también significa que no puede usarlo con funciones como CreateFile
.diskmgmt.msc
, mountvol
Y diskpart
se 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
[:
..? De Verdad?
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 [:
[:
mountvol.exe
es el equivalente de Windows
mountvol
imprime 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 :)
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.
Safely Remove Hardware
menú. 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.
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.