%2C%20mejor%20con%20explicaciones%3F%20.png)
Estoy diseñando el código que enumera las particiones del sistema. Al leer numerosos documentos, no puedo idear una lista completa y definitiva de restricciones para el algoritmo y descubrir por qué existen las restricciones.
- El MBR raíz tiene 4 entradas y, por lo tanto, el MBR puede contener 4 particiones primarias;
- En esta lista de MBR raíz, puede haber solo una partición expandida, que luego se encadena a MBR secundarios con volúmenes lógicos.
Preguntas:
- ¿Por qué DOS 6.22 FDISK no permite crear 3 particiones primarias, sino solo una?
- ¿Por qué el MBR secundario en la cadena de particiones extendida solo debe tener un volumen lógico, mientras que puede tener 3 (guardando 2 enlaces adicionales para la lista de particiones expandidas)?
- Cuando se verificó la partición extendida en busca de unidades lógicas hasta el final de la cadena, ¿la enumeración regresa al MBR raíz y continúa desde la siguiente entrada después de la entrada de la partición extendida? ¿Por qué no?
- ¿Qué sucede con el sistema operativo DOS o Windows si encuentran entradas de MBR que no siguen las restricciones (consulte las preguntas 1 a 3 anteriores)? En otras palabras, ¿existe alguna descripción del proceso del sistema operativo que enumera sus particiones/unidades lógicas?
Respuesta1
Un registro de arranque maestro es un tipo de sector de arranque que se utiliza con sistemas compatibles con IBM PC. La versión original del MBR fue escrita por David Litton de IBM en junio de 1982 y presentada públicamente en 1983 con PC-DOS 2.0. Sin embargo, PC-DOS implementó sólo las funciones más importantes, no todas.
Lo más cercano a una "especificación" (que yo sepa) eshttps://thestarman.pcministry.com/asm/mbr/STDMBR.htm
La estructura del MBR es la siguiente:
dirección hexadecimal (dec) | tamaño | función |
---|---|---|
0x0000 (0) | 440 | cargador de arranque |
0x01B8 (440) | 4 | firma del disco (desde la familia Windows NT) |
0x01BC y 0x01BC (444 y 445) | 2 | cero (0x0000) |
0x01BE (446) | 64 | tabla de particiones |
0x01FE y 0x01FF (510 y 511) | 2 | firma |
total | 512 |
Respuestas:
- ¿Por qué DOS 6.22 FDISK no permite crear 3 particiones primarias, sino solo una?
La compatibilidad con medios particionados se introdujo con IBM PC DOS 2.0 en marzo de 1983, pero en ese momento sólo admitía una partición primaria. Esto nunca cambió. DOS en sínuncautilizó más de una partición primaria. Como consecuencia, FDISK
no se puede crear más de una partición primaria.
- ¿Por qué el MBR secundario en la cadena de particiones extendida solo debe tener un volumen lógico, mientras que puede tener 3 (guardando 2 enlaces adicionales para la lista de particiones expandidas)?
No estoy del todo seguro de qué quiere decir exactamente con "MBR secundario", por lo que eventualmente lo siguiente no responde a su pregunta. (¡Por favor, manejese con precaución!)
Se agregó soporte para una partición extendida con DOS 3.2. Las unidades lógicas anidadas dentro de una partición extendida vinieron con DOS 3.30.
Cada tabla de particiones extendida define exactamente una partición lógica y apunta a la siguiente tabla de particiones extendida, si es necesario. En otras palabras, las tablas de particiones extendidas funcionan según el principio de lista encadenada. Su sector de inicio se especifica en relación con la posición de la tabla de particiones actual. La segunda entrada puede contener una concatenación a otra tabla de partición extendida y siempre tiene el tipo 5. En el sector inicial de esta entrada siempre se hace referencia relativa al sector de la primera partición extendida. Como está encadenado por definición, no puede hacer referencia a todas las particiones extendidas, por lo que no puede guardar 2 enlaces adicionales.
- Cuando se verificó la partición extendida en busca de unidades lógicas hasta el final de la cadena, ¿la enumeración regresa al MBR raíz y continúa desde la siguiente entrada después de la entrada de la partición extendida? ¿Por qué no?
No. Ya que no existe una "próxima entrada".
- ¿Qué sucede con el sistema operativo DOS o Windows si encuentran entradas de MBR que no siguen las restricciones (consulte las preguntas 1 a 3 anteriores)? En otras palabras, ¿existe alguna descripción del proceso del sistema operativo que enumera sus particiones/unidades lógicas?
Si las particiones no son reconocibles entonces no se utilizan. Si no se puede encontrar la primera partición primaria, entonces DOS/Windows no podrá iniciar.
nota: Las versiones anteriores de Windows dependían de las letras de unidad determinadas por MS-DOS, pero a partir de Windows 2000, estas asignaciones se almacenan en claves de registro, como HKLM\SYSTEM\MountedDevices. Para determinadas constelaciones de sistemas, la firma del disco también se utiliza en el archivo boot.ini, que forma parte del cargador de arranque de Windows NT (NTLDR). Windows asigna la firma del disco cuando se inicializa un disco nuevo.