Movatterモバイル変換


[0]ホーム

URL:


Vés al contingut
Viquipèdial'Enciclopèdia Lliure
Cerca

Carregador d'arrencada

De la Viquipèdia, l'enciclopèdia lliure

Uncarregador d'arrencada (boot loader en anglès) és un petitprograma que realitza la inicialització bàsica del sistema. Aquest comportament ve donat per la forma en què està organitzat elprogramari en elsordinadors.[1][2][3]

Elsistema operatiu i el programari necessari per fer funcionar l'ordinador estan emmagatzemats en eldisc dur (actualment pot executar-se un sistema operatiu des d'undisc òptic o un dispositiuUSB). Per carregar-los en lamemòria RAM seria necessari un altre sistema operatiu. Aquestaparadoxa es resol amb el carregador d'arrencada, que no és capaç de fer tasques complexes, però sí que conté les mínimes instruccions per carregar el sistema operatiu.

Els primers carregadors llegien el sistema operatiu des de suports externs com fitxes de paper o similars. Actualment laCPU executa codi des d'una memòria fixaROM i es comença comprovant elsdispositius d'emmagatzematge en un ordre prefixat en laBIOS i s'executa el carregador que es trobi primer (normalment en el del disc dur). Aquest carregador primari es troba en seccions arbitràries del dispositiu on es troba (normalment anomenades "seccions de càrrega").

Aquest primer carregador deriva a un carregador de programari secundari, molt més complex, sovint part del mateix sistema operatiu que carrega, i ja situat en qualsevol part del dispositiu d'emmagatzematge. És el cas deGRUB iLILO, que poden carregar sistemes operatius comLinux iWindows, oNTLDR, que només carregaWindows NT.

Prestacions

[modifica]
Fase posterior alpower-on self-test d'un PC basat enfirmwareBIOS.
Fase de càrrega deGNU/Linux (Knoppix).

Uncarregador o gestor d'arrencada (en anglès:bootloader) és un programa senzill (que no té la totalitat de les funcionalitats d'un sistema operatiu) dissenyat exclusivament per preparar tot el que necessita el sistema operatiu per funcionar. Normalment, s'utilitzen els carregadors d'arrencada multietapes, en què diversos programes petits se sumen els uns als altres, fins que l'últim carrega el sistema operatiu.

Als ordinadors moderns (després de 1975), el procés d'arrencada comença amb laCPU executant els programes continguts a la memòriaROM en una adreça predefinida (es configura la CPU per executar aquest programa, sense ajuda externa, en encendre l'ordinador).

Carregador d'arrencada de segona etapa

[modifica]
Plymouth desplegant una animació aFedora.

Aquest programa conté funcionalitats rudimentàries per cercar unitats que es puguin seleccionar per participar en l'arrencada, i carregar un petit programa des d'una secció especial de la unitat més prometedora. El petit programa no és, en si mateix, un sistema operatiu sinó, simplement, un carregador d'arrencada de segon nivell, comLilo oGrub, que és capaç de carregar el sistema operatiu pròpiament dit i, finalment, transferir-li el control. El sistema s'autoiniciarà i pot carregar elscontroladors de dispositius i altres programes que són necessaris per al funcionament normal del sistema operatiu.

El procés d'arrencada es considera complet quan l'ordinador està preparat per contestar els requisits de l'exterior. El típic ordinador modern arrenca en, aproximadament, un minut (del qual, 15 segons són emprats pels carregadors d'arrencada preliminars i, la resta, pel carregador del sistema operatiu), mentre que els grans servidors poden necessitar diversos minuts per arrencar i començar tots els serveis; per assegurar una alta disponibilitat, ofereixen uns serveis abans que altres.

La majoria dels sistemes embeguts han d'arrencar gairebé instantàniament, per exemple, esperar un minut per poder veure la televisió es considera inacceptable. Per això, tenen el sistema operatiu a la ROM omemòria flash, gràcies al que poden ser executats de forma gairebé instantània.

Bootsplash & Splashy

[modifica]

ALinux, durant el procés d'arrencada es mostra per pantalla la seqüència de mòduls i altres components delsistema operatiu amode text. Per defecte es mostra així, però un pegat anomenatsplashy,[4] (substitut debootsplash[5]) permet amagar aquestes línies de text (amb l'opció"quiet" y"splash" en les línies d'arrencada), oferint al seu lloc una imatge més amigable, amb una barra de progrés. No obstant això, es pot canviar al mode "verbose" (detallat) prement la tecla F2, cosa que ens mostrarà de nou els missatges propis del procés d'arrencada. També dota la consola deLinux d'un fons totalment configurable.

Tot això és possible gràcies alframebuffer, que possibilita les consoles a resolucions i profunditats de color altes.

Ordinadors personals (PC)

[modifica]

Dispositius d'arrencada

[modifica]
Unitat flash d'arrencadaWindows To Go, unLive USB d'exemple

El dispositiu d'arrencada és el dispositiu des del qual es carrega el sistema operatiu. El microprogramariUEFI oBIOS d'un PC modern admet l'arrencada des de diversos dispositius, generalment unaunitat d'estat sòlid ounitat de disc dur a través de laGPT oMaster Boot Record (MBR) en aquesta unitat o disc, unaunitat de disc òptic (fent servirEl Torito), un dispositiu d'emmagatzematge massiuUSB (unitat flaix basada enFTL,targeta SD olector de targetes de memòria, disc dur USB unitat de disc, unitat de disc òptic USB, etc.), o una targeta d'interfície de xarxa (usantPXE). Els dispositius d'arrencada BIOS més antics i menys comuns inclouendisquets,Zip drives iLS-120.

Normalment, el microprogramari del sistema (UEFI o BIOS) permetrà a l'usuari configurar un "ordre d'arrencada". Si l'ordre d'arrencada s'estableix a "primer, la unitat de DVD; segon, la unitat de disc dur", llavors el microprogramari intentarà arrencar des de la unitat de DVD i, si això falla (per exemple, perquè no hi ha DVD a la unitat), intentarà arrencar des de la unitat de disc dur local.

Per exemple, en un PC ambWindows instal·lat al disc dur, l'usuari podria establir l'ordre d'inici en què es va indicar anteriorment i després inserir unLinuxLive CD per provarLinux sense haver d'instal·lar un sistema operatiu al disc dur. Aquest és un exemple d'arrencada dual, en què l'usuari tria quin sistema operatiu iniciar després que l'ordinador hagi realitzat la sevaautocomprovació d'encesa (POST). En aquest exemple d'arrencada dual, l'usuari tria inserir o treure el DVD de l'ordinador, però és més comú triar quin sistema operatiu arrencar seleccionant des d'un menú gestor d'arrencada al dispositiu seleccionat, usant el teclat de l'ordinador per seleccionar des d'un menú d'arrencadaBIOS oUEFI, o tots dos; el menú d'inici generalment s'ingressa prement les teclesF8 oF12 durant el POST; laConfiguració del BIOS generalment s'ingressa prement les teclesF2 oDEL durant la POST.[6][7]

Hi ha diversos dispositius disponibles que permeten a l'usuari "arrencar ràpidament" en allò que sol ser una variant de Linux per a diverses tasques senzilles com l'accés a Internet; alguns exemples sónSplashtop iLatitude ON.[8][9][10]

Seqüència d'arrencada

[modifica]
Unbolcat hexadecimal del MBR boot0 deFreeBSD
Imatges externes
Award Software BIOS de 2000 durant l'arrencada.

En iniciar-se, la CPUx86 d'un ordinador personal compatible amb IBM, executa amode real, la instrucció ubicada avector de reinici (l'adreça de memòria físicaFFFF0h a processadors x86 de 16 bits[11] iFFFFFFF0h en processadors x86 de 32 i 64 bits[12][13]), generalment apunta al punt d'entrada del microprogramari (UEFI oBIOS) dins de la ROM. Aquesta ubicació de memòria normalment conté una instrucció de salt que transfereix l'execució a la ubicació del programa d'inici del microprogramari (UEFI oBIOS). Aquest programa executa unaautoprova d'encesa (POST) per comprovar i inicialitzar els dispositius necessaris, com lamemòria principal (DRAM), el bus PCI i els dispositius PCI (inclòs el funcionament integratROM opcional). Un dels passos més complicats és configurar DRAM sobreSPD, cosa que es complica encara més pel fet que en aquest punt la memòria és molt limitada.

