Buscando (algo) mejores explicaciones sobre el soporte de discos duros> 2 TB

9

Hoy, mientras buscaba en Google, me topé con publicaciones que afirmaban que Seagate planea enviar una unidad de 3TB en algún momento posterior en 2010. Desafortunadamente, las cosas que miré parecían contener fragmentos de información que no pensé que encajaran correctamente. (Me gustaría vincular a algunos ejemplos, pero solo se me permite 1 enlace por publicación en este momento).

Ahora realmente no tengo ninguna "necesidad" de comprender mejor los tediosos detalles subyacentes de esto. Tengo curiosidad. Y confundido

Entonces ... algunas preguntas espero que alguien esté mejor informado de lo que podría responder.

  1. La charla sobre un posible problema de direccionamiento tanto en el hardware como en el software me confundió. La afirmación es que algo llamado algo llamado Long LBA addressing (LLBA)se necesita Command Descriptor Blockcomo una forma de sortear los límites actuales para acceder a un disco duro de más de 2 TB (1 TB = 2⁴⁰ B).

    Está bien. Pero pensé que la última vez que surgió este problema se resolvió extendiendo la longitud del campo LBA de 28 a 48 bits. (¿Recuerda este sitio web? Www.48bitlba.com ) Un LBA de 6 bytes es claramente lo suficientemente grande, así que, ¿qué pasa con esta charla de LLBA? Pensé que todo esto fue solucionado por Win XP SP2, ¿si no antes? Y ciertamente todo el hardware debería estar a la altura de la tarea, ¿no?

  2. El verdadero problema, tal como lo entiendo, con unidades mucho más grandes que 2 TB son los campos LBA de 4 bytes en el Master Boot Record (MBR) utilizado para particionar casi todos los discos duros en este momento. La solución más probable es migrar a la tabla de particiones GUID de Intel (GPT). Un GPT utiliza campos de 8 bytes para el LBA.

    Lo que no entiendo en este contexto es cuál es el problema con el arranque, por ejemplo, Windows desde una unidad de 3 TB que utiliza una GPT. De acuerdo, el BIOS de PC actual no sabría cómo reconocer o trabajar con un GPT. Pero cada GPT viene con un MBR llamado "Seguridad" o "Protección" en el sector 0.

    Apple ya usa una versión híbrida del MBR para permitirles iniciar Windows en sus Intel Macs (también conocido como Boot Camp). ¿No podría hacerse algo similar para permitir que el BIOS de la PC reconozca y arranque desde una partición dentro de, digamos, los primeros 2 TB de una unidad de 3 TB o más?

Tengo más preguntas como dónde encajan los sectores 4K en todo esto. Pero probablemente sea hora de que me calle y publique esto. ;-)

juan irracional

John irracional
fuente

Respuestas:

6

Las declaraciones sobre "Long LBA" parecen originarse de ese gerente de producto de Seagate. Lo que probablemente quiso decir es que aunque el LBA de 48 bits es el estándar en hardware, los sistemas operativos y los controladores de 32 bits pueden no admitir los 48 bits, ya que (a) son de 32 bits y eso es más complicado, y (b) MBR solo admite 32 bits para particiones de todos modos, entonces, ¿por qué molestarse?

Cuando la barrera de 128 GB se rompió al adoptar LBA de 48 bits, eso fue tanto en el lado del hardware, en la especificación ATA, que pasó de 28 bits; y también en el lado del sistema operativo / controlador, para asegurarse de que no codificaron ese antiguo límite de 28 bits. Probablemente pueda decir que los controladores actuales bien escritos realmente se ajustan al límite real de 48 bits, pero es fácil ver cómo, en algún lugar de la cadena, alguien tomó la salida fácil y solo admite 32 bits en sus controladores de 32 bits. Dado que los sistemas operativos de 32 bits están saliendo de todos modos, puede que no valga la pena intentar asegurarse de que todo funcione.

Como dijiste, el problema real (al menos para Windows) es arrancar un disco GPT desde una computadora basada en BIOS (no EFI). Protective MBR está diseñado para hacer que todo el disco parezca una única partición desconocida, de modo que una computadora con BIOS / MBR ni siquiera lo toque. Puede crear un disco híbrido, de modo que el MBR también contenga otras entradas, para particiones por debajo de la barrera de 2 TB. Pero tales discos híbridos son frágiles (fáciles de manipular con herramientas de partición MBR o GPT), y ya no son oficialmente discos GPT. Tampoco está iniciando ninguna partición GPT, está iniciando particiones MBR. Eso podría estar bien si solo desea utilizar la partición GPT como unidad de datos.

¿Y por qué el BIOS no puede iniciar GPT? La respuesta corta es que no lo han hecho, y para agregar esa capacidad, necesitarías un BIOS más inteligente. Y para eso es EFI.

Los sectores de 4KB le darían discos de 16TB con LBA de 32 bits. (Y menos sectores más grandes significan potencialmente menos gastos generales de E / S). Pero todos los sistemas operativos y controladores e incluso algunas aplicaciones tendrían que escribirse para admitir sectores de tamaño variable. Todo lo que necesita es un lugar donde el tamaño del sector esté codificado en 512 para romperse. Por lo tanto, los sectores de 4KB tampoco son una solución "fácil" porque requeriría mucho trabajo de muchas partes. Pero si va a escribir software futuro para admitir GPT (que es independiente del tamaño del sector) y sectores de tamaño variable, podría adoptarse como la práctica común en algún momento.

Conocer
fuente
3

Usted ciertamente puede arrancar desde un disco GPT en una máquina de BIOS. Solo que Windows afirma que no puede.

Incluso eso no es realmente cierto; puede iniciar Windows desde una computadora BIOS en un disco GPT: solo necesita un pequeño disco MBR adicional para guardar los archivos de inicio. Se está utilizando un disco duro para algún otro sistema operativo con una partición de repuesto (pequeña), disquete, unidad USB (se supone) ...

Inicie en el disco de instalación / reparación de Windows. Cree la unidad del sistema en el dispositivo y úsela bcdbootpara colocar sus archivos de arranque en el dispositivo. Agregue un sector de arranque con bootsect. Cambiar el {bootmgr} devicea boot. Arrancar desde el palo.

Los pasos se detallan aquí .

Milind R
fuente
0

Lo que no entiendo en este contexto es cuál es el problema con el arranque, por ejemplo, Windows desde una unidad de 3 TB que utiliza una GPT.

En un sistema BIOS tradicional, el BIOS carga el sector de arranque desde el disco y lo ejecuta en modo real de 16 bits. El código cargado desde el sector de arranque necesita encontrar y cargar el sistema operativo adecuado.

MS nunca implementó el soporte GPT en su cargador en modo real. Por lo tanto, no puede leer la tabla de particiones GPT y arrancar el resto del sistema operativo. Entonces, para arrancar Windows desde un disco GPT, debe usar uEFI en lugar del BIOS tradicional (lo cual está bien si su placa base lo admite y su versión de Windows es lo suficientemente nueva) o usar alguna forma de solución como un cargador de terceros, un tipo de partición híbrida o un disco separado para el arranque.

lavado
fuente