[ Anterior ] [ Indice ] [ Seguinte ]


2. ¿Que é unha partición?

Cando se inventaron os discos duros para PC a xente pronto quixo instalar múltiples sistemas operativos, incluso se o seu sistema só tiña un disco. Así que se necesitaba un mecanismo para dividir un único disco físico en múltiples discos lóxicos. Iso é o que é unha partición: unha sección contigua de bloques no teu disco duro tratada como un disco completamente separado pola maioría dos sistemas.

Está bastante claro que as particións non se deben solapar: un sistema operativo non estaría de seguro contento se outro sistema instalado na mesma máquina estivera sobreescribindo información importante por causa da solapación de particións. Tampouco debe haber ocos entre particións contiguas. Se ben isto non é perxudicial, estás desperdiciando un preciado espacio no disco deixando espacio entre particións.

Non se ten por qué facer particións no disco completo. Podes decidir deixar algún espacio ao final do disco que non estea asignado a ningún dos teus sistemas operativos, aínda. Máis tarde, cando teñas claro qué instalación usas a maior parte do tempo, podes facer unha partición nese espacio que deixaches e poñer un sistema de ficheiros nel.

As partición non se poden mover nin cambiar de tamaño sen destruír o sistema de ficheiros que conteñen. Así reparticionar normalmente inclúe facer copias de seguridade e restaurar todos os sistemas de ficheiros que se cambiaron durante a repartición. De feito é bastante común liar as cousas durante a repartición, así que debes de facer copias de todo en calquera disco da máquina en particular antes incluso de tocar cousas como fdisk.

Ben, algunhas particións con certos tipos de sistemas de ficheiros nelas realmente poden dividirse en dúas sen perder ningún dato (se tes sorte). Por exemplo hai un programa chamado fips para dividir as particións de MS-DOS en dúas para facer sitio para unha instalación de Linux sen ter que reinstalar MS-DOS. Non vaias tocar estas cousas sen facer coidadosamente unha copia de seguridade a todo na túa máquina, ¿eh?

2.1 As copias de seguridade son importantes

As cintas son as túas amigas para as copias de seguridade. Son rápidas, de fiar e fáciles de usar, así que podes facer copias de seguridade a miúdo, preferiblemente de xeito automático e sen molestias.

Aclaración (NdT: traducción libre de "Step on soapbox"): E estou a falar de cintas reais, non desas cintas controladas por controladores de disco (disk controller driven ftape crap). Pensa en mercar SCSI: Linux suporta SCSI nativamente. Non necesitas cargar controladores ASPI, non perdes o precioso HMA baixo Linux e unha vez que está instalada a adaptadora SCSI, tan só engades discos, cintas e CD-ROMs adicionais a ela. Non máis direccións de E/S (Entrada/Saída, I/O), malabarismos con IRQ ou correspondencias Mestre/Esclavo e a nivel PIO (Master/Slave and PIO-level matching).

Máis: os adaptadores SCSI axeitados danche un alto rendemento E/S sen moita carga da CPU. Incluso baixo forte actividade do disco experimentarás bos tempos de resposta. Se estás pensando en usar un sistema Linux como servidor de novas de USENET ou en entrar no negocio dos PSIs (ISPs, Proveedores de servicios de Internet), non penses sequera en desplegar un sistema sen SCSI. Fin da aclaración (NdT: traducción libre de "Climb of soapbox").

2.2 Números e nomes de dispositivos

O número de particións nun sistema baseado en Intel foi limitado desde moi ao principio: A táboa de particións orixinal instalábase como parte do sector de arranque e tiña espacio só para catro entradas de particións. Esas particións chámanse agora particións primarias. Cando quedou claro que a xente necesitaba máis particións inventáronse as particións lóxicas. O número de particións lóxicas é ilimitado: cada partición lóxica contén un punteiro para a seguinte partición lóxica, así que potencialmente podes ter unha cadea ilimitada de entradas de particións.

Por motivos de compatibilidade, ten que informarse do espacio ocupado por todas as particións lóxicas. Se estás usando particións lóxicas, unha entrada de partición primaria márcase como "partición extendida" e os seus bloques inicial e final marcan a área ocupada polas túas particións lóxicas. Isto implica que o espacio asignado a todas as particións lóxicas ten que ser contiguo. Só pode haber unha partición extendida: ningún programa fdisk creará máis dunha partición extendida.

Linux non pode manexar máis dun número limitado de particións por controlador. Así que en Linux tes 4 particións primarias (3 delas usables se usas particións lóxicas) e un máximo de 15 particións en total nun disco SCSI (63 en total nun disco IDE).

En Linux, as particións represéntase por ficheiros de dispositivo. Un ficheiro de dispositivo é un ficheiro de tipo "c" (para dispositivos de "caracter", dispositivos que non usan o caché de buffer -NdT: "buffer" significa "amortiguador", e como non se usa este termo na nosa lingua neste senso pois déixoo como "buffer"-) ou "b" (para dispositivos de "bloque", que funcionan a través de caché de buffer). En Linux, todos os discos represéntanse só como dispositivos de bloque. Ao contrario que noutros UNIX, Linux non oferta versións de caracter "bruto" ("raw" significa sen procesar, materia prima, bruto) dos discos e as súas particións.

A única cousa importante dun ficheiro de dispositivo son os seus números de dispositivo principal e secundario, mostrados no lugar do tamaño dos ficheiros:

$ ls -l /dev/hda
brw-rw----    1    root    disk    3,0    Jul 18 1994    /dev/hda
                                   ^ ^
                                   | número secundario de dispositivo
                                   número principal de dispositivo
Cando se accede a un ficheiro de dispositivo, o número principal elixe o controlador de dispositivo que se chamará para efectuar a operación de entrada/saída. Esta chamada faise co número secundario como parámetro e é só cousa do controlador cómo interpretar o número secundario. A documentación do controlador normalmente explica cómo utiliza os números secundarios. Para discos IDE, esta documentación está en /usr/src/linux/Documentation/ide.txt. Para discos SCSI, un agarda que esa documentación estea en /usr/src/linux/Documentation/scsi.txt, mais non está aí. Tes que mirar nas fontes do controlador para asegurarte (/usr/src/linux/driver/scsi/sd.c:184-196). Afortunadamenre, hai a lista de números e nomes de dispositivos de Peter Anvin en /usr/src/linux/Documentation/devices.txt; mira as entradas para dispositivos de bloque principal 3, 22, 33 e 34 para IDE e principal 8 para discos SCSI. Os números principal e secundario son dun byte cada un e por iso é limitado o número de particións por disco.

Por convenio os ficheiros de dispositivo teñen certos nomes e moitos programas do sistema coñecen eses nomes por estaren compilados nel. Esperan que os teus discos IDE se chamen /dev/hd* e os SCSI /dev/sd*. Os discos numéranse por a, b, c e así, así que /dev/hda é o teu primeiro disco IDE e /dev/sda o primeiro SCSI. Ambos dispositivos representan discos enteiros, comezando no bloque un. Escribir estes dispositibos coas ferramentas equivocadas destruirá o cargador de arranque mestre e a táboa de particións neses discos, interpretando todos os datos deste disco como non usables ou facendo inarrancable o teu sistema. Mira ben o que fas e, de novo, fai unha copia de seguridade antes de facelo.

As particións primarias nun disco son 1, 2, 3 e 4, así que /dev/hda1 é a primeira partición primaria no primeiro disco IDE e así o resto. As particións lóxicas teñen do número 5 parra arriba, así que /dev/sdb5 é a primeira partición lóxica no segundo disco SCSI.

Cada entrada de partición ten asignado un enderezo de bloque de inicio e de fin e un tipo. O tipo é un código numérico (un byte) que designa unha partición en particular a un determinado tipo de sistema operativo (NdT: ou mellor dito, a un determinado tipo de sistema de ficheiros). Para beneficio de asesores de computadores os códigos do tipo de partición non son únicos, así que sempre hai probabilidades de que dous sistemas operativos (NdT: de novo, sistemas de ficheiros) usen o mesmo código.

Linux reserva o código 0x82 para particións de intercambio (swap) e 0x83 para sistemas de ficheiros "nativos" (iso é ext2 para a maioría de vós). O unha vez popular e agora desfasado sistema de ficheiros Linux/Minix usaba o código 0x81 para particións. OS/2 marca as súas particións co tipo 0x07 e tamén o NTFS do Windows NT. MS-DOS aloxa varios códigos para os distintos tipos do sistema de ficheiros FAT: 0x01, 0x04 e 0x06. DR-DOS usaba 0x81 para indicar particións FAT protexidas, creando un enfrontamento de tipos co Linux/Minix no seu tempo, pero nin Linux/Minix nin DR-DOS serán de uso extendido nunca máis. Por certo, a partición extendida usada para conter as particións lóxicas ten o tipo 0x05.

As particións créanse e elimínanse co programa fdisk. Cada sistema operativo vén co seu respectivo programa fdisk e tradicionalmente incluso se chama fdisk (ou FDISK.EXE) en case todos os SOs. Algúns fdisks, sobre todo o do DOS, son dalgún xeito limitados cando teñen que tratar coas particións doutros sistemas operativos. Esas limitacións inclúen a completa incapacidade de tratar con calqera cousa cun código de tipo alleo, a incapacidade de tratar con números de cilindros sobre 1024 e a incapacidade de crear ou incluso entender particións que non rematan nun límite de cilindro. Por exemplo, o fdisk de MS-DOS non pode eliminar particións NTFS, sábese que o fdisk de OS/2 "corrixe" sixilosamente particións creadas co fdisk de Linux que non rematan nun límite de cilindro, e ámbolos fdisk de MS-DOS e OS/2 teñen problemas con discos de máis de 1024 cilindros (ver o mini-HOWTO sobre discos grandes -NdT: Large-Disks mini-HOWTO é o nome exacto- para detalles sobre eses discos).


[ Anterior ] [ Indice ] [ Seguinte ]