Перемикання між KDE Linux та іншою операційною системою
Якщо у вас встановлено KDE Linux разом із іншою операційною системою на основі Linux, ви можете отримати доступ до обох через меню завантаження мікропрограми вашого комп’ютера — те, яке ви побачите, натиснувши клавішу, наприклад F12 під час запуску комп'ютера.
Це працює, але означає, що натискання клавіші потрібно вловлювати протягом секунди або двох під час кожного перезавантаження. На цій сторінці описано, як додати запис для кожної системи до меню завантаження іншої системи, щоб ви могли перемикатися між ними з меню, яке чекатиме на вашу реакцію.
У якій системі це слід вводити?
Кожен розділ нижче позначено міткою системи, до якої належать його команди, оскільки ці дві системи не є взаємозамінними:
- У KDE Linux команди від імені адміністратора використовують
run0, як і скрізь у цій документації. - В іншій системі вони, найімовірніше, використовують
sudo, а розташування файлів залежить від дистрибутива.
Виконання команди для невідповідної системи у найкращому випадку не призведе до будь-яких наслідків.
Якщо інша система також використовує systemd-boot,
Зазвичай нічого налаштовувати не потрібно. systemd-boot знаходить записи, переглядаючи ESP, тому, якщо обидві системи записують в одну й ту саму систему, обидві ці системи вже має бути показано в одному меню.
Щоб перевірити, віддайте таку команду у KDE Linux або іншій системі:
bootctl list
Якщо GRUB використовує інша система
GRUB і systemd-boot не бачать один одного автоматично, тому слід додати окремий запис з кожного боку.
Додавання KDE Linux до меню GRUB
Віддайте цю команду в іншій системі, тій, де використано GRUB.
Додайте ці рядки до /etc/grub.d/40_custom під рядками, які вже є у файлі:
menuentry "systemd-boot" --class systemd {
insmod part_gpt
insmod fat
insmod chain
search --no-floppy --file --set=root /EFI/systemd/systemd-bootx64.efi
chainloader /EFI/systemd/systemd-bootx64.efi
}
Там нічого не потрібно налаштовувати: bootctl завжди встановлює systemd-boot за тим самим шляхом, незалежно від того, на якому дистрибутиві його було запущено.
Після цього зробіть файл виконуваним і перезапишіть налаштування GRUB:
sudo chmod +x /etc/grub.d/40_custom sudo grub-mkconfig -o /boot/grub/grub.cfg
У деяких дистрибутивах назва є іншою — наприклад, grub2-mkconfig і /boot/grub2/grub.cfg у Fedora і openSUSE. Скористайтеся тією, яку використано у вашому дистрибутиві.
Додавання GRUB до меню KDE Linux
Виконайте такі дії у KDE Linux.
Для цього вам спочатку потрібно знати, де на ESP знаходиться GRUB. Однозначної відповіді немає: кожен дистрибутив вибирає там свою власну назву каталогу, тому її доведеться визначати, а не копіювати.
Щоб визначити її, виконайте такі дії:
run0 find /boot -name 'grub*.efi' 2>/dev/null
У результаті відкиньте усю частину перед /EFI. Якщо ви отримаєте /boot/EFI/debian/grubx64.efi, потрібний вам шлях — /EFI/debian/grubx64.efi.
Якщо увімкнено Secure Boot, знайдіть у тому ж каталозі файл shimx64.efi і використовуйте цей шлях, якщо він є. Не кожен дистрибутив постачається з Secure Boot.
Тепер відкрийте текстовий редактор, створіть файл із назвою grub.conf у вашому домашньому каталозі та помістіть туди ось цей код:
title GRUB ([тут має бути назва іншої операційної системи]) efi [тут має бути шлях до файла EFI, наприклад /EFI/debian/grubx64.efi] sort-key zz-grub
Замініть частину першого рядка на той запис, який має бути викликано у меню, а частину другого рядка на шлях, який ви щойно визначили. Потім перемістіть файл на місце:
run0 mv ~/grub.conf /boot/loader/entries/grub.conf
bootctl list тепер має показувати пункт, і він з'явиться внизу меню завантаження під час наступного перезавантаження.
Нотатки
- Якщо у кожного типового пункту меню різні завантажувачі, встановіть хоча б для одного з них ненульовий час очікування, інакше вам доведеться перемикатися між пунктами зі швидкістю прискорювача часток. Тож уникайте цього.
- Спільний ESP містить ядра для обох систем, тому він може переповнюватися. Варто звернути увагу на команду
df -h /boot, якщо спроби оновлення завершуватимуться помилками. - Оновлення у будь-якій системі можуть змінити порядок завантаження мікропрограми або призвести до вилучення записів. Якщо щось несподівано зміниться, добре для початку віддати команди
efibootmgr -vіbootctl list. - Якщо дві системи мають окремі ESP, на боці GRUB усе може працювати, але на боці systemd-boot, зазвичай, ні, оскільки там можливість завантаження обмежено власним ESP.
Статтю надіслано Hadi Chokr, умови ліцензування — CC-BY-4.0.