Grub (GNU GRand Unified Bootloader) - вільний завантажувач операційних систем, який використовується в багатьох дистрибутивах Linux. Він дає змогу обирати операційну систему для завантаження під час старту комп'ютера та керувати процесом завантаження системи, також підтримує завантаження різних OS, включно з різними версіями Linux, Windows, macOS, дає змогу налаштовувати параметри завантаження, створювати різні профілі завантаження та виконувати інші завдання, пов'язані із завантаженням операційних систем.
Grub зазвичай встановлюється на початок жорсткого диска комп'ютера і запускається під час старту системи для надання користувачеві можливості вибору операційної системи для завантаження. Grub є важливою частиною багатьох дистрибутивів Linux і відіграє ключову роль у процесі завантаження операційної системи.
GRUB (GNU GRand Unified Bootloader) - потужний і гнучкий завантажувач операційних систем, який використовується в багатьох дистрибутивах Linux та інших операційних систем, таких як FreeBSD. GRUB надає користувачеві можливість вибору операційної системи або ядра, яке потрібно завантажити під час старту комп'ютера.
Дозволяє завантажувати різні операційні системи, а також варіанти завантаження для конкретної операційної системи, наприклад, у безпечному режимі або з іншими параметрами завантаження. Він також підтримує багатоядерні системи і може автоматично виявляти встановлені операційні системи на жорсткому диску. Має гнучку конфігурацію, яка дає змогу користувачам налаштовувати параметри завантаження, додавати нові ядра або операційні системи в меню завантаження, а також виконувати інші дії під час завантаження системи.
GRUB є одним із найпоширеніших завантажувачів для систем Linux і використовується за замовчуванням у багатьох дистрибутивах Linux, таких як Ubuntu, Fedora, Debian і багатьох інших.
Якщо Grub не бачить Windows 10 під час завантаження, можливо, що завантажувальний запис Windows було пошкоджено або видалено. Є кілька причин, чому так відбувається:
Далі розповімо, що ж робити, якщо виникла така проблема.
Спочатку можна спробувати зробити наш із Windows розділ більш видимим для програми. Для цього примонтуйте його в будь-яку папку. Наприклад, у /mnt/
:
sudo mount -t ntfs-3g -o ro /dev/sda1
Система Windows встановлена на розділі, який визначається в Linux, як /dev/sda1
. Далі запустіть утиліту os-prober:
sudo os-prober
Якщо програма виявить Windows, залишиться оновити конфігурацію завантажувача Grub:
sudo update-grub
Або:
sudo grub2-mkconfig -o /boot/grub/grub.cfg
Якщо ж цей спосіб не спрацює, залишиться тільки вручну додати пункт меню для Windows. Це не найпростіше, але зате ефективне рішення. Спочатку нам потрібно дізнатися UUID розділу диска, на який встановлено Windows, наприклад, /dev/sda1
:
blkid /dev/sda1
Потім відкрийте файл /etc/grub.d/40_custom
і додайте туди такий код:
menuentry "Windows 10" {
insmod ntfs
set root='(hd0,1)'
search --no-floppy --fs-uuid --set B4A6AEB7A6AE7A0E
chainloader +1
}
Так ми встановлюємо як корінь перший розділ першого диска, а потім вказуємо завантажувачу, що потрібно знайти розділ із потрібним нам UUID. Потім передаємо управління завантажувачу на цьому розділі за допомогою chainloader. Далі залишилося оновити конфігурацію Grub:
sudo update-grub
Ми використовували такий метод тому що тепер налаштування не зіб'ється після оновлення ядра або іншого процесу, що ініціалізує оновлення конфігурації. Тому що якби ми додали ці рядки в /boot/grub/grub.cfg
, то вони були б перезаписані якщо не під час першого, то під час одного з наступних оновлень системи.
Коли конфігурацію оновлено, ви можете перезавантажити комп'ютер і завантажувати Windows за допомогою нового пункту. Таким чином, можна додати кілька пунктів, тільки для різних розділів потрібно вказувати їхні UUID.