Вопрос или проблема
У меня на SSD установлен W11 (UEFI), и я хочу установить Linux (Kali) рядом с ним, но без загрузчика (меня устраивает смена загрузки ОС в UEFI, когда я хочу перейти на Linux) (виртуальная машина не подходит, потому что мне нужен доступ к оборудованию, которого нет в виртуальной машине). Моя цель — сохранить W11 в качестве основной ОС и загружать ее сразу при использовании компьютера, если не требуется использование Linux (в этом случае я бы зашел в UEFI и загрузил Linux оттуда) и, если возможно, легко избавиться от Linux, когда он больше не понадобится.
В интернете немного информации на эту тему, и я задаюсь вопросом, как в этом случае будет осуществляться разбивка диска и работа с EFI.
Спасибо!
В интернете немного информации на эту тему, и я задаюсь вопросом, как в этом случае будет осуществляться разбивка диска и работа с EFI.
Я удивлен, что вы не находите много информации об этом в интернете. Поскольку вы уже знаете термин UEFI, возможно, это был тот термин, который мог бы помочь вам найти хорошие результаты по двойной загрузке.
Я уверен, что тема двойной загрузки регулярно появляется здесь на U&L, так что, несмотря на то, что мои поиски не дали результатов, эту тему могут закрыть как дубликат.
Разбиение диска — это просто вопрос уменьшения существующих разделов настолько, чтобы освободить место для нового, чтобы установить вторую ОС. НЕ пытайтесь перемещать или уменьшать раздел EFI. Вам нужен только один такой раздел, и не всегда безопасно его перемещать.
Существуют инструменты, которые могут помочь вам в этом (масштабирование файловой системы перед уменьшением раздела), и некоторые установщики Linux могут помочь в этом.
Этот тип двойной загрузки был сложным, когда использовалась “наследственная” загрузка MBR, где материнская плата просто загружала несколько килобайт с начала диска и запускала их как программу.
С переходом на UEFI материнские платы теперь могут считывать файловые системы FAT32 и запускать программу формата PE32 (такого же формата, как Microsoft EXE) для старта ОС. Эта программа обычно является загрузчиком (даже у MS Windows есть свой).
Таким образом, с UEFI можно безопасно установить две ОС бок о бок, и у них просто будут разные загрузчики, сохраненные в одном разделе EFI. Это позволяет прошивке выбирать, что загружать.
Будьте осторожны при установке Linux, многие дистрибутивы еще не позволяют полноценно самостоятельно настраивать EFI и предпочитают автоматическую конфигурацию.
Это означает, что форки ОС иногда могут называть свои EFI-файлы одинаково. Например, у Mint и Ubuntu была проблема в последний раз, когда я их пробовал. Взаимодействие Kali с Ubuntu также может вызвать проблемы.
Поскольку вы хотите установить Kali с MS Windows, этот риск довольно низок.
Вы также упомянули, что хотите сделать это без загрузчика. Я не могу точно сказать за Kali, так как я его не использую, но он может попытаться установить загрузчик в EFI по умолчанию.
Если хотите, вы можете поэкспериментировать с EFISTUB. Это позволяет ядру действовать как собственный загрузчик при использовании EFI. У Arch Linux есть разумная вики-страница на эту тему.
- Сделайте резервную копию системного раздела EFI
- Установите Linux
- Загрузитесь в Linux. С помощью
efibootmgr
установите Windows в качестве вашей ОС по умолчанию. Это можно сделать из настроек EFI (например, настройки BIOS, F2/F8/F11 и т. д.).
После удаления Linux восстановите резервную копию системного раздела EFI или просто восстановите файл {EFI_SYSTEM_PARTITON}/EFI/Boot/BOOTX64.EFI
, который многие дистрибутивы перезаписывают.
Правильные дистрибутивы Linux не перезаписывают этот файл, поэтому для полного удаления установленного Linux вы можете просто удалить каталог {EFI_SYSTEM_PARTITON}/EFI/Linux_name
.
Я сделал это на своём компьютере. Самый простой способ — вынуть все диски из компьютера, кроме Windows-диска и любого другого диска, на который вы не хотите ставить Linux. Оставьте диск, на который вы ставите Linux, подключенным к компьютеру через USB и установите на него Linux как обычно. После установки Linux зайдите в него и настройте систему. Затем верните Windows-диск на место, с которого он грузился изначально, и загрузите компьютер с Windows, но если вы хотите использовать Linux, войдите в меню выбора загрузочного диска и выберите диск с Linux, с которого вы хотите загрузиться. Таким образом, вам не придется иметь дело с загрузчиком Linux, и вы сможете удалить Linux, если захотите, без повреждения вашего Windows-диска. Если вы установите Linux на другой диск с подключенным Windows-диском, то Linux увидит Windows и попытается использовать его как загрузочный диск. И если вы решите удалить Linux с загрузочным меню, использующим Windows-диск, потому что оставили Windows-диск подключенным, вы не увидите ваш Windows-установку, потому что загрузочное меню Linux удалено. Поэтому извлеките все диски, кроме того, на который хотите установить Linux, и сделайте установку таким образом, а затем верните остальные диски.
Ответ или решение
Установка Linux наряду с Windows без загрузчика на одном SSD требует тщательного подхода к разделению дисков и конфигурации загрузки. Ниже представлен пошаговый процесс, который поможет вам достичь этой цели, основываясь на предоставленной информации.
Теория
При установке двух операционных систем на один диск необходимо учитывать особенности загрузки и разметки диска, чтобы не нарушить работу существующей ОС. В данном случае Windows 11 уже установлена в режиме UEFI, и ваша цель — установить Kali Linux без использования загрузчика, что подразумевает возможность выбора операционной системы через настройки UEFI.
Режим UEFI позволяет компьютерам использовать EFI (Extensible Firmware Interface) раздел загрузки, который может содержать загрузочные программы для нескольких операционных систем. Это отличается от старого MBR (Master Boot Record), где загрузка осуществлялась из первых килобайт диска.
Пример
-
Подготовка раздела для Kali Linux:
- Прежде всего, создайте резервную копию всех важных данных, хранящихся на SSD.
- Откройте утилиту управления дисками в Windows и уменьшите том с Windows, чтобы освободить место для будущей Linux системы. Это можно сделать прямо в Windows через "Управление дисками" или с помощью сторонних программ для управления разделами.
- Не трогайте раздел EFI; он уже имеется у Windows и будет использоваться для обеих систем.
-
Установка Kali Linux:
- Создайте установочный носитель для Kali Linux (на USB или DVD).
- Во время установки выберите опцию "Продвинутой установки" (Expert Install), которая позволяет вам вручную управлять разметкой диска и предотвращает автоматическую установку загрузчика.
- Укажите заранее подготовленный свободный раздел для установки Kali и следуйте указаниям установщика.
-
Настройка загрузки через UEFI:
- Установите Kali Linux, но откажитесь от установки загрузчика GRUB (когда появится такое предложение).
- По завершении установки, перезагрузите компьютер и войдите в настройки UEFI (обычно это можно сделать, нажав клавиши F2, F10, F12 или Del).
- В UEFI добавьте запись загрузки для ядра Linux, использующего EFISTUB, или воспользуйтесь утилитой
efibootmgr
в Kali для настройки загрузки. Это даст вам возможность вручную выбирать систему для загрузки через меню загрузки UEFI.
Применение
После завершения установки и настройки вам потребуется убедиться в том, что Windows по-прежнему загружается по умолчанию. Для этого:
- Загрузитесь в Kali Linux и используйте команду
efibootmgr
, чтобы проверить список загрузочных записей. - Установите Windows в качестве первой загрузочной записи (например,
sudo efibootmgr -o N
, где N — номер записи Windows).
Если вы решите удалить Kali в будущем, достаточно удалить соответствующий раздел и очистить связанную запись в разделе EFI (обычно это файл или директория в ${EFI_SYSTEM_PARTITION}/EFI/имя_Linux
).
Таким образом, установка двух операционных систем на одном SSD с возможностью выбора через UEFI может быть выполнена без сложностей, а также обеспечивает легкость удаления Linux при необходимости. Это решение удовлетворяет требование использовать аппаратное обеспечение напрямую, что невозможно в виртуальных машинах, и сохраняет возможность быстро вернуться к Windows в качестве основной системы.
Этот подход не требует изменения основной логики работы системы или рисков, связанных с некорректной установкой загрузчиков, и предоставляет полную гибкость управления процессом загрузки, что является особенно актуальным в профессиональных ИТ-средах.