русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Завантаження з MBR


Дата додавання: 2014-11-27; переглядів: 790.


 

Коли пристрій завантаження знайдено, система шукає нульовий сектор (з адресою циліндр0, головка0, сектор0). та виконує код, розташований у цьому секторі. Цей код знаходить та зчитує таблицю розділів (розташовану відразу ж після нульового сектора) та знаходить в ній активний розділ. Після цього починається виконання коду записаного у першому блоці активного розділу. Для Linux цей код є завантажувачем LILO або GRUB

 

LILO

 

В деяких випадках завантажувач LILO розміщують безпосередньо в MBR. В цьому випадку він використовується для завантаження інших ОС. Якщо ж завантажувач занесено на початок розділу диску (такий завантажувач ще називають вторинним - secondary), то він використовується для завантаження Linux з цього розділу.

 

Нехай LILO розташовано в MBR. Тоді підчас завантаження BIOS завантажує код LILO у пам”ять по визначеній фіксованій адресі (0x7C00) та виконується. Цей код використовує процедури BIOS завантажує у свою чергу вторинний завантажувач на адресу 0x9B000. Всі операції з відображення меню виконує вже вторинний завантажувач.

 

GRUB

 

Завантажувач GRUB є альтернативою до LILO. GRUB (Grand Unified Bootloader) використовується в дистрибутивах Mandriva, Ubuntu та деякіх інших. Подібно до LILO – головне призначення GRUB – завантажити ядро операційної системи. Крім цього, GRUB надає користувачам деякі інші можливості, такі як завантаження різних ОС та різних версій однієї ОС, захист процесу завантаження паролем, графічне та кольорове оформлення екрану завантаження.

 

Як правило, завантажувач GRUB встановлюється підчас інсталяції системи. Є можливість інсталювати цей завантажувач окремо, наприклад на флеш-диск. Файли, що керують роботою завантажувача можна знайти у каталозі /boot/grub/. Головним конфігураційним файлом є menu.lst. Розглянемо приклад такого файлу.

 

default 0

timeout 3

hiddenmenu

 

title Ubuntu, kernel 2.6.20-15-generic

root (hd0,0)

kernel /boot/vmlinuz-2.6.20-15-... ro quiet splash

initrd /boot/initrd.img-2.6.20-15-generic

 

Файл має заголовок, в якому визначені загальні параметри завантажувача та додатові секції, по одній на кожен пункт меню завантажувача, що вказує на тип ОС яку потрібно завантажити.

 

Параметр Коментар
default Визначає пункт меню який обирають за замовчуванням. Нумерація починається з 0
timeout Як довго (секунди) меню затримається на екрані, поки не буде обрано пункт за замовчуванням
hiddenmenu Якщо цей пункт є, то меню на екрані не відображається, автоматично завантажується система вказана за замовчуванням
title текст пункту меню
root Вказує завантажувачу на якому диску та розділі знайти ядро
kernel Визначає яке ядро буде завантажене
initrd Вказує завантажувачу яку програму потрібно виконати після завантаження ядра

 

 

Після завантаження ядра завантажуються та ініціалізуються драйвери для пристроів комп”ютера. Власне на цьому етапі часто виникають проблеми, якщо драйвер не відповідає наявному пристрою. Якщо всі драйвери розпізнані та ініціалізовані без помилок, то система переходить до запуску спонтанних процесів, серед яких чільне місце займає процес init. Зазвичай виконувальний код init знаходиться у /sbin каталозі.

 


<== попередня лекція | наступна лекція ==>
Формування розділів жорсткого диску | Запуск процеса init. Рівні виконання (run levels)


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн