Un disco duro puede dividirse en varias particiones. Cada partici�n funciona como si fuera un disco duro independiente. La idea es que si s�lo se tiene un disco, y se quieren tener, digamos, dos sistemas operativos en �l, se pueda dividir el disco en dos particiones. Cada sistema operativo utilizar� su propia partici�n tal y como se desea, y no tocar� la otra. De esta forma los dos sistemas operativos pueden coexistir pac�ficamente en el mismo disco duro. Sin particiones se tendr�a que comprar un disco duro para cada sistema operativo.
Los disquetes generalmente no se particionan. No hay ninguna raz�n t�cnica para ello, pero dado que son tan peque�os, particionarlos ser�a �til s�lo en extra�as ocasiones. Los CD-ROM tampoco se suelen particionar, ya que es m�s f�cil utilizarlos como un disco grande, y raramente existe la necesidad de tener varios sistemas operativos en uno de ellos.
La informaci�n sobre c�mo se particiona un disco se almacena en su primer sector (esto es, el primer sector de la primera pista sobre la primera superficie del disco). Este primer sector es el registro de arranque maestro (MBR) del disco; �ste es el sector que la BIOS lee y arranca cuando se enciende la m�quina. El registro de arranque maestro integra un peque�o programa que lee la tabla de particiones, comprueba qu� partici�n est� activa (es decir, marcada como arrancable), y lee el primer sector de esa partici�n, el sector de arranque de la partici�n (el MBR tambi�n es un sector de arranque, pero tiene una importancia especial y de ah� su nombre especial). Este sector de arranque contiene otro peque�o programa que lee la primera parte del sistema operativo almacenado en esa partici�n (asumiendo que es arrancable), y entonces la inicia.
El esquema de partici�n no est� integrado en el hardware, ni siquiera en la BIOS. Tan s�lo es una convenci�n que muchos sistemas operativos siguen. No todos los sistemas operativos la siguen, pero son las excepciones. Algunos sistemas operativos soportan particiones, pero ocupan una partici�n en el disco duro, y utilizan su propio sistema de particionamiento dentro de esa partici�n. El �ltimo convive pac�ficamente con otros sistemas operativos (incluido Linux), y no requiere de medidas adicionales, pero un sistema operativo que no soporte particiones no puede coexistir en el mismo disco con otro sistema operativo.
Como medida de precauci�n, es buena idea anotar la tabla de particiones en papel, de manera que si alguna vez se corrompe no tenga que perder todos sus archivos. (Una tabla de partici�n err�nea puede corregirse con fdisk). La informaci�n relevante la proporciona el comando fdisk:
$
fdisk -l /dev/hda
Disk /dev/hda: 15 heads, 57 sectors, 790 cylinders
Units = cylinders of 855 * 512 bytes
Device Boot Begin Start End Blocks Id System
/dev/hda1 1 1 24 10231+ 82 Linux swap
/dev/hda2 25 25 48 10260 83 Linux native
/dev/hda3 49 49 408 153900 83 Linux native
/dev/hda4 409 409 790 163305 5 Extended
/dev/hda5 409 409 744 143611+ 83 Linux native
/dev/hda6 745 745 790 19636+ 83 Linux native
$
El esquema original de particionamiento para discos duros de PC permit�a solamente cuatro particiones. Esto r�pidamente se volvi� demasiado escaso para la vida real, en parte porque algunas personas quer�an m�s de cuatro sistemas operativos (Linux, MS-DOS, OS/2, Minix, FreeBSD, NetBSD, o Windows/NT, por nombrar algunos), pero principalmente porque algunas veces es buena idea tener varias particiones para un sistema operativo. Por ejemplo, el espacio swap est� generalmente mejor colocado para Linux en su propia partici�n en lugar de la partici�n principal por cuestiones de rapidez (vea m�s abajo).
Para superar este problema de dise�o, se inventaron las particiones extendidas. Este truco permite particionar una partici�n primaria en sub-particiones. Esta partici�n primaria subdividida es la partici�n extendida; las sub-particiones son las particiones l�gicas. Se comportan como particiones primarias, pero se crean de diferente manera. No existen diferencias de rendimiento entre ellas.
La estructura de particiones de un disco duro debe parecerse a la que aparece en la Figura�6.2, “A sample hard disk partitioning.”. El disco se divide en tres particiones primarias, la segunda de las cuales se divide en dos particiones l�gicas. Una parte del disco no est� particionada. El disco como un todo y cada partici�n primaria tienen un sector de arranque.
Las tablas de particiones (aquella en el MBR, y las de las particiones extendidas) tienen un byte por partici�n que identifica el tipo de esa partici�n. �sta intenta identificar el sistema operativo que utiliza la partici�n, o el que suele hacerlo. El prop�sito es evitar que dos sistemas operativos accidentalmente utilicen la misma partici�n. De cualquier modo, en realidad, los sistemas operativos no tienen en cuenta el byte de tipo de partici�n; por ejemplo, Linux no lo toma en consideraci�n en absoluto. Incluso peor, algunos lo utilizan incorrectamente; por ejemplo, al menos una versi�n de DR-DOS ignora el bit m�s significativo del byte, mientras que otras no lo hacen.
No existe un est�ndar para especificar lo que significa cada valor del byte, pero algunos com�nmente aceptados se incluyen en la Figura�6.3, “Tipos de partici�n (obtenida del programa de Linux fdisk).”. Una lista m�s exhaustiva est� disponible en el programa de Linux fdisk
.Figura 6.3. Tipos de partici�n (obtenida del programa de Linux fdisk).
Hex code (type L to list codes): L 0 Empty 1e Hidden W95 FAT1 80 Old Minix 1 FAT12 24 NEC DOS 81 Minix / old Lin 2 XENIX root 39 Plan 9 82 Linux swap / So 3 XENIX usr 3c PartitionMagic 83 Linux 4 FAT16 -32M 40 Venix 80286 84 OS/2 hidden C: 5 Extended 41 PPC PReP Boot 85 Linux extended 6 FAT16 42 SFS 86 NTFS volume set 7 HPFS/NTFS 4d QNX4.x 87 NTFS volume set 8 AIX 4e QNX4.x 2nd part 88 Linux plaintext 9 AIX bootable 4f QNX4.x 3rd part 8e Linux LVM a OS/2 Boot Manag 50 OnTrack DM 93 Amoeba b W95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi f W95 Extd (LBA) 54 OnTrackDM6 a5 FreeBSD 10 OPUS 55 EZ-Drive a6 OpenBSD 11 Hidden FAT12 56 Golden Bow a7 NeXTSTEP 12 Compaq diagnost 5c Priam Edisk a8 Darwin UFS 14 Hidden FAT16 -3 61 SpeedStor a9 NetBSD 16 Hidden FAT16 63 GNU HURD or Sys ab Darwin boot 17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs 18 AST SmartSleep 65 Novell Netware b8 BSDI swap 1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid 1c Hidden W95 FAT3 75 PC/IX
Existen muchos programas para crear y eliminar particiones. La mayor�a de sistemas operativos tienen el suyo propio, y es buena idea utilizar el propio con cada sistema operativo, por si se diera el caso que haga algo inusual que los otros no puedan hacer. Muchos de estos programas se llaman fdisk, incluido el de Linux, o variaciones de esa palabra. Los detalles de uso del fdisk de Linux se dan en su p�gina de manual. El comando cfdisk es similar a fdisk, pero tiene una interfaz m�s agradable (a pantalla completa).
Cuando se utilizan discos EIDE, la partici�n de arranque (la partici�n con los archivos de imagen del n�cleo arrancable) debe estar completamente definida en los primeros 1024 cilindros. Esto es as� porque el disco se utiliza a trav�s de la BIOS durante el arranque (antes de que el sistema entre en el modo protegido), y la BIOS no puede manejar m�s de 1024 cilindros. A veces es posible utilizar una partici�n de arranque que parcialmente se encuentre dentro de los primeros 1024 cilindros. Esto funciona siempre que todos los archivos que lee la BIOS se encuentran en los primeros 1024 cilindros. Como esto es dif�cil de conseguir, es mala idea intentarlo; nunca se sabe si una actualizaci�n del n�cleo o una desfragmentaci�n del disco originar� un sistema no arrancable. As� que aseg�rese que su partici�n de arranque est� completamente colocada dentro de los primeros 1024 cilindros. [12] .
Algunas versiones modernas de BIOS y discos IDE pueden, de hecho, manejar discos de m�s de 1024 cilindros, Si tiene uno de esos sistemas, se puede olvidar del problema; si no est� seguro, coloque la partici�n de arranque en los primeros 1024 cilindros.
Cada partici�n debe tener un n�mero par de sectores, puesto que el sistema de archivos Linux utiliza un tama�o de bloque de 1 kilobyte , es decir, dos sectores. Un n�mero impar de sectores provocar� que el �ltimo no pueda utilizarse. Esto no es ning�n problema, pero resulta feo, y algunas versiones de fdisk avisar�n de ello.
Cambiar el tama�o de una partici�n requiere que primero se realice una copia de seguridad de todo lo que quiera salvar de esa partici�n (a ser posible de todo el disco, por si acaso), borrar la partici�n, crear una nueva, y entonces restaurarlo todo a la nueva partici�n. Si la partici�n crece, puede necesitar ajustar los tama�os (y guardar y restaurar) las particiones adjuntadas tambi�n.
Como cambiar una partici�n es doloroso, es preferible establecerlas correctamente al principio, o tener un r�pido y f�cil de utilizar sistema de copia de seguridad. Si est� instalando desde un medio que no requiere demasiada intervenci�n humana (digamos, desde un CD-ROM, en contraposici�n a los disquetes), es generalmente m�s f�cil probar con diferentes configuraciones al principio. Como no tiene todav�a datos que guardar, no es tan costoso el modificar particiones varias veces.
Existe un programa de MS-DOS, llamado fips, [13] que redimensiona una partici�n MS-DOS sin tener que guardar y restaurar, pero para otros sistemas de archivos es todav�a necesario.
N.T.: Existe un programa muy �til para Linux llamado ntfs-resize que pertenece al proyecto Linux-ntfs. Puede redimensionar de manera segura y no destructiva particiones de tipo NTFS. Adem�s soporta todas las versiones de NTFS y trabaja a�n cuando el sistema de archivos se encuentre fragmentado. (11/05/2005)Cada partici�n y partici�n extendida posee su propio archivo de
dispositivo. El convenio de nombres para estos archivos es que se a�ade un
n�mero de partici�n detr�s del nombre del disco entero, con el convenio de que
las particiones primarias van del 1 al 4 (independientemente de cuantas
particiones primarias existan) y las particiones l�gicas tienen n�meros mayores
que 5 (independientemente de la partici�n primaria en la que residan). Por
ejemplo, /dev/hda1
es la primera partici�n primaria del
primer disco duro IDE, y /dev/sdb7
es la tercera partici�n
extendida en el segundo disco duro SCSI.
[12] Este detalle ya no es v�lido para las nuevas versiones de LILO, ya que actualmente soporta LBA (Logical Block Addressing). Consulte la documentaci�n de su distribuci�n para conocer si la versi�n de LILO provista tiene soporte LBA.
[13] El programa fips est� inclu�do en la mayor�a de las distribuciones Linux. El gestor de particiones comercial “Partition Magic” tambien tiene una caracter�stica similar, y adem�s su interface es mas agradable. Por favor recuerde que modificar las particiones es peligroso, y aseg�rese de contar con un backup reciente de cualquier informaci�n importante antes de intentar cambiar el tama�os de las particiones. El programa GNU parted puede modificar el tama�o de otros tipos de particiones, aunque algunas veces de manera mas limitada. Consulte la documentaci�n de parted antes de utilizarlo, mejor estar seguro que estar preocupado.