Proces bootare

De la LinuxWiki

Salt la: navigare, căutare

Cand un calculator porneste, BIOS-ul este primul program care ruleaza. Dupa ce e incarcat, BIOS-ul incepe sa testeze sistemul prin POST (Power On Self Test) dupa care incepe sa incarce dispozitivele periferice. Bios-ul cauta apoi dispozitivul de boot si ii ofera controlul. Dispozitivul de boot contine MBR-ul care porneste sistemul prin bootloader. De aici, GRUB booteaza in kernelul setat ca si default. In final, kernelul porneste procesul init care booteaza restul sistemului. Procesul init este primul creat de kernel. Este responsabil pentru restul procesului de bootare si setarea mediului (environment) pentru utilizator. Prima data citeste /etc/inittab care defineste cum va decurge restul procesului de boot. Acest fisier defineste nivelul de executie default pentru bootare in sistemul si scriptul de initializare /etc/rc.d/rc.sysinit.

Incarcatorul de boot GRUB este impartit in mai multe etape. Codul tinut in MBR este considerat GRUB etapa (stage) 1. Aceasta etapa incarca urmatoarea etapa GRUB 1.5 care incearca sa identifice tipul de sistem de fisiere (optional) sau poate apela GRUB stage 2 direct. Etapa 2 incarca kernelul in memorie. In stagiul 1, GRUB trebuie sa caute MBR-ul pentru a cauta o partitie activa de pe care sa booteze. GRUB are propriul format pentru a cauta prin hard disk-uri, sintaxa fiind:

(xdn, [,m]) unde xd este drive-ul, n este numarul discului si m este numarul partitiei. 

Cand partitia primara este gasita, GRUB incarca kernel-ul (stagiu 2). Optiuni GRUB:

  • e - Editeaza comenzile inainte de bootare
  • a - Modifica sau adauga argumentele kernel-ului inainte de bootare.
  • c - Deschide linia comanda GRUB

Reparare MBR:

1. grub> find /grub/grub.conf (hd0,0) sau grub> root (hd0,0): Filesystem type is unknown, partition type 0x8e

2. grub> setup (hd0)

/etc/init/rc.conf - arata cum fiecare set de scripturi este apelat ntsysv - configureaza nivele de executie in mod grafic chkconfig - configureaza nivelele de executie in mod text

Unelte personale