![]() Bisoños Usuarios de GNU/Linux de Mallorca y Alrededores | Bergantells Usuaris de GNU/Linux de Mallorca i Afegitons |
|||
|
Reparticionat del disc dur: La passa més temuda pels nous linuxers. (8740 lectures)
Per Joan Miquel, Joanmi (http://www.mallorcaweb.net/joanmiquel) Creado el 24/12/2001 17:02 modificado el 24/12/2001 17:02 | |||
Index:
1. Particions: Què son i perquè serveixen?Gràcies a les particions podem dividir un disc dur en diferents blocs que, a nivell lògic, manetjam com si fossin dispositius d'emmagatzemament diferents. Aquesta separació es fa gràcies a una Taula de Particions que tant la BIOS de l'ordinador com el Sistema Operatiu coneixen i interpreten adequadament. Existeixen molts de tipus de taules de particions, però en els ordinadors PC es fa servir una taula de particions de 4 entrades (i per tant fins a 4 particions possibles) que fou creada per solventar les limitacions de capacitat dels sistemes de fitxers de les primeres versions de MS-DOS quan començaren a apareixer discs durs (aleshores) "grans". Actualment és poc usual tenir un sistema de fitxers que no pugui adreçar la totalitat de l'espaï d'un disc dur. Però la utilitat de les particións dels discs durs ja no és aquesta. Tenir diferentes particions a un disc dur ens possibilita (entre altres coses):
2. Còm es referencien els discs durs i les particions?Com probablement ja sabreu, en Linux, com és costum en els sistemes basats en Unix, tots els dispositius del sistema són tractats __exactament__ com si fossin fitxers. I, de fet, per accedir-hi es fan servir uns fitxers especials (podriem dir que "virtuals") que, habitualment s'emmagatzemen al directori /dev de manera que quan noltros escrivim en un fitxer d'aquests, en realitat el que fem és passar-li la informació al controlador del dispositiu i, quan efectuam una lectura, en realitat, estam esperant que aquest controlador ens enviï informació. Però per nosaltres sempre és com si llegissim d'un fitxer. Una partició, en realitat és un subconjunt de la informació que conté un determinat disc. Per això les particións es referencien amb fitxers especials del mateix nom que el disc dur del que formen part però afegint un número que identifiqui la partició. D'aquesta anera si volguessim llegir el contingut de tot un disc dur (suposant que l'haguessim d'entendre) bastaria fer un 'cat /dev/hda' si es tracta del primer disc de la controladora IDE. I si només ens interessàs la primera partició fariem un 'cat /dev/hda1' (evidentement calen permisos de superusuari per executar aquestes dues comandes). La manera de determinar el nom que identifica un disc varia en funció del tipus de disc. Per a controladores IDE tenim:
...i això val tant per discs durs com per CD-ROMs o altres dispositius que s'hi puguin connectar com unitats Zip, Superdisk, etc... Quan son SCSI no tenen una assignació fixa ja que seria molt complicat debut a la gran quantitat de discs que poden arribar a tenir aquestes controladores i tanmateix molt poca gent té mes de un o dos discs SCSI. Així que els discs SCSI reben per ordre els noms...
...que NO comparteixen amb CD-ROMs que s'assignen a /dev/sr0, /dev/sr1, /dev/sr2... encara que algunes distribucións posen enllaços a aquests amb els noms /dev/scd0, /dev/scd1, /dev/scd2... supòs que per que siguin més facils de recordar. Bé, ara ja sabem com designar els discs durs. Com a nota curiosa (i útil moltes vegades), comentar que
els primers 512 bytes són els més importants d'un disc dur perque conenen la taula de particións de la que
estam parlant i el 'MBR' (Master Boot Record) que és el sector on les BIOS cerquen el codi del carregador del
Sistema Operatiu si el disc és el designat per dur a terme l'arranc del sistema. 3. Particionat del disc dur:A l'hora d'instalar un sistema Linux, una de les decisións més importants és la de com particionam el nostre sempre limitat disc dur. La opció més típica sol ser més o menys com aquesta:
4. Consideracions relatives al procés d'arranc:El procés d'arranc d'un S.O. en un PC consta bàsicament de dues fases:
Aquest Master Boot Record és el que conté, en els discs durs, la taula de particións, però també conté un petit bloc de codi que la BIOS intentarà executar si el troba (és a dir: si és vàlid). Aquest és el codi que inicia la càrrega del carregador del S.O. D'aquesta manera, aquest codi pot fer botar el sistema al principi d'una partició DOS perque comenci a carregar aquest sistema operatiu. ...O pot fer-lo botar al lloc on estigui ubicat un carregador de S.O. com ara LILO, Grub, o el Boot Loader de NT, PowerQuest (Partition Magic), entre d'altres.
El problema pot venir quant la nostra BIOS no sigui prou moderna i tengui problemes amb els discs durs de més de 1024 cilindres. En aquests casos la nostra BIOS només pot adreçar una part del disc dur i, per tant, el carregador del sistema operatiu i, més encara, el kernel (o nucli del sistema que s'ha de carregar) ha d'estar en aquesta part adreçable per la BIOS. En Linux aquest kernel és un únic fitxer i el podem posar en una partició al principi del disc dur, però en sistemes DOS (MS-DOS, OS2, Win-DOwS...) això és tradueix en el principi de la seva partició de dades "i d'aquí no't moguis!!". Si no posam aquesta partició al principi del disc dur (i la nostra BIOS no és prou moderna) NO podrem carregar aquest sistema. Si la posam al principi, però és prou grossa per ocupar tota la zona adreçable per la BIOS no tendrem altre remei que colocar el nucli dels altres sistemes operatius (per exemple el kernel del nostre Linux) en ella i això comporta una sèrie de incòmodes inconvenients:
...Per evitar tot això hi ha un petit truc (que més que un truc és una manera de fer) que no consisteix en altra cosa que, com he comentat anteriorment, fer-nos una petita partició (la famosa /boot) que contendrà el kernel (i normalment uns pocs fitxers més que es solen emmagatzemar en aquest directori) de manera que la següent partició ja pot ser la de DOS (o Win-DOwS) i la podrem reformatejar tantes vegades com volguem (o vulgui ella ;XD) sense que ens ocasioni cap problema en el nostre sistema d'arranc. 5. Carregadors de S.O.:El carregador més ampliament utilitzat fins avui per carregar Linux és el LILO (LInux LOader). Aquest carregador fa servir les rutines de la BIOS per accedir al disc dur i carregar el nucli (kernel) del sistema operatiu. Per tant, LILO està bastant fermat a les limitacións imposades per la BIOS de la màquina. De totes maneres, LILO té molts recursos per fer front a aquestes limitacións i és un carregador molt senzill i fàcil d'utilitzar (si es fa un cop d'ull a la documentació, clar :-)). Però hi ha molts més carregadors de S.O.: Desde els que venen amb diferentes utilitats com ara el "Partition Màgic" fins al GRUB que molts creuen que acabarà substituïnt a LILO i que és un mini-sistema_operatiu que, un cop carregat, és capaç d'accedir a molts tipus de hardware per ell mateix, sense necessitar de la BIOS. Això fà que les possibilitats de la BIOS només puguin complicar la càrrega del GRUB, poguent obligar a instalar aquest en una ubicació alternativa si la BIOS no és capaç de manetjar el dispositiu on voliem instalar-lo, però un cop carregat, GRUB té total independència per carregar el kernel del sistema operatiu desde qualsevol dispositiu que ell sàpiga manetjar. ...I actualitzar el boot loader és molt més fàcil, menys arriscat i, sobre tot justifica molt més el seu cost, per ser una solució genèrica i no específica d'una placa mare concreta, que no pas actualitzar la BIOS de la placa) 6. Vull més particions!!!!Com hem dit abans, pot ser una bona idea tenir una partició aposta per /home, o una per /http o per /programa_de_gestió o /var (si ets un Debian_User adicte a l'apt :-)). Però com també he dit abans... No ens queden particions!!!! La nostra taula de particións només te 4 entrades i ja les hem omplides totes (o quasi: segons si tenim o no particions separades per Windows, /boot, /home...) ¿Què fem ara? Increiblement, Microsoft va pensar en això!!! (Bé, de fet va pensar en que els discs durs creixien tant que
ni amb 4 particions la seva inseparable FAT12 d'aleshores donava abastament per tot el disc. I feren un
pensament... Molt a la seva :-( ...i crearen un nou tipus de partició. No ho he dit, però cada entrada de la taula de partició té una etiqueta de "tipus" que ens permet diferenciar l'ús al que estàn destinades: així una partició tipus 0xC serà una partició per un sistema FAT32 de MS Windows, una amb tipus 0x83 serà un sistema de fitxers de Linux (típicament ext2 però ara es sol fer servir també per Reiserfs i altres...), una 0x82 és una partició de swap, etc... La idea consisteix en crear un tipus "Extended Partition" que no és més que un contenidor de particions "lògiques". De manera que dins una "Extended Partition" (o simplement "partició extesa") podem crear ara fins a 64 particions més (que lògicament no podran ser bootables (arrancables) perque la BIOS no coneix de la seva existència. De manera que ja podem fer tantes particions com volguem (si no en volem més de 67, clar perque particions exteses __només n'hi pot haver una__ a un disc dur. No em demaneu perquè: està especificat així). L'invent no està malament: Estam limitats a 4 particións "físiques" al disc dur, però un cop tenim carregat el nostre sistema operatiu, aquest pot dividir-ne una en moltes més. ...Només es deixaren un petit detall: Dotar-les d'un identificador únic per poder distingir-les :-( Però clar... això no era necessari: Tots coneixem el famosísim algorisme del DOS (ara Win-DOS) basat en infinites cridades a la millor versió (patentada per Microsoft) que ha existit mai de la funció 'random' per "assignar lletres a les unitats"... Si tanmateix tant els dona l'ordre en que les posin... què més dona si no son distingibles o no? Idò bé, axò en un "sistema" que en el moment d'arrancar decideix per ell mateix on posa les coses i no li discuteixis (provau si no a arrancar amb un disket des d'una màquina amb discs IDE i SCSI i que normalment arranca de SCSI: ...però alerta amb el "format" i el "fdisk"!!! ;XDDDD) i tant li és posar-les a un lloc com a l'altre... això va molt bé. Però si tenim intenció de fer el que __noltros__ volem amb el nostre disc dur... la cosa es complica una mica... Bàsicament quan volem assignar una determinada partició (o més propiament dit el sistema de fitxers
contingut en una partició) a un directori concret del nostre arbre de directoris fem servir la comanda 'mount'
a la que li donam el nom de la partició a montar i la partició de muntatge. Però aquest sistema ens plantetja un problema molt greu: ¿Que passa si en un sistema que està funcionant fem canvis a les particións? La resposta és el CAOS: totes les particións posteriors a aquestes modifiquen la seva numeració canviant així de nom. Les que ja estàn montades en el sistema continuen funcionant perque el sistema ja no consulta on està aquella partició: simplement hi accedeix perque ja la té integrada al sistema de fitxers. Però si volem montar una partició amb el seu nom antic ens endurem una sorpresa perque, si li hem fet una nova partició abans, o n'hem esborrada una que hi havia, la partició podria, per exemple, haver passat d'anomenar-se /dev/hda6 a /dev/hda7 o /dev/hda5, respectivament. ...i òbviament, si tenim particións importants (com ara /var, /usr...) en particions exteses haurem de pensar en corregir el nostre /etc/fstab abans de rearrancar el sistema si no volem tenir problemes tan greus com important sigui el contingut de la partició pel sistema. Existeix també un tipus de partició "Linux Extended" que fa la mateixa funció ...però sembla que aquest es va crear per solucionar un problema del "FDISK" de MS-DOS que es penjava amb particións lògiques que estiguessin més enllà dels primers 1024 cilindres. El tipus "Linux Extended" només es diferencia amb el "DOS Extended" en que no serà reconegut pels particionadors de DOS o Win i que, per tant, des d'aquests sistemes, veurem la partició extesa com "UNKNOWN" (i evidentment no podrem fer-la servir des d'ells). Aquest tipus de partició extesa desgraciadament _no_ soluciona la falta d'un identificador de partició perque només pretenia ser una solució als problemes causats per aquest bug del fdisk de DOS. Per tant, cada cop que facem canvis en una partició extesa, especialment d'un disc en ús, haurem d'anar amb peus de plom i és molt recomanable reflexionar sobre els canvis que hem fet que afectin a la configuració del nostre /etc/fstab, fer-hi les modificacions pertinents i reiniciar el sistema per comprovar que no hem deixat res malament (si ho hem fet millor assabantar-nos-en ara que quant noltros no hi siguem per solucionar-ho). En canvi, amb les particións primaries no hi ha aquests problemes: Podem crear /dev/hda2 (si teniem aquesta entrada lliure) tenint /dev/hda3 montada i començar a fer-la servir sense problemes. L'únic inconvenient és que només disposam de 4 entrades per a particions primàries. Jo acostum a crear les particions /boot i / com a primaries i la resta a continuació en forma de particións exteses ...evidentment si fes servir un sistema DOS també el posaria en una partició primaria i just després de /boot com he explicat abans. Però com que no és el cas no ho faig :-) ...Fins i tot, no hi ha cap problema amb posar / en una partició lògica, ni tampoc amb /boot (excepte si volem posar-lo al principi del disc dur i enmig d'ella i una altra partició lògica hi ha d'anar la partició de DOS, perque nomès podem tenir una partició extesa i, per tant, totes les lògiques han d'anar dins d'aquesta. 7. Programes de particionat:Un programa de particionat és l'eina que fem servir per manetjar les particions dels nostres discs durs. Els més coneguts són els següents: En Linux:
En DOS:
Lista de enlaces de este artículo:
| |||
|
E-mail del autor: joanmi _ARROBA_ bulma.net Podrás encontrar este artículo e información adicional en: http://bulma.net/body.phtml?nIdNoticia=1085 |