Després d'inicialitzar el maquinari requerit, el microprogramari (UEFI oBIOS) passa per una llista preconfigurada dedispositius d'emmagatzematge no volàtil ("seqüència d'arrencada de dispositiu") fins que en trobeu un d'arrencada. Un dispositiu MBR d'arrencada es defineix com un que es pot llegir i on els dos últims bytes del primer sector contenen laparaulalittle-endianAA55h,[nb 1] trobada com a seqüència de bytes55h,AAh al disc (també coneguda com aSignatura d'arrencada MBR), o on s'estableixi d'una altra manera que el codi dins del sector és executable a PC x86.

Quan el BIOS ha trobat un dispositiu d'arrencada, carrega el sector d'arrencada a l'adreça lineal7C00h (normalmentsegment:offset0000h:7C00h,[14][15]:29 però alguns BIOS usen erròniament07C0h:0000h) i transfereixen l'execució al codi d'arrencada. En el cas d'un disc dur, això s'anomenaMaster Boot Record (MBR). El codi MBR convencional comprova la taula de particions del MBR per cercar una partició configurada com a "arrencable".[nb 2] (el que té l'indicadoractiu establert). Si hi ha unapartició activa, el codi MBR carrega el codisector d'arrencada d'aquesta partició, conegut com aRegistre d'arrencada de volum (VBR), i l'executa. El codi inicial MBR sol ser específic del sistema operatiu.

El codi d'arrencada del sector és el carregador d'arrencada de primera etapa. Es troba adiscos fixos iunitats extraïbles, i ha de cabre en els primers 446bytes delMaster Boot Record per deixar espai per a lataula de partició per omissió de 64 bytes amb quatre entrades de partició i lasignatura d'arrencada de dos bytes, que requereix el BIOS per a un carregador d'arrencada adequat —o fins i tot menys, quan característiques addicionals com a més de quatre entrades de partició (fins a 16 amb 16 bytes cadascuna), unasignatura de disc (6 bytes), unamarca de temps de disc (6 bytes), unaPartició activa avançada (18 bytes) o carregadorsmulti-boot també han de ser compatibles en alguns entorns. Afloppy isuperfloppyVolume Boot Records, fins a 59 bytes estan ocupats per alBloc de paràmetres de BIOS estès en els volumsFAT12 iFAT16 des de DOS 4.0, mentre que elFAT32 EBPB introduït amb DOS 7.1 requereix fins i tot 87 bytes, deixant només 423 bytes per al carregador d'arrencada quan s'assumeix una mida de sector de 512 bytes. Per tant, els sectors d'arrencada de Microsoft tradicionalment imposaven certes restriccions en el procés d'arrencada, per exemple, el fitxer d'arrencada havia d'ubicar-se en una posició fixa al directori arrel del sistema de fitxers i emmagatzemar-se com a sectors consecutius,[16][17] condicions ateses per l'ordreSYS i lleugerament relaxat en versions posteriors de DOS.[17][nb 3] Després, el carregador d'arrencada va poder carregar els primers tres sectors del fitxer a la memòria, que va resultar contenir un altre carregador d'arrencada integrat capaç de carregar la resta del fitxer a la memòria.[17] Quan Microsoft va afegirLBA i compatibilitat amb FAT32, fins i tot van canviar a un carregador d'arrencada que arribava a "dos" sectors físics i usava instruccions 386 per raons de mida. Alhora, altres proveïdors van aconseguir incloure molta més funcionalitat en un sol sector d'arrencada sense relaxar les restriccions originals de només una memòria disponible mínima (32 KB) i suport de processador (8088/8086).[nb 4] Per exemple, els sectors d'arrencada de DR-DOS poden localitzar el fitxer d'arrencada al sistema de fitxers FAT12, FAT16 i FAT32 i carregar-ho a la memòria com un tot mitjançantCHS o LBA, fins i tot si el fitxer no està emmagatzemat en una ubicació fixa i en sectors consecutius.[18][14][19][20][21][nb 5][nb 4]

El VBR sol ser específic del sistema operatiu; no obstant això, la seva funció principal és carregar i executar el fitxer del carregador d'arrencada del sistema operatiu (combootmgr ontldr), que és el carregador d'arrencada de segona etapa, des d'una partició activa. Després, el carregador carrega elkernel del sistema operatiu des del dispositiu d'emmagatzematge.

Si no hi ha una partició activa, o el sector d'inici de la partició activa no és vàlid, l'MBR pot carregar un carregador d'inici secundari que seleccionarà una partició (sovint mitjançant l'entrada de l'usuari) i carregarà el vostre sector d'inici, que generalment carrega el kernel del sistema operatiu corresponent. En alguns casos, l'MBR també pot intentar carregar carregadors secundaris abans d'arrencar la partició activa. Si tota la resta falla, hauria d'emetre unINT 18h[15][14] que fa lacrida interrupció BIOS (seguit d'un INT 19h en cas que INT 18h tornés) per tornar el control al BIOS, que després intentaria arrencar altres dispositius, intentaria unarrencada remota a través de la xarxa.[14]

Molts sistemes moderns (Intel Macs iPC més nous) fan servirUEFI.[22][23]

A diferència del BIOS, UEFI (sensearrencada heretada a través de CSM) no depèn dels sectors d'arrencada, el sistema UEFI carrega el carregador d'arrencada (arxiu deAplicació EFI aldisc USB o a laPartició del sistema EFI) directament,[24] i el kernel del sistema operatiu és carregat pel carregador.

Notes

[modifica]
  1. La signatura a l'òfset+1FEh als sectors d'arrencada és55h AAh, que és55h en òfset+1FEh iAAh en òfset+1FFh. Com que la representaciólittle-endian s'ha d'assumir en el context de les màquines compatibles ambIBM PC, això es pot escriure com una paraula de 16 bitsAA55h en programes per a processadorsx86 (tingueu en compte l'ordre intercanviat), mentre que s'hauria d'escriure com55AAh en programes per a altres arquitectures de CPU usant una representacióbig-endian. Atès que això s'ha barrejat diverses vegades en llibres i fins i tot en documents de referència originals de Microsoft, aquest article utilitza la representació en disc basada en bytes basada en òfset per evitar possibles interpretacions errònies.
  2. Lapartició activa pot contenir uncarregador d'arrencada de segona etapa, per exemple, OS/2 Boot Manager, en lloc d'un sistema operatiu.
  3. El manual dePC DOS 5.0 afirma incorrectament que els fitxers del sistema ja no necessiten ser contigus. Tanmateix, perquè el procés d'arrencada funcioni, els fitxers del sistema encara han d'ocupar les dues primeres entrades del directori i els primers tres sectors deIBMBIO.COM encara s'han d'emmagatzemar de manera contigua.SYS segueix ocupant-se d'aquests requisits.
  4. 4,04,1Com a exemple, mentre que la funcionalitat estesa de DR-DOSMBRs isector d'arrencada en comparació amb les contrapartsMS-DOS/PC DOS encara podrien aconseguir-se utilitzant tècniques convencionals d'optimització de codi enllenguatge assemblador fins a7.05, per a l'addició deLBA,FAT32 iLOADER són compatibles amb sectors7.07 van haver de recórrer acodi automodificable, programacióopcode de nivell enllenguatge de màquina, utilització controlada de (documentat)costat efectes, dades/codi multinivellsuperposició i tècniques algorítmiquesfolding per comprimir tot en un sol sector físic, ja que era un requisit per aretrocompatibilitat creuada amb altres sistemes operatius en escenaris d'arrencada múltiple icàrrega en cadena.
  5. Hi ha una excepció a la regla que elVBR deDR-DOS carregarà tot el fitxerIBMBIO.COM a la memòria: si el fitxer IBMBIO.COM és més gran que 29 KB, intentar carregar tot el fitxer a la memòria donaria com a resultat que el carregador d'arrencadasobreescrigui lapila ireubiqui laTaula de paràmetres del disc (DPT/FDPB). Per tant, un VBR deDR-DOS 7.07 només carregaria els primers 29 KB del fitxer a la memòria, confiant en un altre carregador integrat a la primera part de IBMBIO.COM per verificar aquesta condició i carregar la resta de larxiu a la memòria per si mateix si és necessari. Això no causa problemes de compatibilitat, ja que la mida de IBMBIO.COM mai no va superar aquest límit en versions anteriors sense aquest carregador. Combinat amb una estructura d'entrada dual, això també permet que el sistema sigui carregat per un VBR dePC DOS, que carregaria només els tres primers sectors del fitxer a la memòria.

Referències

[modifica]
  1. «Definición de boot - Diccionario informático» (en castellà). [Consulta: 18 juliol 2023].
  2. Netty. «Boot - Definición y explicación» (en castellà), 26-10-2022. [Consulta: 18 juliol 2023].
  3. «Definición de proceso de arranque (de buteo, boot o inicio) de una computadora», 20-07-2016. [Consulta: 18 juliol 2023].
  4. «Welcome to the wiki of the Splashy Project» (en anglès), 08-03-2010. Arxivat de l'original el 27 de juliol de 2010. [Consulta: 11 juny 2020].
  5. «Welcome to the graphical world of Linux» (en anglès), 26-07-2007. Arxivat de l'original el 9 de juny de 2010. [Consulta: 11 juny 2020].
  6. «List of PC brands with their corresponding hot-keys». Arxivat de l'original el 2020-11-11. [Consulta: 26 setembre 2020].
  7. «How to Enter the BIOS on Any PC: Access Keys by Manufacturer | Tom's Hardware». Arxivat de l'original el 2023-02-20. [Consulta: 26 setembre 2020].
  8. Brown, Eric. «MontaVista Linux drives Dell's quick-boot feature». linuxdevices.com, 02-10-2008. [Consulta: 20 novembre 2010].
  9. «SplashTop Linux On HP, Dell Notebooks?». Phoronix, 14-06-2008. Arxivat de l'original el 2016-10-05. [Consulta: 20 novembre 2010].
  10. «Voodoo Envy's Instant-On IOS (powered by Splashtop)». YouTube. Arxivat de l'original el 10 de març de 2023. [Consulta: 20 novembre 2010].
  11. «iAPX 286 Programmer's Reference Manual». Intel, 1983. Arxivat de l'original el 2022-10-09. [Consulta: 23 agost 2019]. «Since the CS register contains F000 (thus specifying a code segment starting at physical address F0000) and the instruction pointer contains FFF0, the processor will execute its first instruction at physical address FFFF0H.»
  12. «80386 Programmer's Reference Manual». Intel, 1986. Arxivat de l'original el 2022-10-09. [Consulta: 3 novembre 2013]. «After RESET, address lines A31-20 are automatically asserted for instruction fetches. This fact, together with the initial values of CS:IP, causes instruction execution to begin at physical address FFFFFFF0H.»
  13. «Intel 64 and IA-32 Architectures Software Developer's Manual». Intel Corporation, 01-05-2012. Arxivat de l'original el 2022-10-09. [Consulta: 23 agost 2012]. «The first instruction that is fetched and executed following a hardware reset is located at physical address FFFFFFF0h. This address is 16 bytes below the processor's uppermost physical address. The EPROM containing the software-initialization code must be located at this address.»
  14. 14,014,114,214,3«Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM - README.TXT and BOOT.TXT - A short description of how OpenDOS is booted», 02-10-1997. Arxivat de l'original el 2003-10-04. [Consulta: 29 març 2009].[1]
  15. 15,015,1; Phoenix Technologies Ltd; Intel Corporation«BIOS Boot Specification 1.01», 11-01-1996. Arxivat de l'original el 2022-10-09. [Consulta: 21 desembre 2017].
  16. The MS-DOS Encyclopedia: versions 1.0 through 3.2. Completely reworked. Redmond, Washington, USA: Microsoft Press, 1988.ISBN 1-55615-049-0.OCLC 16581341.LCCN 87-21452.  (xix+1570 pàgines; 26 cm) (NB. Aquesta edició es va publicar l'any 1988 després d'una extensa reelaboració de la primera edició de 1986 retirada per un equip diferent d'autors:«The MS-DOS Encyclopedia (1988)». Arxivat de l'original el 2018-10-14.)
  17. 17,017,117,2 «Chapter 2: The System Footprint». A:DOS Internals. 1st printing, 1st. Addison Wesley Publishing Company, gener 1994.ISBN 978-0-201-60835-9.  (xxvi+738+iv pages, 3.5"-floppy[2][3]) Errata:[4][5][6]
  18. Rosch, Winn L. (1991-02-12).«DR DOS 5.0 - The better operating system?».PC Magazine10 (3): 241–246, 257, 264, 266. Arxivat del'original el 2019-07-25. «[…]SYS has been improved underDR DOS 5.0 so you don't have to worry about leaving the first cluster free on a disk that you want to make bootable. The DR DOS system files can be located anywhere on the disk, so any disk with enough free space can be set to boot your system. […]»  (NB. La font ho atribueix a la utilitat SYS, mentre que de fet aquesta és una característica del carregador d'arrencada avançat al sector d'arrencada. SYS només planta aquest sector al disc.)
  19. «FAT32 in DR-DOS». opendos@delorie, 17-01-2001. Arxivat de l'original el 2017-10-06. [Consulta: 6 octubre 2017]. «[…] TheDR-DOS boot sector […] searches for theIBMBIO.COM (DRBIOS.SYS) file and then loads the *whole* file into memory before it passes control to it. […]»
  20. «Can't copy». opendos@delorie, 20-02-2002. Arxivat de l'original el 2017-10-06. [Consulta: 6 octubre 2017]. «[…] TheDR-DOS boot sector loads the wholeIBMBIO.COM file into memory before it executes it. It does not care at all about theIBMDOS.COM file, which is loaded by IBMBIO.COM. […] The DR-DOS boot sector […] will find the […] kernel files as long as they are logically stored in the root directory. Their physical location on the disk, and if they are fragmented or not, is don't care for the DR-DOS boot sector. Hence, you can just copy the kernel files to the disk (even with a simplyCOPY), and as soon as the boot sector is a DR-DOS sector, it will find and load them. Of course, it is difficult to put all this into just 512 bytes, the size of a single sector, but this is a major convenience improvement if you have to set up a DR-DOS system, and it is also the key for the DR-DOS multi-OSLOADER utility to work. TheMS-DOS kernel files must reside on specific locations, but the DR-DOS files can be anywhere, so you don't have to physically swap them around each time you boot the other OS. Also, it allows to upgrade a DR-DOS system simply by copying the kernel files over the old ones, no need forSYS, no difficult setup procedures as required for MS-DOS/PC DOS. You can even have multiple DR-DOS kernel files under different file names stored on the same drive, and LOADER will switch between them according to the file names listed in theBOOT.LST file. […]»
  21. «The continuing saga of Windows 3.1 in enhanced mode on OmniBook 300». MoHPC - the Museum of HP Calculators, 14-08-2017. Arxivat de l'original el 2017-10-06. [Consulta: 6 octubre 2017]. «[…] theDR-DOSFDISK does not only partition a disk, but can also format the freshly created volumes and initialize their boot sectors in one go, so there's no risk to accidentally mess up the wrong volume and no need forFORMAT /S orSYS. Afterwards, you could just copy over the remaining DR-DOS files, including the system files. It is important to know that, in contrast toMS-DOS/PC DOS, DR-DOS has "smart" boot sectors which will actually "mount" the file-system to search for and load the system files in the root directory instead of expecting them to be placed at a certain location. Physically, the system files can be located anywhere and also can be fragmented. […]»
  22. «Intel Platform Innovation Framework for EFI». Intel. Arxivat de l'original el 2011-08-21. [Consulta: 7 gener 2008].
  23. «OpenBIOS - coreboot». coreboot.org. Arxivat de l'original el 2013-03-18. [Consulta: 20 març 2013].
  24. «UEFI - OSDev Wiki». Arxivat de l'original el 2020-11-12. [Consulta: 26 setembre 2020].

Vegeu també

[modifica]
AWikimedia Commons hi ha contingut multimèdia relatiu a:Carregador d'arrencada
  • Vegeu aquesta plantilla
General
Kernel
Components
Gestió de processos
Conceptes
Gestió de la memòria i
protecció de recursos
Accés a l'emmagatzematge de dades i
Sistema de fitxers
Llista de sistemes operatius
Miscel·lània
Bases d'informació
Obtingut de «https://ca.wikipedia.org/w/index.php?title=Carregador_d%27arrencada&oldid=36417625»
Categoria:
Categories ocultes:

[8]ページ先頭

©2009-2025 Movatter.jp