Лікнеп по linux

GNU GRUB. Налагодження та використання

Безпосередньо після включення комп'ютера BIOS знаходить завантажувальний пристрій, зчитує в пам'ять його перший сектор і передає на нього управління. Цей сектор зазвичай називається MBR (Master Boot Record) і його розмір 512 байт. Крім самого завантажувача, там ще знаходиться і таблиця розділів диска розміром 64 байта, так що безпосередньо для завантажувача залишається дуже мало місця. В ОС Windows завантажувач передає подальше управління на Boot Record первинного розділу, у якого встановлена ​​мітка "завантажувальний".

Ще кілька років тому для завантаження Linux використовувався LILO (Linux Loader). Його значним недоліком була необхідність заново кожен раз оновлювати карту розміщення файлів. В даний час в більшості дистрибутивів використовується GRUB (GRand Unified Bootloader).


Як відбувається завантаження GRUB

У GRUB первинний завантажувач викликає не вторинний безпосередньо, а так званий полуторний етап (Stage 1.5), який і передає управління вторинного завантажувачу. В результаті досягається не тільки підтримка широкого спектра файлових систем, але і для зміни параметрів завантаження досить тільки відредагувати конфігураційний файл, який називається /boot/grub/menu.lst.

Також для завантаження може використовуватися initrd (INITial Ram Disk), який завантажується в пам'ять як мінімальне ядро, яке зчитує необхідні для коректного запуску модулі і потім вантажить безпосередньо ядро ​​системи.

Відкриваємо файл /boot/grub/menu.lst

Вказує, який пункт буде завантажений за замовчуванням, причому нумерація починається з нуля. Тобто в даному випадку у нас буде обраний перший пункт меню.

Час, після якого буде автоматично завантажений пункт за замовчуванням.

colors cyan / blue white / blue

Кольори для обраного і невибраного пунктів меню. Список відповідності кольорів і його назви можна дізнатися з файлу /usr/share/X11/rgb.txt.

Також можливе використання графічного фону для меню вибору системи. Це робиться за допомогою наступного параметра:

Тут (hd0,0) - розділ, де розташований розділ / boot

Також необхідно конвертувати зображення в формат, який GRUB розуміє (XPM, 14 кольорів, 640х480), і упакувати його. Робиться це в такий спосіб:

$ Convert myimage.png -color 14 -resize 640x480 myimage.xpm | gzip

і скопіювати в папку до GRUB'у

# Cp myimage.xpm.gz / boot / grub /

До речі, варто зауважити, що GRUB використовує трохи незвичайну систему нумерації розділів. Замість звичної / dev / hdaX (hdbX, hdcX (sdaX, sdbX для SCSI і SATA дисків) і т. П.), Де X - номер розділу, починаючи з 1, використовується власна система. У ній диски позначаються наступним чином: (hdA, B), де A - номер диска, починаючи з 0, а B - номер розділу, теж починаючи з нуля. Тобто / dev / sda1 буде позначатися (hd0,0), а в Windows це буде C :.

Тепер розглянемо безпосередньо пункти меню.

title Debian GNU / Linux, kernel 2.6.26-1-686-bigmem

kernel /vmlinuz-2.6.26-1-686-bigmem root = / dev / sda7 ro noapic vga = 792

title - то, що безпосередньо відображається в меню

root - розділ / в форматі GRUB

kernel - який файл є ядром і які параметри йому передавати при завантаженні

initrd - який файл використовувати як initrd

Якщо у вас є Windows, то буде запис наступного способу:

title Microsoft Windows

savedefault - вказує, що слід запам'ятовувати обраний елемент, якщо вказана опція

makeactive - так як Windows може завантажуватися тільки з активного розділу, то ця опція робить розділ активним

chainloader +1 - слід передавати завантаження відразу цього розділу. Такий спосіб називається ланцюгової завантаженням (chain loading)

Також є можливість віртуально змінювати жорсткі диски місцями. Наприклад, якщо у вас Windows встановлена ​​на другому диску і вона не може завантажуватися, то можна додати в пункт завантаження наступне:


Редагування параметрів під час завантаження

Навіть без завантаження ОС можна відредагувати то, як вам потрібно завантажуватися.

Спочатку відображається список операційних систем, які можна вибрати. Виберемо одну з них і натиснемо E для того, щоб відредагувати пункт меню. В результаті потрапляємо в меню вибраного пункту. Вводимо те, що нам треба, наприклад, параметр для ядра vga = 792, який встановлює для текстового режиму дозвіл 1024х768 при 24-бітному кольорі. Після цього тиснемо Enter і B для завантаження цього пункту. Якщо ж нам потрібно що-небудь скасувати або піднятися на рівень вище, то тиснемо Esc.


Відновлення GRUB після того, як була затерта MBR

Припустимо, після установки Linux ви захотіли поставити Windows, яка поняття не має про альтернативні завантажувач. І, природно, вона перепише MBR. Тепер нам потрібно відновлювати його назад. Для вирішення цієї проблеми існує кілька способів.

Завантажуємося з live-cd з linux або установочного диска, якщо в ньому є режим відновлення. Наприклад, для Debian GNU / Linux перед завантаженням вводимо rescue і вибираємо запуск оболонки в розділі, де у нас знаходиться корінь. Потім монтуємо розділи / boot і / usr, якщо у нас на іншому розділі.

# Mount / dev / sda8 / usr

# Mount / dev / sda6 / boot

Тепер перевстановлюємо GRUB

Якщо ви завантажуєтесь з live-cd, то монтуємо корінь (наприклад, / dev / sda7) в якусь папку (яку потрібно заздалегідь створити).

# Mount / deb / sda7 / media / disk

# Mount / dev / sda8 / media / disk / usr

# Mount / dev / sda6 / media / disk / boot

І перевстановлюємо GRUB

# Grub-install --root-directory = / media / disk / dev / sda

Також можна встановлювати заново GRUB за допомогою його оболонки. Якщо у вас / boot розташований на тому ж розділі, що і корінь, то при завантаженні з live cd можна поступити наступним чином.

> Find / boot / grub / stage1 - видасть розділ, на якому знаходиться завантажувач, наприклад: hd0,2

До речі, оболонка має досить потужні можливості. Список доступних команд можна отримати, виконавши help.


Як правильно видалити Linux

Звичайно, я сподіваюся, що вам не доведеться вдаватися до цього, але іноді ця інформація може стати в нагоді. Просто треба пам'ятати, що не варто видаляти всі розділи, які використовувалися Linux, тому що в MBR прописана завантаження саме з одного з них. Щоб коректно його замінити, потрібно під Windows встановити консоль відновлення (що це таке і для чого потрібно - зовсім не матеріал цієї статті) і завантажити її. Там потрібно ввести наступне:

Звичайно, це не все, що вміє GRUB, наприклад, можна зробити так, щоб меню не відображалося або редагування було захищено паролем. Більш детальну інформацію можна отримати, зайшовши на його офіційний сайт www.gnu. org / software / grub і прочитавши керівництво і FAQ. Взагалі, Linux має до вивчення документації. До наступних зустрічей.

Версія для друку

Схожі статті