Перейти до вмісту

Перемикання між KDE Linux та іншою операційною системою

Якщо у вас встановлено KDE Linux разом із іншою операційною системою на основі Linux, ви можете отримати доступ до обох через меню завантаження мікропрограми вашого комп’ютера — те, яке ви побачите, натиснувши клавішу, наприклад F12 під час запуску комп'ютера.

Це працює, але означає, що натискання клавіші потрібно вловлювати протягом секунди або двох під час кожного перезавантаження. На цій сторінці описано, як додати запис для кожної системи до меню завантаження іншої системи, щоб ви могли перемикатися між ними з меню, яке чекатиме на вашу реакцію.

Ця сторінка не пояснює, як встановити дві операційні системи паралельно. Вона передбачає, що у вас вже встановлені обидві системи, обидві встановлені в режимі UEFI і використовують один і той самий системний розділ EFI (ESP). Зверніть увагу, що встановлення KDE Linux на будь-що, крім усього диска може призвести до збою за певних обставин і ще не є офіційно підтримуваним варіантом.

У якій системі це слід вводити?

Кожен розділ нижче позначено міткою системи, до якої належать його команди, оскільки ці дві системи не є взаємозамінними:

  • У 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.

Статтю надіслано , умови ліцензування — CC-BY-4.0.