UEFI - ce este? Descărcare, instalare, avantaje, caracteristici de configurare. UEFI Boot - ce este?

Majoritatea utilizatorilor și-au actualizat computerele: au achiziționat noi unități de sistem, plăci de bază sau laptop-uri în ultimii patru ani.

Lucrul remarcabil la noile mașini este că sistemul de intrare/ieșire învechit nu mai este utilizat, iar un firmware îmbunătățit numit UEFI i-a luat locul.

Are un număr mare de avantaje față de BIOS, pe care le vom lua în considerare astăzi.

Să-l privim mai detaliat: vom afla ce este și de ce utilizatorilor nu le place atât de mult.

Evoluția software-ului de sistem

De mai bine de două decenii, BIOS-ul a fost folosit ca software de nivel scăzut folosit la pornirea unui computer pentru a-și testa hardware-ul și a transfera controlul hardware-ului pe cel principal, care selectează și lansează bootloader-ul sistemului de operare dorit.

Cu ajutorul acestuia, utilizatorii pot gestiona un număr mare de parametri ai componentelor hardware.

CMOS– un element electronic cu alimentare independentă sub formă de baterie, unde este stocată întreaga configurație curentă a calculatorului.

BIOS-ul a apărut la sfârșitul anilor 80. Da, a fost îmbunătățit și actualizat în mod regulat, modificat pentru a se potrivi nevoilor utilizatorilor și dezvoltatorilor, oferindu-le posibilitatea de a controla modurile de funcționare a echipamentelor și alimentarea cu energie, dar totul se termină. Mai mult, sistemul de intrare/ieșire este componenta care a suferit cele mai puține modificări în aproape trei decenii în domeniul tehnologiei informației.

BIOS-ul are multe dezavantaje:

  • nu acceptă pornirea de pe hard disk-uri mai mari de 2 TB– ați cumpărat un hard disk nou de 3 sau 4 TB, dar nu veți putea instala un sistem de operare pe el, aceasta este o limitare tehnologică a recordului de boot master (nimeni în anii 80 nici măcar nu credea că HDD-urile ar putea fi de dimensiune atât de incredibilă);
  • BIOS-ul funcționează în modul pe 16 biți(în ciuda faptului că practic toate procesoarele moderne sunt pe 64 și 32 de biți) folosind doar 1024 KB de memorie;
  • procesul de inițializare simultană a mai multor dispozitive este acceptat, dar este foarte nedepanat și problematic, ceea ce reduce viteza de pornire a computerului (fiecare componentă hardware și interfață este inițializată separat);
  • BIOS-ul este un paradis pentru pirați– nu are niciun mecanism de securitate, care vă permite să încărcați orice sisteme de operare și drivere, inclusiv cele cu cod modificat și cele nesemnate (fără licență).

Prima versiune a UEFI a fost dezvoltată de Intel pentru Itanium, dar ulterior a fost portată pe computerul IBM.

Acesta este un sistem de operare independent cu o interfață grafică, format din multe module și având acces nelimitat la resursele componentelor hardware.

Caracteristici ale noului EFI cu GUI:

  • codul său este scris în întregime în , ceea ce vă permite să creșteți performanța în timpul pornirii computerului prin valorificarea capacităților procesoarelor centrale pe 64 de biți;
  • spațiul de adrese al sistemului de operare este suficient pentru a suporta 8 * 10 18 octeți de spațiu pe disc (această rezervă va fi suficientă pentru câteva decenii), în ciuda faptului că întregul volum de informații digitale este în prezent cu aproape trei ordine de mărime mai mic;
  • Adresarea RAM - calculele teoretice arată că UEFI vă va permite să instalați până la 16 exaocteți de RAM (cu 9 ordine de mărime mai mult decât în ​​PC-urile moderne puternice);
  • încărcarea accelerată a sistemului de operare se realizează datorită inițializării paralele a componentelor hardware și încărcării driverelor;
  • driverele sunt încărcate în RAM înainte de pornirea sistemului de operare și nu depind de platformă;
  • în loc de vechea schemă de partiționare, se folosește GPT progresiv, dar pentru ao folosi va trebui să ;
  • Carcasa grafică convenabilă și atractivă acceptă controlul mouse-ului;
  • există utilitare încorporate pentru diagnosticare, modificări de configurare și actualizări de firmware ale componentelor hardware;
  • suport pentru macrocomenzi în format .nsh;
  • arhitectură modulară - vă permite să vă încărcați propriile drivere sau descărcate de pe Internet;
  • Una dintre cele mai semnificative și importante schimbări (în special pentru Microsoft) pe care UEFI le-a adus este prezența . Este conceput pentru a proteja Bootloader-ul de executarea de cod rău intenționat, pentru a proteja sistemul de operare de viruși chiar înainte de a porni prin utilizarea semnăturilor digitale.

Să vorbim mai detaliat despre ultima funcție.

Încărcare sigură

Numele tehnologiei se traduce prin „pornire sigură” și este un protocol care face parte din specificația grafică EFI.

Fig. 4 - Verificarea modului de operare Secure Boot prin linia de comandă în Windows 10

Specificație UEFI(Unified Extensible Firmware Interface, Unified Extensible Firmware Interface sau Extensible Firmware Interface), cunoscută anterior ca Extensible Firmware Interface (EFI), definește interfața dintre sistemul de operare și microcodul(ele) care controlează hardware-ul. Cu alte cuvinte, UEFI este o interfață care se află „pe deasupra” componentelor hardware ale computerului, care, la rândul lor, funcționează pe propriul firmware (microcod).

În numele UEFI însuși, definiția „interfeței extensibile” sugerează că este un sistem modular care poate fi extins și actualizat cu ușurință funcțional.

Pentru mai multa intelegere, UEFIÎn comparație cu BIOS, acesta este, în linii mari, un nou tip sau următoarea generație de firmware și nu se mai limitează doar la computerele personale x86 (PC-uri IBM), ci se pretinde și a fi un standard pentru toate platformele. Cu toate acestea, spre deosebire de BIOS, UEFI se bazează pe o topologie de cod fundamental nouă numită „pe bază de driver”.

  • Scopul principal al EFI este de a înlocui tehnologia BIOS îmbătrânită (pierderea relevanței) și limitările asociate acesteia.
  • Scopul principal al dezvoltării UEFI este de a standardiza interacțiunea sistemului de operare cu firmware-ul platformei în timpul procesului de pornire. În BIOS-ul clasic, întreruperile software și porturile I/O erau mecanismul principal de interacțiune cu hardware-ul în timpul fazei de pornire, dar sistemele moderne sunt capabile să ofere operațiuni I/O mai eficiente între hardware și software.
  • Sarcina principală a EFI este să inițialeze corect hardware-ul și să transfere controlul la încărcătorul sistemului de operare. În acest sens, sarcina nu este foarte diferită de sarcina unui BIOS tradițional, dar algoritmii sunt fundamental diferiți.

UEFI poate fi numit în siguranță un sistem de operare miniatural independent, care este o interfață între sistemul de operare principal al utilizatorului care rulează pe computer și microcodul hardware.

Să facem acum o scurtă excursie în istoria computerelor personale pentru a înțelege motivele care au condus la încercările de a înlocui BIOS-ul standard cu ceva fundamental nou.

BIOS vechi bun

Principiile de bază ale funcționării BIOS-ului (sistem de intrare-ieșire de bază) pentru computerele personale au fost definite încă de la sfârșitul anilor 70 ai secolului trecut. Pe o perioadă destul de lungă de timp care a trecut de atunci, industria calculatoarelor s-a dezvoltat rapid, ceea ce a dus la faptul că la anumite etape capabilitățile BIOS nu erau suficiente, deoarece dispozitivele produse de producători aveau la bord noi tehnologii, adesea incompatibile. cu versiunile actuale de BIOS. Pentru a evita astfel de probleme, dezvoltatorii au trebuit uneori să modifice semnificativ codul BIOS, dar o serie de restricții au rămas neschimbate până în prezent. Și, dacă inițial arhitectura BIOS a fost destul de simplă, apoi în timp a devenit mai complexă, adaptându-se la tot mai multe tehnologii noi, prin urmare, la un moment dat, a început să semene cu o grămadă de diferite tipuri de cod învechit și care interacționează prost. Limitările care se găsesc și astăzi în codul BIOS se explică prin necesitatea de a menține compatibilitatea cu funcțiile de bază necesare funcționării software-ului mai vechi. Toate acestea au dus la faptul că BIOS-ul a devenit în esență cea mai învechită componentă a PC-urilor moderne. În acest moment, BIOS-ul nu îndeplinește cerințele celor mai noi echipamente și are următoarele dezavantaje:

  1. Cod pe 16 biți, mod real. BIOS-ul este scris în limbaj de asamblare și funcționează pe cod de 16 biți în modul real al procesorului, cu limitările sale inerente, dintre care cea mai semnificativă este limitarea spațiului de adrese de memorie de 1 Megaoctet.
  2. Lipsa accesului la hardware pe 64 de biți. BIOS-ul nu este capabil să interacționeze direct cu hardware-ul pe 64 de biți care domină în prezent piața.
  3. Lipsa unui standard uniform. Nu există o specificație unică pentru BIOS - fiecare producător oferă propriile variații de implementare.
  4. Complexitatea dezvoltării. Problema este că pentru aproape fiecare model nou de placă de bază, producătorul dezvoltă propria versiune a BIOS-ului, care implementează caracteristicile tehnice unice ale acestui dispozitiv: interacțiunea cu modulele chipset-ului, echipamentele periferice etc. Dezvoltarea BIOS-ului poate fi împărțită în două etape. În prima etapă, se creează o versiune de bază a firmware-ului, care implementează acele funcții care nu depind de specificul echipamentului. Dezvoltatorii unui astfel de cod sunt bine cunoscuți, acestea sunt companii precum American Megatrends (AMIBIOS), Phoenix Technologies (+ legendarul Award Software (AwardBIOS) achiziționat de acesta) și altele. În a doua etapă, programatorii de la producătorul plăcii de bază sunt implicați în dezvoltarea BIOS-ului. Aici ansamblul de bază este modificat pentru a se potrivi cu specificul fiecărui model de placă specific, sunt luate în considerare caracteristicile acestuia. După ce placa de bază intră pe piață, lucrările la firmware continuă, se lansează în mod regulat actualizări care remediază erorile, adaugă suport pentru hardware nou (de exemplu, procesoare) și uneori chiar extind funcționalitatea firmware-ului.

Toate acestea, precum și unele altele, deficiențele modelului tradițional BIOS au dus la faptul că o coaliție de producători de hardware și software a început să lucreze la crearea specificației UEFI. Începând, conform propriilor mele observații, în jurul anului 2010, specificația UEFI a început să fie introdusă masiv în toate plăcile de bază nou lansate de la producători de top, așa că în acest moment este aproape imposibil să găsești un nou computer cu un BIOS tradițional. Cu toate acestea, nu ar trebui să fiți prea supărați de acest lucru, deoarece mulți producători mențin compatibilitatea cu funcționalitatea BIOS-ului tradițional de pe plăcile lor de bază. De exemplu, suportul pentru modul de pornire tradițional folosind MBR este un punct foarte important. În acest scop, a fost dezvoltat un modul pentru modul de emulare UEFI BIOS, care se numește Compatibility Support Module (CSM). Adevărat, cred că în timp, din ce în ce mai puțini producători vor suporta acest mod în firmware-ul lor.

Beneficiile UEFI

Aici aș dori să definesc avantajele interfeței UEFI:

  1. Suport pentru medii de stocare mari (discuri). UEFI își datorează suportul pentru discuri mari unui nou standard de tabel de partiții numit GPT (GUID Partition Table). Metoda tradițională de pornire a BIOS a folosit sectorul de pornire Master Boot Record (MBR), care conținea un tabel de partiții care descria amplasarea partițiilor de disc. Intrările din tabelul de partiții din MBR au un dezavantaj semnificativ: numărul primului sector de la începutul partiției în format LBA (offset 08h de la începutul intrării partiției) are o lățime de numai 4 octeți (32 de biți), respectiv , doar 4 miliarde de sectoare pot fi abordate. Și aceasta, cu dimensiunea sectorului „clasic” de 512 octeți, este doar ~ 2 terabytes spațiu pe disc. UEFI, folosind GPT, face posibilă adresarea discurilor de până la 18 exaocteți.
  2. Suport direct pentru sisteme de fișiere și tabele de partiții. UEFI are module pentru suportarea sistemelor de fișiere și a tabelelor de partiții, adică poate funcționa atât cu tabelele de partiții, cât și cu sistemele de fișiere direct. Specificația implică suport pentru tabelul de partiții GPT, sistemele de fișiere FAT12, FAT16, FAT32 pe hard disk și sistemul de fișiere ISO9660 pe unitățile CD/DVD. Acest lucru ne scutește de a trebui să scriem cod de bootstrap (similar cu MBR), care va încărca bootloadere de diferite etape într-un lanț.
  3. Fără alte restricții MBR tradiționale. De exemplu, nu mai trebuie să stoarceți codul de bootstrap într-un sector mic de 512 de octeți. Vă puteți concentra pe scrierea unui singur modul de încărcare care va combina toate etapele necesare.
  4. Drivere hardware independente de platformă. UEFI are acces la hardware-ul computerului prin drivere independente de platformă. Producătorul dispozitivului trebuie să scrie o singură versiune a driverului pentru toate platformele (x86, ARM, Itanium, Alpha), iar acest lucru simplifică foarte mult dezvoltarea și accelerează procesul de identificare a erorilor. Specificația UEFI descrie interacțiunea driverelor UEFI cu sistemul de operare, astfel, în cazul în care sistemul de operare nu are un driver, de exemplu, o placă video, dar în UEFI este prezent, încărcat și funcțional, sistemul de operare are capacitatea de a scoate date către monitor utilizând interfețe UEFI standard.
  5. Suport pentru stiva de protocoale TCP: IPv4/IPv6. Vă permite să utilizați capabilități bogate de rețea direct din interfața UEFI. Acum puteți dezvolta diverse descărcări folosind protocoalele http/ftp; o descărcare vine imediat în minte care indică adresa URL în care se află un modul EFI obișnuit sau o imagine ISO cu drepturi depline. A devenit posibil să ocoliți ceea ce a devenit deja singura opțiune posibilă, încărcarea prin rețea folosind PXE/TFTP. Unele, în special implementările avansate, pot implementa suport pentru PXE peste IPv6.
  6. Suport pentru modelul tradițional BIOS. UEFI nu necesită un BIOS clasic, dar mulți producători încorporează codul de emulare BIOS pentru a suporta sisteme de operare mai vechi. Acest modul se numește Compatibility Support Module (CSM). CSM include un modul de 16 biți (CSM16) implementat de producătorul BIOS și un strat care leagă CSM16 de instrumentație (interfață și hardware). Compatibilitatea presupune suport pentru bootarea prin MBR și suport la nivel de cod pentru întreruperi software (int 10h - serviciu video, int 13h - serviciu disc, int 15h - funcții de service, int 16h - serviciu tastatură, int 18h - serviciu ROM-BASIC, int 19h - serviciu de încărcare bootstrap). Prin urmare, acele sisteme de operare și software care aveau nevoie de vechiul BIOS pentru a funcționa ca aerul pot funcționa cu ușurință pe mașini cu UEFI.
  7. Interfață UEFI intuitivă. Așa-numita „ușurință de control”. Acesta este un punct destul de controversat; este imposibil să îl clasificați fără echivoc drept plus sau minus. Se presupune că gestionarea BIOS-ului nu a fost intuitivă, prezentând o interfață text ascetică, slab documentată, pe care doar un utilizator priceput la computer o putea înțelege. În schimb, multe shell-uri UEFI acceptă o interfață grafică și un mouse, care pur și simplu nu sunt implementate în majoritatea BIOS-urilor. Cu toate acestea, dacă memoria îmi servește corect, în anii 90 am observat încercări de implementare a suportului mouse-ului în BIOS de la (cred) Phoenix. Interfața în sine poate fi grafică, în opinia unora - mai prietenoasă și intuitivă pentru majoritatea, dar poate fi și tradițională, adică similară unui text clasic, totul depinde de preferințele dezvoltatorului și de poziționare. a echipamentului. Este posibil să accepte mai multe limbi.
  8. Viteza UEFI. Se pretinde că codul UEFI rulează mai repede decât codul tradițional BIOS (deși este scris în C), datorită faptului că este scris în întregime „de la zero”, fără a fi nevoie să „trageți” un tren de cod învechit către suportă diverse hardware non-standard și diverse anacronisme logice.
  9. Viteza de încărcare a sistemului de operare. Se pretinde că pornirea cu UEFI este semnificativ mai rapidă. Acest lucru se realizează prin paralelizarea inițializării dispozitivelor, spre deosebire de BIOS-ul, care a inițializat echipamentul în mod secvențial, precum și prin reducerea timpului de pornire din cauza absenței necesității de a căuta bootloader-ul prin enumerarea tuturor dispozitivelor (bootloader-ul este specificat în UEFI și sunat direct). Înclin să cred asta, deoarece nu pot confirma sau infirma momentan. Totuși, dacă măsori cât timp durează vechiul meu aparat pe un Celeron 450/GA-G31M-ES2L cu un SSD din momentul în care este pornit până când apare fereastra de autorizare pentru Windows XP optimizat, va fi doar 23 secunde. Acest lucru probabil nu va fi suficient pentru anumite categorii de dispozitive.
  10. UEFI este un mini OS. Puteți, desigur, să numiți UEFI un sistem de operare în miniatură, iar acest lucru, în parte, va fi corect, dar mai corect ar fi să îl considerați o platformă virtuală care oferă interfețe echipamentelor. Puteți lucra doar în consolă sau puteți scrie o interfață grafică completă. UEFI, dacă există module cu funcționalitatea necesară, poate, de exemplu, ajuta la înțelegerea problemelor de încărcare a sistemului de operare principal sau poate efectua alte funcții de serviciu.
  11. Module software suplimentare. Imediat înainte de a încărca sistemul de operare de pe mediul UEFI, vă permite să lansați propriile module și drivere UEFI în scopuri generale: pentru lucrul cu rețeaua, disc (arhivare/backup/antivirus), configurarea parametrilor, testarea echipamentelor. Evident, odată cu popularizarea standardului, lista aplicațiilor UEFI se va extinde doar. În zilele noastre, puteți chiar să scrieți un joc cu drepturi depline, să vă dezvoltați propria consolă pentru nevoile de service sub forma unui modul UEFI separat (exemplu: shell.efi), un browser de internet, să puteți lucra cu date media (vizionarea de filme, ascultarea muzicii). ) și organizați copii de siguranță ale discului.
  12. UEFI conține un manager de descărcare încorporat. Adică, implementează propriul încărcător de cod al sistemului de operare, care este foarte funcțional și poate acționa ca un analog al încărcărilor multiple ale mai multor sisteme de operare familiare nouă din trecutul nu atât de îndepărtat.
  13. Dimensiunea blocului I/O.În UEFI, la citire, se folosește o dimensiune specială a blocului EFI I/O, care permite citirea a 1 MB de date (în BIOS limita este de 64 KB).
  14. Siguranță. Se presupune că UEFI este protejat de codul rău intenționat în timpul fazei de pornire. Se presupune că codul rău intenționat nu se poate încărca înainte de pornirea sistemului de operare, preluând astfel controlul. Acest lucru se realizează atât prin semnarea totul în firmware-ul în sine, cât și printr-o procedură de pornire securizată numită „Secure Boot”.
  15. Funcționalitate ușor de scalat. Firmware-ul UEFI poate fi extins cu ușurință - trebuie doar să introduceți o unitate acceptată (de exemplu, o unitate flash USB). După aceasta, puteți conecta drivere suplimentare și aplicații UEFI de pe un dispozitiv extern. Dacă vă gândiți bine, acest lucru deschide oportunități mari de extindere a funcționalității care nu ar putea fi obținute folosind un BIOS tradițional, deoarece era limitat doar de codul conectat în ROM. În UEFI, puteți „strecura” driverul unei noi piese hardware direct în stadiul de operare UEFI, adică înainte ca sistemul de operare să înceapă să se încarce și să obțineți acces la funcționalitatea acestui dispozitiv.
  16. Codul UEFI funcționează în modul 32/64 de biți. Cu toate... avantajele care decurg. Pentru a fi complet sincer, UEFI încă folosește modul real la început pentru a efectua unele sarcini de inițializare a platformei, dar intră foarte repede în modul protejat/lung.
  17. Suport pentru mijloace alternative de introducere. UEFI oferă suport pentru medii de intrare alternative, cum ar fi tastaturi virtuale și ecrane tactile. Acest lucru este destul de relevant în era noastră a diverselor gadgeturi mobile.

Dezavantajele UEFI

Și acum aș dori să subliniez dezavantajele tehnologiei UEFI:

  1. Creșterea complexității arhitecturii. Toate avantajele EFI nu sunt atât de semnificative în comparație cu principalul său dezavantaj - complicația structurii codului. O creștere semnificativă a volumului de cod și complicația sa logică nu contribuie în niciun fel la ușurarea dezvoltării, dimpotrivă. Dar înainte și în paralel cu UEFI, au existat implementări deschise ca alternativă la modelul BIOS învechit, de exemplu OpenBIOS, care au fost respinse.
  2. Încărcare sigură. Aici, dezvoltatorii de sisteme de operare au rezolvat mai multe probleme deodată: parțial problema pirateriei, eliminarea ocolirii activării prin introducerea activatorilor în etapele de pornire, problema codului rău intenționat (virușii) din etapa de pornire și problema sistemelor de operare învechite. care rămân populare, pe care utilizatorii nu vor să-l părăsească :) De fapt, s-a dovedit că în unele dispozitive în special inteligente, datorită prezenței opțiunii „Secure Boot” care nu poate fi dezactivată, este adesea imposibil să instalați orice sistem de operare. altele decât sistemele Windows versiunea 8+, deoarece doar acestea din urmă au încărcătoare de boot certificate în acest moment. De acord, pare un mod destul de stângaci de a trata utilizatorii și concurenții zgârciți, deși Microsoft însuși neagă cu tărie o astfel de situație. Într-un cuvânt, tehnologia poate provoca multe neplăceri, dar cel puțin majoritatea vânzătorilor au această opțiune (deocamdată) dezactivată în setări.
  3. Incapacitatea de a instala sisteme de operare mai vechi (în unele cazuri). Nu este posibil să instalați sisteme mai vechi fără Modul de compatibilitate (CSM).
  4. Abatere de la standard. Fiecare producător de componente hardware modifică UEFI la propria discreție, creând astfel dificultăți suplimentare pentru utilizator, în mod esențial întorcându-ne în haosul BIOS-ului? De exemplu, pe diferite dispozitive, managerul de boot poate fi implementat diferit și, în același timp, are abateri destul de semnificative de la recomandările specificației UEFI. În practică, uneori am întâlnit UEFI-uri cu erori care ignorau parametrii listei de pornire a NVRAM și încărcau pur și simplu codul din \EFI\Microsoft\Boot\bootmgfw.efi sau EFI/BOOT/bootx64.efi . Sau managerul de pornire în unele implementări poate conține o listă combinată de dispozitive MBR și GPT, în timp ce în altele există liste de pornire diferite, ceea ce introduce o oarecare confuzie.
  5. Implementarea instrumentelor de control al conținutului. Standardul UEFI prevede prezența anumitor drivere care vor intercepta apelurile către sistemul de operare, astfel încât să poată fi implementat DRM (Digital Restrictions Management, mijloace tehnice de protecție a drepturilor de autor). Esența algoritmului este următoarea: unei persoane pentru care totul funcționează i se oferă, pe cheltuiala sa, să instaleze un astfel de software sau echipament astfel încât unele dintre funcțiile din sistemele sale de lucru pentru reproducerea conținutului digital (calculatoare, playere multimedia etc.) .) nu mai funcționează în mod obișnuit. Există temeri rezonabile că crearea UEFI este o modalitate voalată de a introduce funcții nedorite pentru utilizatorul final într-un computer.
  6. Posibilitatea introducerii modulelor nedorite. Este imposibil să garantezi că sistemul de operare are control 100% asupra computerului dacă pornește folosind UEFI!

Algoritm de operare UEFI

În timpul dezvoltării UEFI, dezvoltatorul, de la bun început, a stabilit limite stricte pentru fiecare proces implicat în execuție. Primele trei faze (SEC, PEI, DXE) pregătesc platforma pentru bootloader-ul OS, a patra fază (BDS) încarcă direct bootloader-ul OS. Să încercăm să analizăm algoritmul de operare UEFI și să aruncăm o privire mai atentă asupra tuturor fazelor sale.

  • faza SEC. (Siguranta de securitate). Faza de securitate. Totul trebuie semnat și verificat altfel nu va rula!
    • Stergerea memoriei cache a procesorului.
    • Rularea procedurii principale de inițializare în ROM.
    • Trecerea la modul protejat de funcționare a procesorului.
    • MTRR-urile (Registrele de interval de tip de memorie) pentru BSP sunt inițializate.
    • Rulați corecții de microcod pentru toate procesoarele instalate.
    • Noțiuni introductive cu BSP/AP. BSP = Board Support Package. AP = Procesor de aplicații. Fiecare nucleu poate fi reprezentat ca un BSP + AP. IIPI (Init Inter-processor Interrupt) este trimis la toate AP-urile, apoi SIPI (Start-up Inter-processor Interrupt).
    • Transfer de date și control în faza PEI.
  • faza PEI. (Pre-EFI Initialization, Pre-EFI Initialization). Pregătiți platforma (memorie și dispozitive descoperite) pentru procedura principală de inițializare a sistemului în faza DXE.
    • Transferarea datelor din ROM în cache.
    • Inițializarea CRTM (Core Root for Trust of Measurement). Acesta este un set de instrucțiuni care este executat de platformă în timpul operațiunilor RTM.
    • Managerul PEI se încarcă. Dispeceratul încarcă o serie de module (PEIM) care variază în funcție de platformă. Aceste module completează sarcinile PEI rămase. Etapa se termină când toate modulele sunt încărcate.
    • PEIM: Modulele de inițializare a procesorului sunt încărcate și lansate. (exemplu: modulul cache al procesorului, modulul de selecție a frecvenței procesorului). Procesoarele sunt inițializate.
    • PEIM: Interfețele încorporate în platformă sunt inițializate (SMBus). MCH (Memory Controller Hub), ICH (I/O Controller Hub) sunt inițializate.
    • PEIM: inițializare memorie. Inițializarea memoriei principale și transferul datelor din cache în ea.
    • Se verifică modul S3. Nu - transferul controlului în faza DXE. Da - restabiliți starea inițială a procesorului și a tuturor dispozitivelor și treceți la sistemul de operare.
  • faza DXE. (Mediu de execuție a driverului, mediu de încărcare a driverului). Încărcarea componentelor în această fază se bazează pe resurse care au fost inițializate în faza PEI. Faza finală de inițializare pentru toate dispozitivele. Pornirea serviciilor UEFI: Servicii de pornire, Servicii de rulare și Servicii DXE.
    • Nucleul DXE este încărcat. Este creată infrastructura DXE: sunt create structurile de date necesare și o bază de date cu handle. Include interfețe DXE de bază. Lansează o serie de servicii: Servicii de pornire, Servicii de rulare, Servicii DXE.
    • Lansarea DXE Manager. Folosind structura Hand-off Block (lista HOB) transferată din PEI, determină Volumul Firmware disponibil (FV, o bază de date structurată de module executabile DXE: drivere și aplicații) și caută drivere în acestea, le lansează, observând dependențe. În acest moment, componentele rămase sunt activate, mai multe în același timp. Managerul încarcă toate driverele disponibile de pe toate mediile disponibile.
    • Se încarcă driverul SMM Init. Inițiază o subfază. SMM (System management mode) este unul dintre modurile de execuție a codului privilegiate ale unui procesor x86, în care procesorul comută la un spațiu de adrese independent, salvează contextul sarcinii curente, apoi execută codul necesar, apoi revine la modul principal. De ce avem nevoie de SMM? Dar pentru că în acest mod puteți face orice doriți cu sistemul, indiferent de sistemul de operare. Codul SMM poate fi executat după ce faza DXE s-a încheiat.
    • UEFI Boot Manager pornește. Acest lucru se întâmplă după ce toți șoferii au pornit. Controlul este transferat în faza BDS.
  • faza BDS. (Selectare dispozitiv de pornire). Implementează politica de încărcare a platformei. Sarcina principală este să conectați dispozitivele necesare pentru pornire, să selectați (manual sau automat) dispozitivul de pornire și să porniți de pe acesta. Adesea, efectuează o căutare recursivă prin toate FV-urile disponibile și încearcă să găsească conținut disponibil pentru descărcare.
    • Dispozitivele de consolă sunt inițializate, descrise de variabilele de mediu ConOut (ConsoleOutHandle), ConIn (ConsoleInHandle), StdErr (StandardErrorHandle).
    • Driverele de dispozitiv UEFI listate în variabila de mediu DriverOrder (conținând opțiunile Driver#### în ordinea de pornire) sunt încărcate.
    • Aplicația UEFI este încărcată de pe dispozitivul de pornire Boot####. Listele de dispozitive sunt conținute în variabila de mediu BootOrder în ordinea de pornire.
    • Dacă nu am reușit să facem oricare dintre cele de mai sus, atunci sunați managerul DXE pentru a verifica dacă au fost furnizate dependențele driverelor suplimentare de la ultima dată când a fost apelat managerul. După care controlul revine din nou la faza BDS.

Algoritmul de operare UEFI Boot Manager

Conceptul de boot UEFI este semnificativ diferit de conceptul de boot BIOS. Dacă vă amintiți BIOS-ul, codul de bootstrap int 19h (bootstrap loader) era responsabil pentru încărcarea acolo, a cărui sarcină era doar să încărcați înregistrarea principală de boot (MBR) de pe dispozitivul de pornire în memorie și să transfere controlul către acesta. În UEFI, totul este ceva mai interesant; conține propriul încărcător de pornire încorporat, care se numește UEFI Boot Manager (UEFI Boot Manager sau pur și simplu Boot Manager), care are o funcționalitate mult mai bogată.

UEFI Boot Manager este un modul UEFI generic standard.

Boot Manager implementează o gamă destul de largă de funcții, care includ încărcarea imaginilor UEFI, cum ar fi: încărcătoare de sistem de operare UEFI de primă etapă, drivere UEFI, aplicații UEFI. Pornirea se poate face de pe orice imagine UEFI aflată pe orice sistem de fișiere acceptat de UEFI situat pe orice mediu de stocare fizic acceptat de platformă. UEFI Boot Manager are propria sa configurație, ai cărei parametri sunt localizați sub forma unui număr de variabile într-o NVRAM comună (RAM non-volatile).

EFI NVRAM este o zonă de memorie partajată concepută pentru a stoca parametrii de configurare UEFI, disponibilă pentru utilizare de către dezvoltatorii de firmware, producătorii de hardware, dezvoltatorii de sisteme de operare și utilizatorii.

Parametrii UEFI sunt stocați în NVRAM ca variabile, care sunt reprezentați în mod clasic de perechea „nume parametru” = „valoare”. Aceste variabile conțin un număr mare de parametri care se referă la diferite părți funcționale ale UEFI, adică, pe lângă parametrii UEFI Boot Manager, NVRAM stochează mulți alți parametri UEFI.Totuși, în contextul acestui capitol ne interesează doar variabile legate de UEFI Boot Manager Aceasta este în primul rând variabila BootOrder, care indică variabilele descriptor de pornire numite Boot#### Fiecare element Boot#### este un pointer către un dispozitiv fizic și (opțional) poate chiar descrie un fișier reprezentând o imagine UEFI, care ar trebui să pornească de pe acest dispozitiv fizic.

Toate dispozitivele de pornire sunt descrise ca o cale completă, adică conțin un nume care poate fi citit al fișierului de pornire, astfel încât să poată fi adăugate la meniul de pornire.

Cam așa îmi imaginez algoritmul pentru enumerarea media în timpul funcționării UEFI:

După cum putem vedea, UEFI Boot Manager analizează BootOrder , adică încarcă calea dispozitivului pentru fiecare element Boot#### în ordinea specificată în variabila BootOrder și încearcă să pornească de pe dispozitivul specificat. Dacă există o eroare, managerul de boot trece la următorul element. În plus, este generată o așa-numită listă de descărcare. Această listă este relevantă pentru interfața de setări UEFI și arată ca meniul de pornire standard familiar. Lista de pornire UEFI este generată pe baza variabilei BootOrder și este utilizată pentru a permite utilizatorului să facă modificări în ordinea și configurația dispozitivelor de pornire.
Cum se formează BootOrder în sine? Și este foarte simplu, de exemplu, în timpul instalării sistemului de operare Windows, instalatorul creează o partiție ESP (dacă nu există) pe discul de instalare, formatează această partiție în sistemul de fișiere FAT, apoi plasează încărcătorul său de pornire ( pentru Windows 7+ acesta este fișierul bootmgfw.efi) și alte câteva fișiere de-a lungul căii \EFI\Microsoft\Boot\ . Odată ce instalarea sistemului de operare este finalizată, programul de instalare Windows creează o variabilă în EFI NVRAM numită Boot#### (unde #### este un număr hexazecimal) care face referire la managerul de boot Windows numit bootmgfw.efi . Apoi, setează variabila BootOrder?

Cerințe pentru mediile de pornire UEFI

Specificația UEFI, printre altele, descrie anumite cerințe pentru regulile de plasare a partițiilor și încărcătoarelor de încărcare pe medii. Și pentru diferite clase de dispozitive, așa cum vom vedea mai târziu, acestea diferă semnificativ.

Cerințe pentru hard disk

Fiecare hard disk bootabil trebuie să conțină o partiție de sistem EFI (ESP) specială. Partiția ESP trebuie să adere la ierarhia (structura) directorului predefinită de standard: directorul /EFI trebuie să fie situat la rădăcina partiției ESP. Dosarul /EFI, la rândul său, ar trebui să conțină subdirectoare ale furnizorilor de sisteme de operare, producătorilor de hardware, instrumente generale și drivere:

\EFI\<директория вендора ОС 1> <файл-загрузчик-ОС1>.efi\<директория вендора ОС 2> <файл-загрузчик-ОС2>.efi. . . \<директория вендора ОС N> <файл-загрузчик-ОСN>.efi\<директория производителя оборудования (OEM)> .efi\<директория BIOS вендора> <приложение-BIOS-вендора>.efi\<директория вендора стороннего ПО> <стороннее-приложение>.efi \BOOT BOOT(tip_arhitectură).efi

\<директория вендора ОС 1>

<файл-загрузчик-ОС1>.efi

\<директория вендора ОС 2>

Registrul subdirectoarelor.

Furnizorii ale căror directoare nu sunt descrise în subdirectorul furnizorului și care nu au propriile subdirectoare în folderul /EFI își plasează adesea bootloader-ul ca „bootloader implicit”. De exemplu, pentru sistemele x64 de-a lungul căii: /EFI/Boot/bootx64.efi.

Fișierul bootloader este o aplicație tipică UEFI, are formatul PE32+ și conține cod pentru etapa inițială de încărcare a sistemului de operare, adică începe procesul de pornire a sistemului de operare. Scopul său este de a pregăti structurile de date, de a încărca nucleul OS în memorie și de a transfera controlul către acesta.
Specificația descrie subdirectorul /EFI/Boot. Acest subdirector este folosit ca locație „implicit”, adică într-o situație în care, din anumite motive, un bootloader este pierdut (neconfigurat) în NVRAM. Pentru un astfel de caz, acest director conține așa-numitul „default bootloader”, care are un nume standardizat BOOT (architecture_type).efi

Unele implementări UEFI mai vechi au fost defectate, pur și simplu au ignorat lista de pornire din NVRAM și au încărcat direct modulele sau /EFI/BOOT/bootx64.efi. Alte opțiuni UEFI, nu mai puțin „directe”, nu au acceptat meniul de pornire și au încărcat întotdeauna /EFI/Boot/bootx64.efi sau /EFI/Microsoft/Boot/bootmgfw.efiîn funcție de preferințele tale misterioase.

Pornirea în modul Legacy

UEFI nu rulează niciun cod din clasicul MBR, indiferent dacă sectorul este prezent sau nu pe media instalată pe sistem. Excepție fac versiunile UEFI care implementează suport pentru „modul de compatibilitate”. Ca urmare, pentru încărcarea tradițională (moștenită) a sistemelor de operare compatibile cu standardul de markup MBR, UEFI oferă module speciale care pot fi (la discreția vânzătorului) incluse în firmware. Puteți afla dacă firmware-ul UEFI specific acceptă „modul de compatibilitate” căutând în interfața UEFI parametri precum Legacy, Legacy CSM, Launch CSM, CSM Boot, CSM OS, Launch CSM sau CSM Support. De remarcat că în marea majoritate a firmware-ului este prezent acest mod, ceea ce simplifică foarte mult viața utilizatorilor care și-au cumpărat laptopuri sau plăci de bază noi, dar nu și-au schimbat obiceiurile în utilizarea sistemelor de operare „vechi” de la MS :)
Este logic să presupunem că, dacă există un modul CSM, codul firmware la pornirea în modul tradițional ar trebui să fie cât mai aproape posibil de caracteristicile funcționale similare ale BIOS-ului tradițional, emulând pur și simplu tehnologiile cheie. Să aruncăm o privire la ce face Modulul de suport pentru compatibilitate UEFI (CSM) atunci când pornește în modul vechi.
Pentru moment, voi oferi aici doar un algoritm abstract de încărcare condiționată în modul Legacy/Compatibility Support Module (CSM):

  1. Este necesară pornirea în modul vechi? Dacă nu, atunci mergem la lanțul obișnuit UEFI Boot.
  2. Încărcați modulul Legacy Driver.
  3. Încărcați modulul Legacy BIOS.
  4. Este necesar suportul pentru funcțiile BIOS video tradiționale (implementarea funcțiilor de întrerupere int 10h)? Da - încărcăm.
  5. Este necesar suportul pentru alte extensii BIOS tradiționale (int 13h..)? Da - încărcăm.
  6. Încărcați un sistem de operare tradițional (vechi)? Nu - trecem la boot-ul normal UEFI.
  7. Formăm structuri SMBIOS.
  8. Formăm structuri Legacy Device.
  9. Formăm structura de întrerupere int 15h, structura API BBS (BIOS Boot Specification).
  10. Generam ACPI RSD PTR.
  11. Încărcați un cod SMM compatibil.
  12. Încărcăm codul din MBR și transferăm controlul acestuia.

Multiboot în UEFI

Încă de la începutul distribuției în masă a computerelor personale, din când în când a apărut sarcina de a implementa mai multe sisteme de operare pe un singur computer, care ar putea găzdui unul sau mai multe medii fizice. Nu cu mult timp în urmă, situația a fost schimbată semnificativ prin descoperirea tehnologiei de virtualizare, dar aceasta nu a eliminat complet problema. În sensul său clasic, în raport cu stațiile care pornesc folosind metoda tradițională PC/AT BIOS folosind marcarea clasică MBR, multiboot era un cod terță parte în sectorul principal de boot (MBR), care încarcă așa-numitul manager de boot ( multibooter), care stochează setările pentru fiecare sistem de operare instalat pe computer și oferă un meniu pentru a selecta modul de pornire a unui anumit sistem de operare. Dacă vorbim despre timpul nostru, adică despre multibooting în legătură cu mediile partiționate folosind marcajul GPT, atunci multe s-au schimbat acum. După cum am observat deja, UEFI poate lucra direct cu discuri GPT, astfel încât sarcina de a instala mai multe sisteme de operare este mult simplificată. Acum toate funcțiile multibooter-ului sunt preluate de managerul de boot UEFI încorporat, ale cărui principii de funcționare le-am descris mai sus. Programul de instalare a sistemului de operare trebuie doar să facă ceea ce face deja foarte bine: plasați încărcătorul de pornire pe o partiție ESP specială în ierarhia directorului „sa”, după care acest încărcător devine „vizibil” în setările UEFI. Pe lângă instalatorul OS, acum utilizatorul însuși, folosind setările (interfață grafică/text UEFI), poate adăuga manual un bootloader situat pe orice suport fizic conectat și vizibil la sistem. Toate aceste bootloadere adăugate în diferite moduri devin disponibile prin intermediul meniului Boot, pe care utilizatorul îl poate configura/apela direct în timp ce UEFI rulează, adică în stadiul inițial de pornire a computerului. Cu alte cuvinte, pornirea multiplă în UEFI este pur și simplu o chestiune de rulare a aplicațiilor UEFI (încărcătoare specifice sistemului de operare) situate pe medii montate pe o partiție ESP specială într-o ierarhie de directoare înrădăcinată la /EFI.

UEFI (Unified Extensible Firmware Interface) este un înlocuitor pentru BIOS-ul învechit. Această specificație a fost inventată de Intel pentru Itanium, apoi se mai numea EFI (Extensible Firmware Interface), apoi a fost portată pe x86, x64 și ARM. Este izbitor de diferit de BIOS atât în ​​procedura de pornire în sine, cât și în modurile de interacțiune cu sistemul de operare. Dacă ați cumpărat un computer în 2010 sau mai târziu, atunci cel mai probabil aveți UEFI.
Principalele diferențe dintre UEFI și BIOS:
  • Suport GPT (GUID Partition Table).
GPT este o nouă metodă de partiționare, care înlocuiește MBR. Spre deosebire de MBR, GPT acceptă discuri mai mari de 2TB și un număr nelimitat de partiții, în timp ce MBR acceptă doar 4 fără cârje. UEFI acceptă FAT32 cu partiții GPT în mod implicit. UEFI în sine nu acceptă MBR; suportul și pornirea din MBR sunt efectuate de extensia CSM (Compatibility Support Module).
  • Asistență de service
Există două tipuri de servicii în UEFI: servicii de boot și servicii de rulare. Primele funcționează numai până când sistemul de operare se încarcă și oferă interacțiune cu terminale grafice și text, autobuze, dispozitive de blocare etc., în timp ce serviciile de rulare pot folosi sistemul de operare. Un exemplu de servicii de rulare este serviciul variabil, care stochează valori în NVRAM. Sistemul de operare Linux utilizează un serviciu variabil pentru a stoca depozitele de blocare, care pot fi preluate după repornirea computerului.
  • Arhitectură modulară
Puteți rula aplicațiile în UEFI. Puteți porni driverele în UEFI. Nu chiar! Există un astfel de lucru ca UEFI Shell. Unii producători îl includ în UEFI, dar laptopul meu (Lenovo Thinkpad X220) nu îl are. Dar îl puteți descărca pur și simplu de pe Internet și îl puteți pune pe o unitate flash sau pe un hard disk. Există, de asemenea, drivere pentru ReiserFS, ext2/3/4 și poate unele altele, nu am intrat prea adânc în el. Le puteți descărca din UEFI Shell și puteți parcurge întinderile sistemului dvs. de fișiere direct din UEFI.
UEFI acceptă, de asemenea, rețea, așa că dacă găsiți un driver UEFI pentru placa dvs. de rețea sau dacă este inclus de producătorul plăcii de bază, puteți da ping la 8.8.8.8 de la Shell.
În general, specificația UEFI prevede interacțiunea driverelor UEFI din sistemul de operare, de exemplu. Dacă sistemul dvs. de operare nu are un driver pentru placa de rețea, dar este încărcat în UEFI, atunci sistemul de operare va putea folosi placa de rețea prin UEFI, dar nu am văzut astfel de implementări.
  • Manager de descărcare încorporat
În general, UEFI nu necesită încărcător de pornire dacă doriți pornire multiplă. Puteți adăuga propriile elemente de meniu, iar acestea vor apărea în meniul de pornire UEFI, chiar lângă discuri și unități flash. Acest lucru este foarte convenabil și vă permite să porniți Linux fără încărcător de pornire, dar direct în kernel. În acest fel, puteți instala Windows și Linux fără bootloadere terțe.
Cum funcționează pornirea în UEFI?
Dintr-o partiție GPT cu identificatorul EF00 și sistemul de fișiere FAT32, în mod implicit este încărcat și lansat fișierul \efi\boot\boot[nume arhitectură].efi, de exemplu \efi\boot\bootx64.efi
Acestea. pentru a crea, de exemplu, o unitate flash USB bootabilă cu Windows, trebuie doar să marcați unitatea flash în GPT, să creați o partiție FAT32 pe ea și să copiați pur și simplu toate fișierele din imaginea ISO. Nu mai există sectoare de boot, uită de ele.
Pornirea în UEFI este mult mai rapidă, de exemplu, pornirea laptopului meu ArchLinux de la apăsarea butonului de pornire la o stare complet operațională durează doar 30 de secunde. Din câte știu, Windows 8 are și optimizări foarte bune ale vitezei de pornire în modul UEFI.

Încărcare sigură

Am văzut o mulțime de întrebări pe internet precum:
„Am auzit că Microsoft implementează Secure Boot în Windows 8. Această tehnologie împiedică executarea codului neautorizat, cum ar fi încărcătoarele de boot, pentru a proteja utilizatorul de malware. Și există o campanie de la Free Software Foundation împotriva Secure Boot și mulți oameni au fost împotriva ei. Dacă cumpăr un computer cu Windows 8, pot instala Linux sau alt sistem de operare? Sau această tehnologie vă permite doar să rulați Windows?”

Să începem cu faptul că această tehnologie nu a fost inventată de Microsoft, dar este inclusă în specificația UEFI 2.2. Dacă ai activat Secure Boot, nu înseamnă că nu vei putea rula un alt sistem de operare decât Windows. De fapt, computere și laptopuri certificate pentru a rula Windows 8 obligat au capacitatea de a dezactiva pornirea securizată și capacitatea de a gestiona cheile, deci nu trebuie să vă faceți griji. Pornirea securizată nedezactivată este disponibilă numai pe Tablete ARM cu Windows preinstalat!

Ce face Secure Boot? Protejează împotriva execuției codului nesemnat nu numai în faza de pornire, ci și în etapa de execuție a sistemului de operare, de exemplu, atât în ​​Windows, cât și în Linux, semnăturile driverelor/modulelor nucleului sunt verificate, astfel încât codul rău intenționat nu poate fi executat în nucleu modul. Dar acest lucru este adevărat numai dacă nu există acces fizic la computer, deoarece, în majoritatea cazurilor, cu acces fizic, cheile pot fi înlocuite cu ale tale.

Secure Boot are 2 moduri: Setup și User. Primul mod este pentru configurare, din acesta puteți înlocui PK (Platform Key, implicit de la OEM), KEK (Key Exchange Keys), db (bază de date cu chei rezolvate) și dbx (bază de date cu chei revocate). Poate că nu există un KEK și totul poate fi semnat de PK, dar nimeni nu face asta, se pare. PK este cheia principală cu care este semnat KEK, la rândul lor, db și dbx sunt semnate cu chei de la KEK (pot fi mai multe dintre ele). Pentru a putea rula un fișier .efi semnat din modul Utilizator, acesta trebuie să fie semnat cu o cheie care este în db, și nu în dbx.

Pentru Linux există 2 pre-încărcătoare care acceptă Secure Boot: Shim și PRELoader. Sunt asemănătoare, dar există mici nuanțe.
Shim are 3 tipuri de chei: chei Secure Boot (cele din UEFI), chei Shim (pe care le puteți genera singur și le puteți specifica în timpul compilării) și MOK (Machine Owner Key, stocată în NVRAM). Shim nu folosește un mecanism de boot UEFI, așa că un bootloader care nu suportă Shim și nu știe nimic despre MOK nu va putea executa codul (astfel, bootloader-ul gummiboot nu va funcționa). PRELoader, pe de altă parte, își construiește mecanismele de autentificare în UEFI și nu există probleme.
Shim depinde de MOK, adică binarele trebuie modificate (semnate) înainte de a putea fi executate. PRELoader „îți amintește” de binarele corecte, tu îi spui dacă ai încredere în ele sau nu.
Ambele încărcătoare de pre-boot sunt disponibile în formă compilată cu o semnătură validă de la Microsoft, deci nu este necesară schimbarea cheilor UEFI.

Secure Boot este conceput pentru a proteja împotriva bootkit-urilor și a atacurilor precum Evil Maid și, în opinia mea, face acest lucru eficient.
Vă mulțumim pentru atenție!

Mulți dintre noi întâlnim din ce în ce mai mult standardul UEFI Boot, care a înlocuit clasicul BIOS. În același timp, mulți ar dori să știe mai bine despre UEFI Boot, dar cumva încă nu găsesc timpul sau dorința pentru asta. În acest material, voi încerca să elimin „punctul gol” din cunoștințele cititorilor și să vă spun în detaliu ce este UEFI Boot, să descriu caracteristicile și funcționalitatea acestuia.

A existat o perioadă în care toate computerele erau echipate cu un BIOS încorporat în placa de bază, care era un set de microprograme pentru testarea performanței echipamentului, oferind un API și suportând pornirea sistemului. A fost folosit în mod tradițional în mașinile compatibile cu IBM și, deocamdată, și-a îndeplinit funcțiile în mod fiabil, limitat la procese pe 16 biți și la adresa de 1 MB.

Odată cu dezvoltarea tehnologiei, BIOS-ul „vechi și bun” nu mai îndeplinește cerințele moderne, s-a dovedit a fi insuficient de flexibil și modern și a fost înlocuit cu succesorul său - UEFI Boot, care acceptă aproape toate standardele echipamentelor moderne.

UEFI(Unified Extensible Firmware Interface) datează din 2003, când Intel a creat un înlocuitor de BIOS pentru serverele sale pe 64 de biți pentru microprocesoarele Itanium. La acea vreme, acest standard se numea EFI (abreviere pentru Extensible Firmware Interface). Ulterior, când a intrat în Unified EFI Forum, acest concept a fost denumit UEFI și și-a continuat dezvoltarea ca standard unificat al industriei IT, la dezvoltarea căruia iau parte cei mai renumiți producători de hardware de computer.

Se știe că UEFI Boot este, ca și predecesorul său, un standard care este o interfață care conectează sistemul de operare și firmware-ul care efectuează operarea la nivel scăzut a echipamentelor conectate. Scopul său este de a inițializa hardware-ul și de a transfera controlul către încărcătorul de pornire al sistemului de operare.

Puteți vedea cum arată UEFI și ce este în videoclip:

Avantajele UEFI față de BIOS


Diferența 1. Componenta vizuală

Multe elemente UEFI arată ca un BIOS tradițional, dar unele au fost modificate dincolo de recunoaștere. O imagine mai plăcută, opțiuni convenabile de overclocking, o interfață convenabilă și accesibilă și suport pentru mouse. Schimbările sunt, fără îndoială, plăcute ochiului.

Diferența 2. 16 vs 32

În timp ce BIOS-ul este limitat la procese pe 16 biți și la adresa de memorie de 1 megaoctet, UEFI nu are astfel de restricții. Funcționează în ambele moduri pe 32 și 64 de biți, vă permite să lucrați cu cantități semnificativ mai mari de memorie și depinde puțin de arhitectura computerului. Specificația UEFI Boot oferă drivere pentru componentele sistemului, indiferent de procesorul utilizat pe computer.

Diferența 3. Volume de lucru

MBR-ul din BIOS era limitat la patru partiții principale de pe disc, iar discurile de boot aveau o dimensiune maximă de 2,2 terabytes. Dacă anterior acest lucru a fost suficient, atunci capacitățile unităților de astăzi depășesc deja dimensiunea specificată. UEFI folosește marcaje de partiție GUID, permițându-vă să porniți de pe discuri 9.4 ZB. Pentru cei neinițiați, le voi explica că un zetabyte este 1024 ori 1024 ori 1024 gigaocteți.

Este clar că acest UEFI Boot vă permite să lucrați cu o dimensiune semnificativ mai mare a opțiunilor de pornire, nu este legat de niciun sistem de fișiere specific și are capabilități de rețea fantastice. Încărcătorul de pornire a sistemului poate servi ca o extensie pentru UEFI, iar acesta din urmă însuși, dacă este necesar, poate îndeplini funcțiile unui încărcător de pornire. În același timp, este chiar posibil să încărcați propriile drivere ale utilizatorului în UEFI. Impresionant, nu-i așa?

Diferența 4. Extensii

UEFI acceptă atât extensiile vechi (de exemplu, ACPI), cât și pe cele noi bazate pe specificațiile EFI cu funcționalitate mai mare (Asus Splashtop etc.).

Diferența 5. Control ușor

Deoarece majoritatea opțiunilor sunt prezentate sub formă de simboluri grafice vizuale, lucrul cu ele este simplu și convenabil. Încercați și vedeți singur.

Diferența 6. Pornire sigură

Standardul UEFI are un alt avantaj numit Sigur Boot– aceasta este o protecție specială împotriva inițializării codului nesemnat, protejând sistemul de înlocuirea bootloader-ului și lansarea de software fără licență. S-a născut în versiunea UEFI 2.2 și este implementat în multe computere moderne. În ciuda numeroaselor sale avantaje, utilizatorii preferă să dezactiveze Secure Boot, deoarece dezavantajele sale depășesc uneori avantajele, mai ales atunci când este nevoie să pornească computerul de pe o unitate flash.

Concluzie

Ce este UEFI Boot? După cum puteți vedea, specificația UEFI Boot are o serie de avantaje serioase față de predecesorul său. O interfață mai convenabilă și mai accesibilă, o viteză de operare îmbunătățită, suport pentru cantități semnificativ mai mari de memorie și un hard disk de sistem - aceasta și multe altele fac din UEFI cea mai eficientă și modernă opțiune. Dacă aveți un computer modern (în jur de 2011), poate că este timpul să vă uitați la UEFI și să îl cunoașteți mai bine.

BIOS este un termen binecunoscut printre proprietarii de computere care a fost folosit de mulți ani. În toamna lui 2017, Intel și-a anunțat planurile de a abandona complet BIOS-ul pe toate platformele sale până în 2020. În loc de BIOS va fi folosit acum numai UEFI, care poate duce pe mulți la o întrebare logică: de ce este UEFI mai bun decât BIOS și care este diferența dintre ele?

Cipul BIOS pe o placă de bază Gigabyte.

UEFI și BIOS aparțin categoriei de așa-numitele software-uri „la nivel scăzut”, care pornesc chiar înainte ca computerul să înceapă să încarce sistemul de operare. UEFI este o soluție mai modernă și acceptă un număr mare de caracteristici convenabile care sunt utile pe computerele moderne. Se întâmplă adesea ca producătorii să apeleze UEFI pe computerele lor cu cuvântul tradițional „BIOS”, pentru a nu deruta utilizatorul. Totuși, există o mare diferență între UEFI și BIOS, iar computerele moderne sunt în mare parte echipate cu UEFI.

Ce este BIOS-ul

BIOS este prescurtarea pentru „ De bazăIntrare-AfaraSistem" sau " sistem de bază de intrare/ieșire". Trăiește pe un cip special în interiorul plăcii de bază (imaginea de mai sus) și nu depinde de dacă un hard disk este instalat în computer. Când porniți computerul, primul lucru care se pornește este BIOS-ul. Acest sistem este responsabil pentru „trezirea” componentelor hardware ale computerului dumneavoastră, verificarea funcționării lor normale, activarea bootloader-ului și apoi pornirea sistemului de operare.

BIOS la fel de vechi ca vremea.

Utilizatorul poate configura un număr mare de parametri diferiți în BIOS. Configurația componentelor, ora sistemului, ordinea de pornire și așa mai departe. Puteți intra în BIOS folosind o cheie specială când porniți computerul. Poate fi diferit pentru diferite computere. De exemplu, Esc, F2, F10 sau Delete. Producătorul însuși decide pe care să aleagă. După modificarea setărilor, toți parametrii sunt înscriși placa de baza in sine.

BIOS-ul este, de asemenea, responsabil pentru un proces numit POST – „ Putere-PeDe sine-Test sau " verificare la pornire". POST verifică adecvarea configurației computerului și starea de sănătate a componentelor hardware. Dacă ceva nu merge bine, pe ecran este afișată o eroare corespunzătoare sau computerul începe să emită un număr de anumite sunete (există și conceptul de coduri POST, iar unele plăci de bază au chiar instalat un afișaj corespunzător pentru a le afișa). Intensitatea acestor sunete depinde de tipul de eroare, iar pentru a le descifra, trebuie să consultați site-ul web al producătorului sau manualul de utilizare.

După finalizarea POST, BIOS-ul caută Master Boot Record (MBR) care este stocat pe mediul de stocare al computerului. Apoi bootloader-ul este inițializat și sistemul de operare pornește. BIOS-ul folosește adesea termenul CMOS, care înseamnă „ ComplementarMetal-OxidSemiconductor" sau " semiconductor auxiliar de oxid de metal". Aceasta este o desemnare pentru memoria specială care este alimentată de o baterie încorporată în placa de bază. Memoria stochează diverse setări BIOS și este adesea recomandat să scoateți bateria de pe placa de bază pentru a reseta setările BIOS. În computerele moderne, CMOS a fost înlocuit cu memoria flash (EEPROM).

De ce BIOS-ul este învechit?

BIOS-ul este un sistem foarte vechi care exista în 1980 (și a fost dezvoltat chiar mai devreme), la momentul lansării MS-DOS. Desigur, de-a lungul timpului, BIOS-ul s-a dezvoltat și s-a îmbunătățit, dar conceptul și principiile de bază de funcționare au rămas aceleași. Dezvoltarea BIOS-ului este practic zero în comparație cu dezvoltarea computerelor și a tehnologiei în general.

BIOS-ul tradițional are multe limitări serioase. De exemplu, poate porni sistemul numai de la o partiție de cel mult 2,1 TB (maximum 4 partiții) sau mai puțin. În realitățile moderne, utilizatorii cumpără unități foarte încăpătoare, al căror volum depășește adesea 4 și chiar 8 TB. BIOS-ul nu va putea funcționa cu astfel de medii. Acest lucru se datorează modului în care funcționează MBR-ul (înregistrarea de pornire principală folosește elemente pe 32 de biți). În plus, BIOS-ul funcționează în modul pe 16 biți (cum a fost dezvoltat în anii 70) și are doar 1 MB de spațiu adresabil pentru funcționare. BIOS-ul are, de asemenea, probleme la inițializarea unui număr mare de componente simultan, ceea ce duce la o pornire lentă a computerului.

BIOS-ul are nevoie de înlocuire pentru o perioadă lungă de timp. Intel a început să dezvolte EFI (Extensible Firmware Interface) încă din 1998, iar Apple a trecut la EFI în 2006, când a avut loc tranziția la arhitectura Intel. În 2007, Intel, AMD, Microsoft și diverși producători de computere au aprobat specificația UEFI - " Interfață Firmware Extensibilă Unificată" sau " Interfață Firmware Extensibilă Unificată„. Windows a câștigat suport UEFI în Windows Vista SP1 și Windows 7. Astăzi, aproape toate computerele folosesc UEFI în loc de BIOS.

De ce UEFI este mai bun decât BIOS

UEFI este instalat în loc de BIOS pe diferite PC-uri pe care le puteți găsi în magazinele de electronice. Trebuie remarcat imediat că utilizatorul nu poate trece de la BIOS la UEFI pe hardware-ul existent. Pentru a face acest lucru, trebuie să achiziționați hardware nou care acceptă UEFI. Marea majoritate a calculatoarelor UEFI includ emulare BIOS (denumită adesea Legacy BIOS) pentru a permite utilizatorului să instaleze și să pornească un sistem de operare mai vechi care necesită BIOS-ul pentru a rula. Cu alte cuvinte, UEFI este compatibil cu invers.

O interfață UEFI mult mai modernă și mai ușor de utilizat.

Noul standard a scăpat de restricțiile neplăcute ale BIOS-ului. Un computer cu UEFI poate porni de pe unități mai mari de 2,2 TB. Teoretic, capacitatea maximă de stocare pentru UEFI este de 9,4 Tb (9,4 trilioane de gigaocteți). Asta e mult. Ideea este că UEFI utilizează schema GPT cu elemente pe 64 de biți.

UEFI rulează în moduri pe 32 și 64 de biți și are, de asemenea, mai multă memorie pentru a lucra. Acest lucru, la rândul său, se traduce într-o încărcare mai rapidă a procesorului și ușurință în utilizare. Sistemele UEFI au adesea interfețe frumoase care acceptă introducerea mouse-ului (în captura de ecran de mai sus). Există, de asemenea, o serie de alte avantaje. De exemplu, UEFI acceptă Secure Boot. Aceasta este o procedură specială care verifică sistemul de operare care este încărcat și se asigură că niciun software rău intenționat sau terță parte nu va interfera în timpul încărcării acestuia. UEFI are, de asemenea, suport pentru diverse funcții de rețea, ceea ce este util atunci când rezolvați probleme tehnice cu computerul dvs. Într-un BIOS tradițional, utilizatorul trebuie să aibă acces fizic la computer, în timp ce în UEFI există o opțiune de acces la distanță pentru configurare.

În general, UEFI este un sistem de operare atât de mic. Poate fi stocat pe memoria flash a plăcii de bază sau poate fi încărcat de pe o unitate de hard/rețea. Diferitele computere cu diferite UEFI au interfețe și capabilități la fel de diferite. Totul depinde de preferințele producătorului computerului dvs.

UEFI a fost un upgrade important pentru computerele moderne, dar marea majoritate a utilizatorilor este puțin probabil să observe vreo diferență semnificativă. Și mulți oameni nu sunt deloc interesați de această întrebare. Totuși, trebuie să înțelegem că apariția UEFI în locul BIOS-ului a devenit o schimbare evolutivă extrem de pozitivă în lumea computerelor moderne, chiar dacă toate farmecele și inovațiile sale rămân ascunse adânc în placa de bază a computerului. Acum industria este încă într-o stare de tranziție de la BIOS la UEFI, așa că toate deliciile noului standard vor fi dezvăluite în viitorul apropiat. Pentru a accelera acest proces, Intel a decis să abandoneze complet BIOS-ul până în 2020, iar acesta este un lucru bun.