
- •Лабораторна робота №5
- •Завантажувач системи Windows .
- •Вивчіть завантажувач системи Windows, Linux.
- •Змініть параметри таким чином щоб за замовчуванням завантажувалася ос Windows.
- •Змініть параметри за бажанням. Скрін екрану додайте до звіту.
- •Прикладні програми в linux Команда bc
- •Приклади роботи з програмою bc
- •Програма mc
- •Програма iconv
Лабораторна робота №5
ТЕМА: ЗАВАНТАЖУВАЧ СИСТЕМИ LINUX. ПРИКЛАДНІ ПРОГРАМИ СИСТЕМИ.
МЕТА: НАВЧИТИСЯ НАЛАГОДЖУВАТИ ЗАВАНТАЖНИК ОС. ОРІЄНТУВАТИСЯ В ПАРАМЕТРАХ ЗАВАНТАЖУВАЛЬНИКА.
ТЕОРЕТИЧНІ ПИТАННЯ ТА ХІД РОБОТИ:
Уважно прочитати матеріал поданий до лабораторної роботи.
Налагодити за завданням завантажувальник системи Linux.
Налагодити за завданням завантажувальник системи Windows
Переглянути роботу програм, встановлених в ос за замовчуванням.
Занотувати результати роботи до звіту.
GRUB - сама, мабуть, популярна програма для завантаження Linux. Саме цей завантажувач використовується за умовчанням у більшості даних дистрибутивів. Одне з його головних достоїнств - гнучкість. Підтримуються усі файлові системи Linux, а також FAT 32 і NTFS. Таким чином, за допомогою цієї програми можна запустити будь-яку операційну систему через передачу управління як ядру(перший спосіб), так і іншому завантажувачу(другий спосіб).
За завантажувач відповідає файл: /etc/default/grub
Цей файл містить в собі основні налаштування для grub2. Через нього, власне, вони і змінюються. Для наочності нижче наводиться зразковий вміст цього файлу :
GRUB_DEFAULT=6
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT="2"
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
***
GRUB_HIDDEN_TIMEOUT=0 - якщо цей параметр не закоментований (рядок не починається з символу #), завантажувальне меню не буде відображено.
Первинні налаштування цього рядка, залежать від наявності інших ОС. Якщо система визначить наявність іншої ОС - тоді, при завантаженні, відображуватиметься меню GRUB2, в зворотному випадку, меню буде приховано, а сам рядок закоментований.
Значення параметра в рядку є цілим(за умовчанням "0"). Якщо виставлено значення більше нуля, меню не буде відображено, але буде пауза розміром в задане число секунд, під час якої користувач може викликати меню завантаження натисненням клавіші ESC.
При виставленому значення "0", буде остутствовать затримка при завантаженні і не відображуватиметься меню GRUB2. Але, навіть при виставленому значенні "0", користувач може змусити завантажувач відобразити меню. Для цього необхідно під час завантаження утримувати клавішу SHIFT.
Під час завантаження система перевіряє наявність статусу переривання кнопкою SHIFT. І якщо цей статус не визначається, тоді спрацьовує невелика затримка, в процесі якої, користувач може відобразити меню шляхом натиснення кнопки ESC.
GRUB_HIDDEN_TIMEOUT_QUIET=true
- - true - відлік не відображуватиметься і ми побачимо тільки порожній екран.
- - false - лічильник відображуватиметься на екрані, в течії часі, визначеному значенням, виставленому в GRUB_HIDDEN_TIMEOUT.
GRUB_DISTRIBUTOR='lsb_release - i - s 2> /dev/null || echo Debian' - цей рядок відповідає за назви дистрибутива, яке відображуватиметься в меню GRUB2 (Ubuntu, Xubuntu, Debian, і так далі)
GRUB_CMDLINE_LINUX - значення цього параметра буде передано в кінець рядка linux (у старій версії GRUB ці параметри вживалися в рядку kernel) як при нормальному завантаженні, так і при завантаженні в режимі відновлення.
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" - призначення таке ж, як і рядка, вказаного вище, але тільки для режиму нормального завантаження. Є аналогом defoptions з menu.lst. Якщо ми хочемо в процесі завантаження бачити чорний екран, на якому буде відображений процес завантаження в тексті, - нам слід видалити "quiet splash". Для того, щоб побачити заставку (за умовчанням, значек Убунту на чорному фоні) + короткий текстовий супровід - використовуємо параметр "splash".
GRUB_TERMINAL=console - расскоментируйте цей рядок, і це дозволить відключити графічний термінал (grub - pc only). Цей прийом буде корисний тим, що відключення графічного режиму може істотно збільшити швидкість роботи меню (прокрутка, чуйність).
GRUB_DISABLE_LINUX_UUID=true - раскомментируйте, якщо ви не хочете, щоб GRUB передавав вашій системі параметр "root=UUID=xxx".
GRUB_GFXMODE=640x480 - цей пункт відповідає за дозвіл графічного меню GRUB2. Цей параметр надає дозвіл, який підтримується відеокартою користувача (наприклад: 640x480, 800x600, 1024x768, 1600×1200 - для співвідношення сторін 4:3. І 640x400, 800x500, 1024x640, 1280x800, 1680x1050 - для широкоформатних моніторів із співвідношенням сторін 16:10). Налаштування застосовні тільки для меню завантаження. Так само у нас є можливість побачити усі доступні дозволи для екрану з меню GRUB2. Для цього, знаходячись в меню, тиснемо "с", потім в рядку grub> пишемо vbeinfo.
Якщо рядок GRUB_GFXMODE=640x480 закоментований або вибраний дозвіл недоступний, тоді GRUB2 використовує налаштування за умовчанням, визначені скриптом /etc/grub.d/00_header.
GRUB_DISABLE_LINUX_RECOVERY=true - для того, щоб уникнути появи в меню режиму Recovery, додайте (якщо відсутній) або раскомментируйте цей рядок. Якщо вам потрібний режим Recovery тільки для конкретно узятого ядра - вам буде треба створити необхідний запис в скрипт /etc/grub/40_custom.
GRUB_DISABLE_OS_PROBER="true" - Включає/вимикає перевірку скриптом /etc/grub.d/30_os - prober наявність на інших розділах операційних систем, включаючи такі як Windows, Linux, OSX і Hurd.
Так файл /boot/grub/grub.cfg виглядає таким чином:
### BEGIN /etc/grub.d/10_linux ###
menuentry "Ubuntu, Linux 2.6.31-14-generic" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,6)
search --no-floppy --fs-uuid --set 2771fedf-7bb3-492c-b970-5f5357d4572a
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=2771fedf-7bb3-492c-b970-5f5357d4572a ro quiet splash
initrd /boot/initrd.img-2.6.31-14-generic
}
menuentry "Ubuntu, Linux 2.6.31-14-generic (recovery mode)" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
insmod ext2
set root=(hd0,6)
search --no-floppy --fs-uuid --set 2771fedf-7bb3-492c-b970-5f5357d4572a
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=2771fedf-7bb3-492c-b970-5f5357d4572a ro single
initrd /boot/initrd.img-2.6.31-14-generic
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Microsoft Windows XP Professional (on /dev/sda1)" {
insmod ntfs
set root=(hd0,1)
search --no-floppy --fs-uuid --set 3d022807e65a1de8
drivemap -s (hd0) ${root}
chainloader +1
}
### END /etc/grub.d/30_os-prober ###
Відповідно, для завантаження Windows правимо /etc/default/grub таким чином:
GRUB_DEFAULT=4
Дополнительно.
GNU GRUB це Багатосистемний завантажувач. Він є відгалуженням від GRUB,(GRand Unified Bootloader), який був розроблений Эриком Стефаном Болейном (Erich Stefan Boleyn).
Коротко, завантажувач - це перша програма, яка завантажується при старті комп'ютера. Вона відповідає за завантаження і передачу управління ядру Linux. Ядро, у свою чергу, запускає іншу частину операційної системи.
Файл налаштувань розташований в /boot/grub/menu.lst. Відредагуйте цей файл відповідно до Ваших вимог.
timeout # -- час очікування (у секундах) перед завантаженням операційної системи за умовчанням (
default).
default # -- номер запису, що відповідає операційній системі, що завантажується за умовчанням після закінчення часу
timeout.
default 0 міняємо на default 1 загружатся повинна Windows
//boot/grub/menu.lst
# # Конфігураційний файл для GRUB - The GNU GRand Unified Bootloader
# /# /boot/grub/menu.lst
# # ПЕРЕТВОРЕННЯ ІМЕН ПРИСТРОЇВ
#
# # Linux Grub
# -------------------------
# /# /dev/fd0 (fd0)
# /# /dev/sda (hd0)
# /# /dev/sdb2 (hd1, 1)
# /# /dev/sda3 (hd0, 2)
#
# # ВІДЕОРЕЖИМ - ДОЗВІЛ ФРЕЙМБУФЕРА (FRAMEBUFFER RESOLUTION)
# +-------------------------------------------------+
# | 640x480 800x600 1024x768 1280x1024
# ----+--------------------------------------------
# 256 | 0x301=769 0x303=771 0x305=773 0x307=775
# 32K | 0x310=784 0x313=787 0x316=790 0x319=793
# 64K | 0x311=785 0x314=788 0x317=791 0x31A=794
# 16M | 0x312=786 0x315=789 0x318=792 0x31B=795
# +-------------------------------------------------+
# # для детальнішої інформації про налаштування відеорежиму :
# # http://wiki.archlinux.org/index.php/GRUB#Framebuffer_Resolution
#
# # Загальні налаштування:
timeout 5
default 0
color light - blue/black light - cyan/blue
GRUB привласнює імена пристроям зберігання даних інакше, ніж це робить ядро.
Жорсткі диски іменуються як (hdX); також іменуються і будь-які USB пристрою зберігання даних.
Нумерація пристроїв і розділів починається з нуля. Наприклад, перший виявлений BIOS -му жорсткий диск матиме ім'я (hd0). Другий пристрій матиме ім'я (hd1). Той же принцип вірний і для розділів. Наприклад, другий розділ на першому жорсткому диску іменуватиметься (hd0, 1).
Якщо Ви не упевнені де у Вашому випадку знаходиться /boot, використовуйте команду
find у вбудованій командній оболонці
GRUB.
Для того, щоб відкрити командну оболонку, наберіть:
# # grub
grub> find /grub/stage1
GRUB знайде потрібний файл і виведе місце розташування файлу stage1, нарпимер:
((hd1, 0)
Додайте наступні рядки в кінець Вашого /boot/grub/menu.lst (мається на увазі, що Windows встановлена на перший розділ першого диска) :
title Windows
rootnoverify (hd0, 0)
makeactive #якщо Ви використовуєте Windows 7, закоментуйте цей рядок
chainloader +1
Якщо Windows розташована на іншому жорсткому диску, необхідно використовувати команду map. Тоді Windows вважатиме, що вона встановлена на перший жорсткий диск. Припустимо, що Windows встановлена на перший розділ другого диска :
title Windows
map(hd1)
map(hd0)
rootnoverify (hd1, 0)
makeactive #якщо Ви використовуєте Windows 7, закоментуйте цей рядок
chainloader +1
Редагування з консолі.
Для оновлення файлу використовуємо команду: sudo update - grub
у рядку GRUB_DEFAULT можна вказати як номер по порядку, так і точну назву ОС, яка завантажуватиметься за умовчанням.
для з'ясування, який запис по рахунку нам потрібний або її точна назва - необхідно запустити таку команду: grep menuentry /boot/grub/grub.cfg
Для з'ясування поточного значення, вводимо команду: cat /etc/default/grub | grep 'GRUB_DEFAULT='
Наступною командою внесемо зміни:
sudo sed 's/GRUB_DEFAULT="поточне значення"/GRUB_DEFAULT="нове значення"/g' - i /etc/default/grub
після усього цього запустити: sudo update - grub
Приклади:
sudo grub - set - default 3 - використовується 4 рядок по рахунку, що починається з menuentry;
sudo grub - set - default "Ubuntu, Linux 2.6.31-17 - generic" - точна назва, вписана в рядок, що починається з menuentry.