Porniți sistemul pe un computer personal - înțelegeți funcționarea unix-sistemelor

Până în prezent, a fost descrisă procedura generală de încărcare. Acum, trebuie analizate în detaliu câteva etape importante (și complexe), analizând caracteristicile fiecăruia dintre sistemele de operare testate.







Și vom începe din nou cu faza de încărcare și de încărcare a kernel-ului. Pe un hardware tradițional UNIX, acesta este un proces simplu care merită doar câteva linii de descriere. Cu toate acestea, dacă sistemul este instalat pe un computer personal, atunci totul este mult mai complicat. Va trebui să oferim o mulțime de informații de fundal pentru a înțelege esența evenimentelor.

Dacă nu lucrați la un computer personal, mergeți direct la punctul 2.3.

Ce este un computer personal diferit de echipamentul de marcă

La pornirea computerului, codul scris în ROM începe să ruleze. Locația exactă și structura acesteia depind de tipul de echipament. În computerele proiectate special pentru UNIX, codul este "cusut" de către dezvoltator, care stabilește algoritmul pentru conectarea dispozitivelor, inițializarea rețelei de bază și recunoașterea sistemelor locale de fișiere. Acest lucru este foarte convenabil pentru administratorul de sistem. Este suficient să introduceți numele noului fișier kernel, iar codul ROM va detecta și citi automat acest fișier.

Codul BIOS încorporat știe despre unele dispozitive aflate pe placa de bază, în special despre controlerul IDE (și hard disk-urile), despre porturile tastaturii, serial și paralel. Și adaptoarele SCSI recunosc numai acele dispozitive conectate direct la ele. Identificarea conflictelor între diferite niveluri ale BIOS poate fi un adevărat coșmar. Cel mai dificil lucru de înțeles este modul în care are loc alegerea dispozitivului din care urmează să se facă descărcarea.

PC Boot Proces

În computerele moderne, programul BIOS este mai inteligent decât înainte. Acestea vă permit să intrați în modul de configurare în timpul fazei de pornire, ținând apăsat una sau două taste. În mod obișnuit, numele acestor taste sunt afișate pe ecran, astfel încât acestea nu trebuie să fie privite în documentație.

În modul de configurare, puteți alege de la ce dispozitiv doriți să bootați. De obicei, aceasta este o unitate de dischetă, prima unitate IDE CD-ROM sau prima hard disk IDE. Dorim să vă explicăm cum funcționează totul, dar, din păcate, acest lucru este imposibil, deoarece această etapă a procesului de încărcare este controlată de producătorii de calculatoare și de numeroasele lor programe BIOS. Ei își stabilesc propriile reguli ale jocului, cărora trebuie să le adere.

Când computerul determină dispozitivul de pornire, primii 512 octeți de pe disc sunt citiți. Acest segment al discului este cunoscut sub numele de înregistrare de boot master (GPZ). Acesta conține un program care îi spune computerului care partiție de disc conține programul de boot secundar (încărcător OS). Pentru mai multe informații despre partițiile de disc pe computerele personale și despre înregistrarea de boot master, vedeți Capitolul 8.

Programul GPG standard instruiește computerul să extragă încărcătorul de sistem de la prima partiție a discului. Linux și FreeBSD suportă programe mai complexe, care știu să lucreze cu mai multe sisteme de operare și kernel-uri.

Când programul GPZ găsește partiția din care va fi descărcată, va încerca să pornească programul de boot asociat acestei partiții. Dacă este reușit, acest program este delegat autorității pentru a porni în continuare nucleul.

LILO: Loader Linux

Încărcătorul LILO este incredibil de complex și, în același timp, teribil de proastă. Acesta susține multe caracteristici care nu sunt disponibile pentru alți încărcătoare, dar nu există unele proprietăți elementare.

Descărcătorul LILO este inclus în aproape toate distribuțiile Linux, inclusiv Red Hat. Când instalați pentru prima dată sistemul, script-urile de instalare creează o copie a LILO cu parametrii de boot standard. Cumva, este imposibil să influențezi acest proces. LILO nu este cu adevărat necesar să bootezi Linux, ci face parte din sistem. Va trebui să învățăm cum să iubim ...

LILO poate fi instalat în înregistrarea de boot master a discului sau în înregistrarea de boot a partiției rădăcină Linux. Configurarea și instalarea încărcătorului de boot se face folosind programul lilo. care extrage setările de configurare din fișierul /etc/lilo.conf. Pentru a modifica setările încărcătorului de boot, trebuie doar să editați acest fișier și să îl reluați din nou pe lilo. Această procedură trebuie efectuată ori de câte ori se schimbă procesul de încărcare - în special, de fiecare dată când se adaugă o nouă partiție de boot sau se creează un nou kernel.







Următoarele sunt conținutul fișierului lilo.conf pentru un sistem care are un kernel de lucru și standby:

boot = / dev / hda # plasați încărcătorul în GPZ

root = / dev / hda1 # setați partiția rădăcină

Pentru a încărca un nucleu de rezervă, introduceți eticheta acestuia în linia de prompt.

Modulul de boot FreeBSD este simplu și eficient. Acesta este împărțit în două părți: unul este în înregistrarea de boot master, iar al doilea este în partiția rădăcină FreeBSD. Ambele părți sunt instalate separat.

Încărcătorul primar de încărcare este instalat utilizând comanda boot0cfg. De exemplu, comanda

pune prima parte a încărcătorului în GPZ a primului IDE-disc al sistemului. Nu este, practic, nimic nu trebuie să fie schimbat (și mai des este pur și simplu imposibil de făcut.) În timpul modulul procesului de boot prin lista de unități disponibile (extrase din BIOS) și găsește secțiuni care, în opinia sa, sunt boot-abil. Lista secțiunilor este afișată sub forma unui meniu mic:

Pentru mai multe informații despre reglarea finală a încărcătorului primar de încărcare, consultați ghidul online pentru programul boot0cfg.

Cel de-al doilea modul este direct responsabil pentru încărcarea FreeBSD și permite utilizatorului să trimită parametri suplimentari la kernel. Modulul este instalat folosind comanda dicklabel -B. Programul Dicklabel este suficient de puternic: are multe opțiuni și suportă aproape toate unitățile de disc. Acesta este modul în care se numește de obicei:

# dicklabel -B / dev / wd0s1

Aici, încărcătorul secundar este scris în prima partiție a primului disc IDE.

Încărcătorul secundar extrage parametrii de configurare din următoarele fișiere:

Ultimul fișier conține setările implicite pentru încărcătorul de boot și nu trebuie modificat niciodată. Toate aceste setări pot fi suprascrise utilizând fișierele loader.conf și loader.conf.local. și, de asemenea, din linia de comandă la etapa de pornire a sistemului. Pentru informații despre parametrii bootloader-ului, consultați paginile manuale pentru boot (8) și loader (8).

Deoarece mai multe sisteme de operare pot funcționa pe un computer personal, situația este comună atunci când computerul este pornit în modul multisystem. Pentru a realiza acest lucru, trebuie să configurați corect modulul de boot, permițându-i să recunoască sistemele de operare pe discurile locale.

Probleme cu boot multisystem

Organizarea încărcării multi-sistem poate fi un proces dureros. Mai jos sunt informațiile care vă vor permite să salvați o mulțime de celule nervoase.

Când intenționați să instalați una dintre versiunile client Windows (95, 98 sau Me) pe un computer de boot multi-sistem, acest lucru trebuie făcut înainte de aceasta. Cum vor fi instalate alte sisteme. Aceste versiuni de Windows sunt prea proaste și nu presupun că orice alt sistem de operare poate fi instalat pe computer. Ele ocupă întotdeauna prima partiție a primului disc, suprascriind programele de boot existente în timpul procesului de instalare.

Pentru a face acest bootloader să recunoască partițiile UNIX, trebuie să instalați mai întâi UNIX și boot-ul de pe o dischetă sau un CD. Apoi, trebuie să citiți primii 512 octeți ai partiției UNIX (sectorul de boot al partiției) și să le scrieți într-un fișier. Puteți face acest lucru cu comanda dd. Iată un exemplu de utilizare a acestuia în Linux:

# dd dacă = / dev / hda2 din = linux.bin bs = 512 count = 1

Pentru mai multe informații despre structura fișierului boot.ini, consultați baza de cunoștințe online la support.microsoft.com.

Această acțiune trebuie efectuată înainte ca bootloaderul secundar să fie scris în fișier și să fie copiat în partiția NT. De fapt, întregul proces trebuie repetat de fiecare dată când trebuie să reporniți programul lolo.

Configurația multi-sistem LILO

Dacă LILO este încărcătorul principal (de exemplu, Linux și Windows 98 sunt instalate pe calculatorul dvs.), începeți cu procesul de configurare standard LILO descris mai sus. Apoi, dacă este necesar, puteți adăuga intrări pentru alte sisteme de operare în fișierul /etc/lilo.conf.

Acesta este modul în care va apărea intrarea pentru încărcarea Windows din prima secțiune a primului disc IDE:

Mai jos este textul integral al fișierului lilo.conf pentru cazul în care Windows pornește din prima partiție, Linux din cea de-a doua partiție și FreeBSD din al treilea:

boot = / dev / hda # pune încărcătorul de boot în GPZ-ul primului disc IDE

întârziere = 20 de întârziere de 2 secunde, permițând utilizatorului să intervină

default = linux # boot Linux în mod implicit din a doua partiție

image = / dev / hda1 # boot Windows din prima partiție

image = / dev / hda3 # descărcați FreeBSD din cea de-a treia partiție

După modificarea fișierului lilo.conf, programul lilo trebuie să fie apelat din nou. Nu uitați să o executați în mod test cu opțiunea -t.

Configurarea multisystem a FreeBSD

Încărcătorul de boot FreeBSD încearcă întotdeauna să detecteze partițiile de boot. Dar îi puteți spune despre ele folosind opțiunea de mascare a programului boot0cfg. Parametrul mască conține o mască de partiție bitmask, de unde doriți să bootați. Prima secțiune este reprezentată de codul binar 0001 (echivalent hexazecimal - 0x1), a doua secțiune cu codul 0010 (echivalent cu 0x2), etc. De exemplu, comanda

# boot0cfg -B -m 0x7

instalează încărcătorul primar și spune că partițiile 1, 2 și 3 pot fi descărcate (0x7 = 0111). În timpul descărcării, pe ecran va apărea un meniu cu trei elemente - câte unul pentru fiecare secțiune.

Vulnerabilitate în Apache CouchDB, permițând atacarea registrului de pachete NPM

Linux a înlocuit restul sistemului de operare din clasamentul supercomputerelor Top500

Eliberarea mediului de dezvoltare a aplicațiilor KDevelop 5.2

Eliberarea mediului de programare integrat KDevelop 5.2, care sprijină pe deplin procesul de dezvoltare pentru KDE 5, inclusiv folosind Clang ca compilator. Codul proiectului.

Eliberarea Firefox 57 cu un motor CSS multi-threaded și un design nou

Descărcarea browserului web Firefox 57, precum și a versiunii mobile a Firefox 57 pentru platforma Android. Firefox 57 este una dintre cele mai importante probleme din istoria proiectului. În noua versiune.







Articole similare

Trimiteți-le prietenilor: