Найти тему

netboot.xyz – Установка Linux онлайн с USB флешки

Оглавление
netboot.xyz – Установка Linux онлайн с USB флешки
netboot.xyz – Установка Linux онлайн с USB флешки

Приветствую!

Думаю многие из вас создавали загрузочные флешки. А некоторые даже флешки с 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
Определение блочного имени usb устройства
Определение блочного имени usb устройства

Команда 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:

Настройка сети в netboot
Настройка сети в netboot

Нужно будет вручную указать сетевой интерфейс, ip и прочие параметры.

После настройки сети, перед нами появится главное меню программы netboot:

Главное меню netboot
Главное меню netboot

Для демонстрации, давайте протестируем запуск LiveCD сессии.

Пример запуска сессии LiveCD

Представим, что мы супер хацкеры и попробуем запустить LiveCD сессию Kali Linux. Выбираем соответствующий пункт:

LiveCD
LiveCD

И нужный дистрибутив:

Выбор дистрибутива для LiveCD сессии
Выбор дистрибутива для LiveCD сессии

Дважды нажимаем Enter и ждем пока загрузится дистрибутив Kali Linux и сама LiveCD сессия.

Это может занять какое то время, в зависимости от скорости вашего интернета и мощности железа.

И вот мы считай Mr.Robot, юзаем Kali:

Рабочий стол Kali Linux
Рабочий стол Kali Linux

Пример запуска установки Linux дистрибутива

Можем также попробовать запустить инстралятор какого нибудь другого дистрибутива, например Arch Linux. В главном меню выбираем Linux Network Installs, затем нужный дистрибутив:

Запуск установки Arch Linux через интернет
Запуск установки Arch Linux через интернет
Выбор версии дистрибутива
Выбор версии дистрибутива

Начнется загрузка образа..

Скачивание образа Arch Linux перед запуском
Скачивание образа Arch Linux перед запуском

В результате запуститься установщик, в данном случае Archiso. Прекрасно, мы в Arch Linux, теперь приступим к установке. Шутка) т.к это отдельная большая тема.

Запущенный Archiso
Запущенный Archiso

В будущем обязательно сделаю инструкцию по установке арча, возможно также к тому времени я допилю Ansible playbook по его автоматической установке и настройке с нуля с шифрованием) но это все мечты планы.

Послесловие

Мы с вами познакомились с интересным open source инструментом, с помощью которого можно устанавливать Linux онлайн, а создание загрузочной флешки занимает считанные секунды.

Скажу честно, для меня данный проект стал открытием. Странно, что я про него слышал ранее. netboot.xyz – это довольно полезный и современный инструмент. Конечно, только при наличии доступа в интернет и сетевого канала с хорошей пропускной способностью. Но сегодня это не является проблемой)

Хотел отметить еще один момент: при создании флешки способом, описанным выше, мне не удалось изменить разметку моей флешки так, чтобы она осталась загрузочной, и в то же время использовать оставшееся на ней пространство. Как, к примеру, это реализовано в программе Ventoy. Если вы знаете корректный способ, пожалуйста сообщите мне в нашем чате телеграм)

Полезные источники

Мои ссылки: