Каква е разликата между GRUB и MBR в Linux?


Отговор 1:

Изображението по-долу ще ви даде много добра представа за процеса на зареждане на операционна система.

Записът на главното зареждане (MBR) е информацията в първия сектор на всеки твърд диск или дискета, която идентифицира как и къде е разположена операционна система, така че да може да се зарежда (зарежда) в основната памет на компютъра или паметта с произволен достъп. Записът за първоначално зареждане понякога се нарича „сектор на дяла“ или „таблица на главния дял“, защото включва таблица, която локализира всеки дял, в който е форматиран твърдият диск.

MBR се състои от три части, т.е. товарач за зареждане, таблица на дяловете и магически номер. Boot loader е програма, която зарежда операционна система, когато компютърът е включен. Таблицата с дялове записва информация за дяла на локални дискове. Магически номер (0xAA55 / 0x55AA) маркира устройството като валиден носител за зареждане. Невалидното магическо число показва повредена или липсваща MBR.

ако основният запис за зареждане е нарушен, компютърът ви няма да се стартира и ще ви покаже някои от следните грешки:

1. "Грешка при зареждане на операционна система _" 2. "Операционната система не е намерена_" или "Операционната система липсва_" 3. "Невалидна таблица с дялове_" 4. "Рестартирайте и изберете правилното устройство за зареждане или Вмъкнете носител за зареждане в избрано устройство за зареждане и натиснете ключ_"

Сега,

GRUB (grand unified bootloader) е зареждащ инструмент, който често се инсталира на MBR.

Изображенията на ядрото на операционната система в повечето случаи се намират в подходящи файлови системи, но концепцията за файлова система не е известна на BIOS. По този начин, в BIOS базирани системи, задължението на зареждащия механизъм е да получи достъп до съдържанието на тези файлове, така че да може да бъде зареден в оперативната памет и да се изпълнява.

Референтни връзки:

  1. Как да коригирате MBR за Windows 8, когато операционната система не може да се стартира BootMaster boot record - WikipediaGNU GRUB - WikipediaLinux boot process. Кога Linux ядрото се зарежда във физическата памет? Как се зарежда ядрото на Linux?

Отговор 2:

Това е много интересен въпрос с много интересен отговор. Не съм чел никакви други отговори, защото искам да се справя сам.

Зареждането е едно от онези неща, които ви правят изумени, че компютрите изобщо съществуват. Помислете за този проблем: дисковите устройства са произволна бъркотия на файловете. Един файл може да бъде разделен на малки парчета по цялото физическо платно. Операционната система (OS) е достатъчно умна, за да знае къде да намерим всяко парче и да има достъп до него, когато е необходимо. Но зареждането става преди зареждането на ОС. Стартирането е основно процес на зареждане на ОС.

Така че ... имаме нужда от ОС, която да ни помогне да заредим ОС. И това е нещо като GRUB.

Но, питате, как GRUB се зарежда? Именно там е магията. На всеки диск има специално място, наречено master boot record, което е първата част на диска по подразбиране. Не е необходимо да се намира физически в началото на диска, но винаги ще бъде там, където дискът отива, когато се стартира първо. Малкият файл (който никога не се разделя) се зарежда в паметта и стартира.

Тъй като този файл е мъничък и винаги на едно и също място, няма нужда ОС да го насочва към него. Но тъй като е мъничък, няма достатъчно място за зареждане на всички добри функции, от които се нуждае GRUB (камо ли за драйвери за графики и видео и т.н.), но има достатъчно мозъци, за да намери и зареди останалата част от GRUB, където и да се случи да бъде на устройството - дори и да е разделено. GRUB прави това, като зарежда все повече и повече „неща“, колкото му е необходимо. Когато сте избрали в коя ОС да се стартира, тази операционна система се зарежда над GRUB, сякаш е била заредена първо и GRUB никога не е била заредена.

За да отговорите на актуалния въпрос - MBR е областта на диска, която се зарежда първо по подразбиране и трябва да бъде известна, защото няма ОС, която да помогне да я намерите. Първата малка част от GRUB, която започва всичко, е в тази област и не е разделена. Останалата част от GRUB може да бъде навсякъде на диска, защото първият бит на GRUB може да го намери.

И така ... ако GRUB може да направи тази магия, тогава какво пречи на ОС да го направи също? И отговорът е нищо - ако имате само една операционна система, тя поставя някакъв мъничък код в MBR и се зарежда, когато системата ви се включи за първи път. GRUB е полезен само за системи, които имат две операционни системи. Всеки от тях иска да има своя стартов код в MBR, а GRUB им помага да играят добре.

- Забележка - почти всичко по-горе е силно опростено. То е най-вече правилно, но всяко изречение може да има предостережение срещу него. Ако искате да спорите технически, това не е постът за вас.