Автоматизація перемикання між ос при багатосистемні завантаженні

Перемикання між Linux і Windows без необхідності втручання вручну

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

Марк Картер. фахівець з налаштування продуктивності WebSphere MQ / JMS, IBM United Kingdom

Марк Картер (Marc Carter) - фахівець з налаштування продуктивності в команді WepSphere MQ JMS, працює в представництві IBM в Хёрслі (Великобританія). Марк працює з командою розробників, оцінюючи нові версії WebSphere MQ, а також надає клієнтам консультації з питань проектування, установки і настройки даного продукту. Крім того, він довгі роки працює над системами автоматизації внутрішніх тестів.

Навіщо необхідно автоматичне перемикання, якщо можна це робити вручну? Справа в тому, що автоматизувавши процес перемикання, набагато простіше використовувати декілька операційних систем. Наприклад, якщо ви тестируете програмне забезпечення в різних ОС, то така можливість буде особливо корисна.

Передбачається, що ви вже встановили кілька операційних систем і налаштували Мультисистемність завантаження за допомогою GRUB. Програма GRUB (GRand Unified Bootloader - основний уніфікований завантажувач) завантажується при запуску комп'ютера і передає управління ядру операційної системи. Посилання на документацію по налаштуванню GRUB ви можете знайти в розділі Ресурси.

Інструкції, представлені в цій статті, даються щодо наступного програмного забезпечення:

Крок 1. Налаштування розділів диска

Перед початком настройки переконайтеся в наявності резервних копій системи і завантажувального компакт-диска для відновлення. Якщо при виконанні наведених нижче інструкцій відбудеться яка-небудь помилка, операційна система не зможе завантажитися. Якщо такий ризик для вас неприйнятний, не намагайтеся повторити дії, описані в даній статті!

Створення розділу Bootcontrol

Створіть на одному з жорстких дисків невеликий розділ. Всі операційні системи, між якими ви хочете перемикатися, повинні підтримувати читання і запис в файлову систему цього розділу. Ми вибрали файлову систему FAT32. Хоча для системи Bootcontrol потрібно менше 1 МБ місця на диску, мінімальний розмір розділу FAT32 за замовчуванням становить 256 МБ, тому більша частина розділу залишиться невикористаною.

Якщо на жорсткому диску немає достатньої кількості невиділеного дискового простору, то ви можете зменшити або видалити існуючі розділи. У Linux це можна зробити за допомогою утиліти GNU parted. Якщо в результаті роботи parted зміниться порядок розділів, то може знадобитися редагування файлу / etc / fstab. Більш детальна інформація з цього питання міститься в документації по роботі утиліти parted.

Результат нашої роботи утиліти parted показаний в лістингу 1.

Лістинг 1. Створення необхідних розділів.

Монтування розділу в Linux

Змонтуйте в Linux створений розділ управління. У нашому випадку потрібно додати в файл / etc / fstab наступний рядок:

# <файловая система> <точка монтирования> <тип> <параметры> <дамп> <номер для fsck>
/ Dev / hda8 / boot / control vfat umask = 022, dmask = 022, fmask = 022 0 2

Потім створіть точку монтування і змонтуйте розділ наступними командами:

mkdir / boot / control
mount / boot / control

Вам також буде потрібно оновити дані про структуру диска, які зберігає GRUB. У нашому прикладі це було зроблено командою grub-install / dev / hda.

Монтування розділу в Windows

Переконайтеся, що переформатування не спричинили проблем, перезавантажити в Windows вручну. Потім призначте букву тому створеному вами розділу. У сучасних версіях Windows необхідно використовувати відповідну програму управління комп'ютером (клацніть правою кнопкою миші по значку Мій комп'ютер і виберіть Керування). У старіших версіях виберіть Пуск> Адміністрування.

На малюнку 1 показаний приклад призначення букви W завантажувального розділу.

Малюнок 1. Призначення букви томи завантажувального розділу в Windows

Автоматизація перемикання між ос при багатосистемні завантаженні

Крок 2. Перенаправлення завантажувального меню GRUB

Додайте файл настройок GRUB /boot/grub/menu.lst в завантажувальний розділ, в який мають доступ на запис і Windows, і Linux. Це дозволить змінювати операційну систему, що використовується за умовчанням, з обох встановлених систем. Щоб GRUB зміг знайти конфігураційний файл, необхідно трохи змінити вихідний файл настройок.

У своїй тестовій системі ми спочатку скопіювали файл: cp /boot/grub/menu.lst /boot/control/menu.lst а потім додали кілька рядків (див. Лістинг 2) в вихідний файл /boot/grub/menu.lst:

Лістинг 2. Дозвіл доступу до завантажувального файлу з обох операційних систем.

Переконайтеся, що аргумент команди root підходить для вашої системи. Коротко: диски нумеруються, починаючи з нуля (а не позначаються буквами від a до z), і нумерація розділів також починається з нуля (а не з одиниці). Так, наприклад, розділ / dev / hda8 позначається як (hd0,7). Ми прибрали команду savedefault з усіх інших частин файлу налаштувань, а щоб операційна система запускалася через 10 секунд демонстрації екрану завантаження, змінили наступні параметри (більш докладні відомості дивіться в документації по GRUB):

default 0
timeout 10

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

Найбільш часта помилка на даному етапі - невірно зазначені розділи. Перевірте, що номер розділу (молодший номер, minor) в parted відповідає зазначеному в / etc / fstab, а в налаштуваннях GRUB (файл /boot/grub/menu.lst) зазначено той же номер, але на одиницю менше.

Крок 3. Налаштування програми Bootcontrol

Використання скрипта

Скрипт запускається в такий спосіб:

bootcontrol.pl

Параметр grub-config-file визначає шлях до редагованому файлу налаштувань. Зазвичай слід змінювати файл menu.lst, однак ви можете протестувати правильність внесених змін на копії вихідного файлу.

Параметр platform-title використовується як підрядок (регулярний вираз), яка шукається в параметрах title файлу /boot/control/menu.lst. Регістр символів при пошуку не враховується, і скрипт bootcontrol.pl вибирає перше знайдене входження даної підрядка. Якщо в якості параметра platform-title вказано число, то воно розглядається як номер пункту в завантажувальному меню, а не подстрока для пошуку назви. Перший пункт в файлі меню має нульовий номер.

допоміжні скрипти

Крім bootcontrol.pl в архіві знаходяться ще два невеликих скрипта-шаблону, що спрощують перемикання між Windows і Linux. Введіть в будь-який з операційних систем команду to_linux.pl або to_windows.pl. Скрипти не перезапускається операційну систему негайно, але змінюють в GRUB завантажується за замовчуванням операційну систему.

Крок 4. Підтримка системи

Зміни або поновлення встановлених операційних систем можуть вплинути на установки, що використовуються програмою Bootcontrol, тому після будь-якого оновлення, що зачіпає GRUB або ядро ​​Linux, перезавантажувати систему, щоб переконатися в працездатності завантажувача. Оновлення можуть змінити файл /boot/grub/menu.lst без внесення відповідних змін до файл /boot/control/menu.lst.