En los sistemas operativos informáticos derivados de BSD (incluidos NetBSD , OpenBSD , FreeBSD y DragonFly BSD ) y en sistemas operativos relacionados como SunOS , una etiqueta de disco es un registro almacenado en un dispositivo de almacenamiento de datos como un disco duro que contiene información sobre la ubicación de las particiones en el disco. Las etiquetas de disco se introdujeron en la versión 4.3BSD -Tahoe. [1] Las etiquetas de disco se editan habitualmente utilizando la utilidad disklabel . En versiones posteriores de FreeBSD, se renombró como bsdlabel y finalmente quedó obsoleta desde la versión 15.0. [1] [2]
En las versiones históricas de Bell Labs y BSD Unix, la partición de discos era fija, compilada en cada controlador de dispositivo en el momento en que se compilaba el núcleo. Las particiones fijas se superponían, lo que permitía que el disco se utilizara con diferentes diseños mediante una selección cuidadosa de un subconjunto de particiones que no se superpusiera. Esto no se consideró originalmente un problema porque solo había una pequeña cantidad de unidades de disco admitidas por cada controlador y Unix solo se ejecutaba en el hardware de un proveedor. [3]
La introducción de interfaces de disco estandarizadas ( SMD , ESDI y SCSI ) y un mercado sustancial de controladores y unidades de terceros resultó en inconvenientes significativos, ya que los operadores de un sistema Unix tendrían que recompilar el núcleo para agregar un diseño de partición apropiado para cada disco diferente que conectaran a un sistema. Esto también presentó un problema para los vendedores de Unix con licencia comercial, ya que los ingenieros de soporte tendrían que recompilar el núcleo antes de instalar actualizaciones en la máquina de un cliente. Para la versión 4.3-Tahoe, que admitía una plataforma que no era de Digital Equipment Corporation , la CCI Power 6/32 , Berkeley implementó un nuevo esquema de particionamiento basado en una estructura de datos en disco y el comando disklabel (8). (Estos mapas de particiones en disco ya eran bien conocidos en otros sistemas operativos, y solo el formato específico, no el hecho de las etiquetas de partición en general, fue inventado por Berkeley). [3]
FreeBSD decidió dejar obsoleta la herramienta disklabel desde la versión 15.[1]
Tradicionalmente, la etiqueta del disco se incrustaba en el cargador de arranque de primera etapa , en el primer sector o pista del disco, donde el firmware de la computadora esperaba que estuviera un cargador de arranque. Tener la etiqueta incrustada en el cargador de arranque significaba que el cargador en sí no necesitaba contener código para localizar y leer la etiqueta del disco. [3] Sin embargo, este sistema solo funciona cuando el firmware de la computadora simplemente carga y ejecuta el cargador de arranque sin intentar determinar si es válido. En el mundo de los IBM PC compatibles , los discos generalmente se particionan utilizando el esquema de tabla de particiones del registro de arranque maestro (MBR) del BIOS de la PC , y el esquema de particionamiento BSD está anidado dentro de una única partición primaria, MBR (al igual que el esquema de particionamiento "extendido" está anidado dentro de una única partición primaria con registros de arranque extendidos ). [4] A veces (particularmente en FreeBSD), las particiones MBR primarias se denominan porciones y las subdivisiones de una partición MBR primaria (para el esquema de particionamiento BSD anidado) que se describen por su etiqueta de disco se denominan particiones . La etiqueta de disco BSD está contenida dentro del registro de arranque del volumen de su partición MBR primaria.
Los identificadores de partición MBR para particiones primarias que se subdividen utilizando etiquetas de disco BSD son A5h (386BSD y FreeBSD), A6h (OpenBSD), A9h (NetBSD) y 6Ch (DragonFly BSD). [5]
Este formato tiene un objetivo similar al de las particiones extendidas y el sistema de particiones lógicas utilizado por MS-DOS, Windows y Linux.
El mismo disco duro de PC puede tener particiones con etiquetas de disco BSD y particiones lógicas de tipo MS-DOS en particiones primarias separadas. FreeBSD y otros sistemas operativos BSD pueden acceder tanto a la partición subdividida con etiquetas de disco BSD como a las particiones lógicas/extendidas de tipo MS-DOS.
Las etiquetas de disco BSD contienen tradicionalmente 8 entradas para describir las particiones. Por convención, se las etiqueta alfabéticamente, de la "a" a la "h". Algunas variantes de BSD han aumentado desde entonces este número a 16 particiones, etiquetadas de la "a" a la "p".
También por convención, las particiones 'a', 'b' y 'c' tienen significados fijos: