Care este diferența dintre GRUB și MBR în Linux?


Răspunsul 1:

Imaginea de mai jos vă va oferi o idee foarte bună despre procesul de pornire pentru un sistem de operare.

Recordul de pornire principală (MBR) este informația din primul sector al oricărui hard disk sau dischetă care identifică cum și unde se află un sistem de operare, astfel încât să poată fi încărcat (încărcat) în stocarea principală a computerului sau în memoria de acces aleatoriu. Înregistrarea de pornire principală este, de asemenea, uneori numită „sector de partiție” sau „tabel de partiție master”, deoarece include o tabelă care localizează fiecare partiție în care hard-diskul a fost formatat.

MBR este format din trei părți, adică încărcător de boot, tabel de partiție și număr magic. Boot loader este un program care încarcă un sistem de operare atunci când un computer este pornit. Tabelul partițiilor înregistrează informațiile partițiilor pe discurile locale. Numărul magic (0xAA55 / 0x55AA) marchează dispozitivul ca un suport de boot valabil. Un număr magic nevalid indică un MBR corupt sau lipsă.

dacă înregistrarea de pornire principală este stricată, computerul nu va reuși să pornească și vă va afișa unele dintre următoarele erori:

1. "Eroare la încărcarea sistemului de operare _" 2. "Sistemul de operare nu a fost găsit_" sau "Sistemul de operare lipsă_" 3. "Tabelul partiției nevalide_" 4. "Reboot și selectați dispozitivul Boot corespunzător sau Inserați suport de stocare în dispozitivul Boot selectat și apăsați o cheie_"

Acum,

GRUB (Grand Unified Bootloader) este un bootloader care este instalat frecvent pe MBR.

Imaginile de sâmbure ale sistemului de operare sunt, în majoritatea cazurilor, rezidențiate pe sisteme de fișiere adecvate, dar conceptul de sistem de fișiere nu este cunoscut de BIOS. Astfel, în sistemele bazate pe BIOS, datoria unui încărcător de pornire este de a accesa conținutul acelor fișiere, astfel încât acesta să poată fi încărcat în memoria RAM și executat.

Linkuri de referință:

  1. Cum să remediați MBR pentru Windows 8 Când sistemul de operare nu poate înregistra BootMaster boot - WikipediaGNU GRUB - Procesul de pornire WikipediaLinux. Când este încărcat nucleul linux în memoria fizică? Cum se încarcă nucleul linux?

Răspunsul 2:

Aceasta este o întrebare foarte interesantă, cu un răspuns foarte interesant. Nu am mai citit niciun alt răspuns pentru că vreau să fac singur.

Booting-ul este unul dintre acele lucruri care te face să fii uimit că computerele chiar există deloc. Gândiți-vă la această problemă: unitățile de disc sunt o mizerie aleatoare de fișiere. Un fișier poate fi împărțit în bucăți mici pe tot platoul fizic. Sistemul de operare (OS) este suficient de inteligent pentru a ști unde să găsești fiecare piesă și să o accesezi atunci când este nevoie. Dar bootarea se întâmplă înainte de încărcarea sistemului de operare. Booting-ul este practic procesul de încărcare a sistemului de operare.

Deci ... avem nevoie de un sistem de operare care să ne ajute să încărcăm sistemul de operare. Și asta este cam ce este GRUB.

Dar, vă întrebați, cum se încarcă GRUB? Acolo se află magia. Pe fiecare disc este un loc special numit înregistrarea de pornire principală care este prima parte implicită a discului. Nu trebuie să fie fizic la începutul discului, dar va fi întotdeauna unde se duce discul când începe primul. Fișierul mic (care nu este niciodată împărțit) este încărcat în memorie și rulat.

Deoarece acest fișier este minuscul și întotdeauna în același loc, nu este nevoie de un sistem de operare care să îl indice. Dar, deoarece este micuț, nu are suficient spațiu pentru a încărca toate funcțiile bune de care are nevoie GRUB (să nu mai vorbim de driverele grafice și video etc.), dar are suficiente creiere pentru a găsi și încărca restul de GRUB oriunde se întâmplă. să fie pe unitate - chiar dacă este împărțit. GRUB face acest lucru prin încărcarea din ce în ce mai multe „chestii” pe măsură ce are nevoie. Când ați ales în ce sistem de operare să porniți, acel sistem de operare este încărcat peste GRUB, de parcă a fost încărcat mai întâi și GRUB nu a fost niciodată încărcat.

Pentru a răspunde la întrebarea reală - MBR este zona de pe disc care este încărcată prima în mod implicit și trebuie cunoscută, deoarece nu există un sistem de operare care să o ajute la găsirea acesteia. Prima parte minusculă a GRUB care începe totul este în acest domeniu și nu este divizată. Restul GRUB poate fi oriunde altundeva pe disc, deoarece primul bit de GRUB îl poate găsi.

Deci, dacă GRUB poate face această magie, atunci ce este de a împiedica un sistem de operare să o facă și ea? Iar răspunsul nu este nimic - dacă aveți doar un singur sistem de operare, atunci pune niște coduri minuscule în MBR și care se încarcă atunci când sistemul dvs. pornește prima dată. GRUB este util doar pentru sistemele care au două sisteme de operare. Fiecare dintre ei doresc să aibă codul de pornire în MBR și GRUB îi ajută să joace frumos.

- Notă - aproape toate cele de mai sus sunt puternic simplificate. Este cea mai mare parte corectă, dar fiecare propoziție ar putea avea o avertizare. Dacă doriți să argumentați tehnicile, atunci aceasta nu este postul pentru dvs.