Приветствую!
Думаю многие из вас создавали загрузочные флешки. А некоторые даже флешки с Linux! Сегодня расскажу вам про open source проект: netboot.xyz, который позволяет загрузиться с USB носителя и онлайн установить любой популярный дистрибутив Linux (при наличии доступа в интернет). И много чего еще)
Присоединяйтесь к нашему каналу: t.me/r4ven_me и чату: t.me/r4ven_me_chat в Telegram.
Предисловие
На днях я заглянул в библиотеку, в особую секцию листал новостную ленту и мне попался на глаза этот крутой проект. Он позволяет менее чем за минуту создать загрузочный USB носитель (для разных архитектур и загрузочных систем) из образа размером в несколько мегабайт, с помощью которого можно установить (+LiveCD) любой популярный дистрибутив Linux онлайн: будь то Linux Mint, Debian, Manjaro, Kali Linux, Arch Linux, Fedora и пр.
Одно из главных преимуществ данного способа установки: доступность всегда свежих версий дистрибутивов Linux. Также использование данного инструмента позволяет отказаться от хранения различных iso образов на диске. Единственное условие для использования: доступ в интернет, желательно с хорошей пропускной способностью.
Проект netboot.xyz поддерживает установку не только Linux дистрибутивов, но и Windows (с нюансами), FreeBSD, а также запуск различных утилит для восстановления и тестирования оборудования. Загрузочный процесс осуществляется через PXE (Preboot Execution Environment) или iPXE (Improved Preboot Execution Environment).
Подробнее про протокол PXE на вики, подробнее про протокол iPXE также на вики.
Демонстрацию я буду выполнять в среде дистрибутива Linux Mint, но инструкция до жути проста и универсальна, поэтому актуальна и для других дистрибутивов Linux.
Для работы нам понадобиться флешка (которую не жалко). При создании все данные с неё будут стёрты, поэтому обязательно сделайте резервную копию важных файлов, если они на ней есть. Я вас предупредил)
Скачиваем образ со страницы загрузки на оф. сайте проекта: https://netboot.xyz/downloads/
Для примера берем стандартный .img образ для x86_64 архитектуры: netboot.xyz.img:
Вставляем нашу флешку в компьютер. Теперь определим её блочное имя в нашей Linux системе, с помощью файлового менеджера и терминала:
lsblk
Команда lsblk (list block devices) выводит список блочных устройств, присоединенных к вашему компьютеру. Подробнее man lsblk.
Важно, чтобы флешка была примонтирована, иначе команда создания не выполнится.
Открываем терминал в той директории, куда был скачан образ netboot.xyz.img и выполняем команду, как указано на официальном сайте (от имени суперпользователя):
ОСТОРОЖНО! В результате команды все данные с флешки будут удалены. Все действия вы выполняете на свой страх и риск.
cd ~/Загрузки
sudo -s
cat netboot.xyz.img > /dev/sda
/dev/sda – это блочное имя моей флешки в системе. В вашем случае устройство может иметь другое название. Не удалите случайно, то что не стоит удалять)
Для создание такой в флешки в среде Windows можно воспользоваться программой rufus.
После выполнения команды, если все прошло без ошибок, извлекаем нашу флешку и вновь вставляем в компьютер:
Как видно, ее название и содержимое изменилось.
Теперь перезагружаем компьютер и загружаемся с нашей настроенной флешки.
Подробнее про процесс загрузки с загрузочной флешки я рассказывал в статье: Установка Linux рядом с Windows: Шаг 4. Загрузка системы с установочного носителя.
При подключении к сети вашей машины посредством DHCP, сетевые параметры получаются автоматически. Если у вас используется статика, то ее можно настроить нажав m во время начальной загрузки netboot.xyz:
Нужно будет вручную указать сетевой интерфейс, ip и прочие параметры.
После настройки сети, перед нами появится главное меню программы netboot:
Для демонстрации, давайте протестируем запуск LiveCD сессии.
Пример запуска сессии LiveCD
Представим, что мы супер хацкеры и попробуем запустить LiveCD сессию Kali Linux. Выбираем соответствующий пункт:
И нужный дистрибутив:
Дважды нажимаем Enter и ждем пока загрузится дистрибутив Kali Linux и сама LiveCD сессия.
Это может занять какое то время, в зависимости от скорости вашего интернета и мощности железа.
И вот мы считай Mr.Robot, юзаем Kali:
Пример запуска установки Linux дистрибутива
Можем также попробовать запустить инстралятор какого нибудь другого дистрибутива, например Arch Linux. В главном меню выбираем Linux Network Installs, затем нужный дистрибутив:
Начнется загрузка образа..
В результате запуститься установщик, в данном случае Archiso. Прекрасно, мы в Arch Linux, теперь приступим к установке. Шутка) т.к это отдельная большая тема.
В будущем обязательно сделаю инструкцию по установке арча, возможно также к тому времени я допилю Ansible playbook по его автоматической установке и настройке с нуля с шифрованием) но это все мечты планы.
Послесловие
Мы с вами познакомились с интересным open source инструментом, с помощью которого можно устанавливать Linux онлайн, а создание загрузочной флешки занимает считанные секунды.
Скажу честно, для меня данный проект стал открытием. Странно, что я про него слышал ранее. netboot.xyz – это довольно полезный и современный инструмент. Конечно, только при наличии доступа в интернет и сетевого канала с хорошей пропускной способностью. Но сегодня это не является проблемой)
Хотел отметить еще один момент: при создании флешки способом, описанным выше, мне не удалось изменить разметку моей флешки так, чтобы она осталась загрузочной, и в то же время использовать оставшееся на ней пространство. Как, к примеру, это реализовано в программе Ventoy. Если вы знаете корректный способ, пожалуйста сообщите мне в нашем чате телеграм)
Полезные источники
Мои ссылки:
- Мой основной сайт - r4ven.me
- Мой телеграм - t.me/r4ven_me