
Cuando configura el atributo de solo lectura en el disco o partición con diskpart, ¿se almacena en el disco mismo? Algunas respuestas aquí dicen que sí, pero en mi experiencia no se guarda en el disco. Marqué el disco USB extraíble como de solo lectura en una máquina (win 8.1), lo llevé a otra máquina (win10) y diskpart no lo muestra como de solo lectura. ¿Existe alguna opción para guardar este atributo en el disco?
Respuesta1
Respuesta corta:
Attributes DISK [set | clear] READONLY
almacena el atributoen el registro de Windows, no en el disco físico. Esto significasolo es válido para la instalación de Windows que se está ejecutando actualmente y no se transferirá, configurará ni aplicará en otros sistemas operativos..
Attributes VOLUME [set | clear] READONLY
almacena el atributoen el disco fisico. Esto significaSe llevará, configurará y aplicará también en otros sistemas operativos, incluido Linux.(Tuve que volver a montar el disco manualmente en modo rw, además no tocó el atributo almacenado, por lo que tuve que eliminarlo manualmente en Windows).
Aunque TENGA CUIDADO con el acceso administrativo:
mientras que el DISK
atributo impideTODAS las escrituras en todo el disco(es decir, tanto el sistema de archivos de los volúmenes como la tabla de particiones), el VOLUME
atributo impide la escrituraSÓLO al sistema de archivos de los volúmenes, dejando la tabla de particiones TODAVÍA con capacidad de escritura (es decir, aún puede eliminar un volumen de solo lectura).
Respuesta larga:
Atributos DISK
[conjunto | claro] SÓLO LECTURA
El atributo se almacena en el valor denominado "Attribute"
, ubicado en la subclave del registro HKLM\SYSTEM\CurrentControlSet\Enum\*\Disk*\Device Parameters\Partmgr
, donde *
está el nodo de dispositivo enumerado e instalado del disco (consulte Propiedades del dispositivo en Administración de discos).
Es un valor de máscara de bits y el readonly
atributo es el bit n.º 1 (el bit n.º 0 es para el estado del disco en línea/fuera de línea), por lo que configurarlo readonly
en un disco en línea cambiará el valor de 0
a 2
, pero configurarlo en un disco fuera de línea cambiará el valor de 1
a 3
.
Ventajas:
El disco esenteramentesólo lectura: todos los intentos de escritura garantizaránFALLAR,incluyendo su tabla de particiones(por ejemplo, eliminar/crear volúmenes, cambiar la firma/ID única del disco, etc.), además el estado será claramente visible en Administración de discos.
Desventajas:
Solo es válido para la instalación de Windows que se está ejecutando actualmente hasta que el nodo del dispositivo de enumeración permanezca igual (no hay garantía para unidades extraíbles). El disco volverá a estar en modo lectura-escritura si está conectado a otra computadora o si el nodo de su dispositivo cambia por cualquier motivo, por ejemplo, si está conectado a otro bus, puerto o concentrador (especialmente USB) o si se desinstala y se reinstala en el Administrador de dispositivos. .
Atributos VOLUME
[conjunto | claro] SÓLO LECTURA
El atributo esalmacenado físicamente en el disco, dependiendo de su estilo de partición (MBR o GPT).
En GPT
discos:
El atributo se almacena en el Attributes
campo de la entrada de la tabla de particiones del volumen, yes válido SÓLO para ese volumen(como se declara en la diskpart
descripción de ayuda).
En MBR
discos:
El atributo se almacena endesplazamiento 0x400h(o sector #2 en un disco formateado lógicamente de 512 bytes) como una "versión corta" de una entrada GPT donde solo se usan los campos Type GUID
y Attributes
para un total de 0x18h bytes, y es válidoPARA TODOS LOS VOLÚMENES(como se declara en la diskpart
descripción de ayuda).
A continuación se muestra un ejemplo de salida hexadecimal y su estructura:
Hex Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F
0000000400 A2 A0 D0 EB E5 B9 33 44 87 C0 68 B6 B7 26 99 C7
0000000410 00 00 00 00 00 00 00 10
0x400: GUID de 128 bits
Type GUID
, con valorEBD0A0A2-B9E5-4433-87C0-68B6B72699C7
(es decir, MicrosoftPartición de datos básicosEscriba GUID);0x410: entero de 64 bits
Attributes
, con valor0x1000000000000000
(es decir, bit#60
establecido).
De la misma forma también es posible configurar los atributos SHADOWCOPY
, HIDDEN
y NODEFAULTDRIVELETTER
(bits #61
, #62
y #63
, respectivamente).
Ventajas:
El atributo esPreservadocuando el disco está conectado a otros sistemas, por ejemplo Linux, lo que lo conserva incluso si el volumen se (re)monta en modo rw.
Desventajas:
El atributo no es visible en Administración de discos, solo dentro de diskpart
, además:
En GPT
discos:
- los atributos se aplican SÓLO al volumen seleccionado (pero este es el comportamiento esperado);
- no impide que se elimine el volumen de solo lectura (pero si se elimina, el atributo se borra automáticamente, porque su entrada GPT asociada se pone a cero por completo).
En MBR
discos:
los atributos se aplican a TODOS los volúmenes en el disco, debido a que no hay otra forma de establecer atributos en MBR (y la consiguiente estructura de atributos en el disco);
los volúmenes aún se pueden eliminar (por motivos desconocidos, AFAIK);
el atributo NO se borra si se eliminan uno, más o todos los volúmenes (la única manera de borrarlo de forma segura es ejecutando
attributes VOLUME CLEAR readonly
cuandodiskpart
se le solicite);Aún se pueden crear nuevos volúmenes, pero no se pueden formatear (porque es una operación de escritura).
Este es mi punto de vista simple, pero la razón por la cual los atributos de volumen se aplican a TODOS LOS VOLÚMENES en discos MBR puede ser:
No hay más lugares disponibles en el sector MBR, porque el indicador "Indicador de arranque" rechaza cualquier valor que no sea 0x80 o 0x00 (o la secuencia de arranque se volverá loca) y los bytes "Opcionales" ubicados en el desplazamiento 0x1BC (444) se declaran como "reservados". " (a pesar de que se podrían usar algunos bits de ese campo de 16 bits);
Windows comparte el mismo tipo de GUID para todos los sistemas de archivos en una partición, por lo que configurar ese tipo de GUID significa "para todos los volúmenes de datos" (otros tipos de GUID, como la partición de recuperación, no recibirán una entrada de "volumen" de Diskpart, solo una de "partición"). ).
Respuesta2
Esta información no se puede almacenar en la partición; probablemente sea un atributo asociado con el sistema de archivos; no es raro que los sistemas de archivos tengan dicho atributo para forzar una verificación del disco antes de permitir que se realicen más cambios en el disco si el sistema de archivos no está en un estado constante al momento del apagado.
Respuesta3
El indicador de sólo lectura no se puede almacenar en el disco. Para obtener el estado de solo lectura del disco, puede usar el comando Get-Disk de PowerShell. Por ejemplo: (Get-Disk -Number 2).IsReadOnly