Skip to content

Создание и загрузка образа Linux (вкл. Xinchuang)

Новый способ загрузки: используйте инструмент linuxupload (diskless_upload.sh). Одна команда выполняет сборку драйверов, разметку диска, установку загрузчика и загрузку системы — всё через мастер. Поддерживаются x86_64 и мультиархитектура Xinchuang (arm64 / loongarch64 / mips64el / riscv64); скрипт автоматически выбирает нужный бинарник по uname -m.

1) Установите ОС обычным образом

Установите Linux как обычно на физическую машину или ВМ (включая системы Xinchuang: Kylin, UOS, openEuler, Anolis). Завершите базовую настройку и установите нужное ПО.

2) Получите и распакуйте инструмент

Скачайте инструмент упаковки linuxupload.tar.gz, скопируйте его в установленную систему Linux и распакуйте:

Чтобы получить инструмент, обратитесь в службу поддержки.

bash
mkdir linuxupload
tar -xzf linuxupload.tar.gz -C linuxupload
cd linuxupload
ls -lah

Распакованный инструмент упаковки

О содержимом: diskless_upload.sh — основной скрипт загрузки; в bin/ находятся бинарники по архитектурам (vdmount / vdclient / rb_client и др.), а efi/, grub/, scripts/ и newvhd/ — файлы загрузки и клиента.

3) Запустите инструмент загрузки

⚠️ Об усиленной защите на системах Xinchuang: системы Xinchuang, такие как Kylin, UOS, openEuler и Anolis, по умолчанию включают усиленную защиту (KYSEC, SELinux, проверку подписей в режиме разработчика и т. п.). Это вызывает два типа проблем:

  1. Блокировка по правам — сборка драйверов, разметка или запись на диск могут быть заблокированы напрямую;
  2. Повторное сканирование замедляет / подвешивает загрузку (менее очевидно) — например, демон повторного сканирования KYSEC в Kylin измеряет каждый файл, записанный на сетевой диск, и полностью считывает его обратно по сети, насыщая канал и «голодая» запись загрузки. Симптом: загрузка доходит до середины, после чего скорость резко падает или обнуляется и кажется, что всё зависло. Если ваша загрузка теряет весь прогресс на середине — почти всегда это повторное сканирование защитного механизма; отключите его, и загрузка возобновится.

Новый diskless_upload.sh уже делает это автоматически: перед загрузкой он временно отключает KYSEC, останавливает демон повторного сканирования и приостанавливает распространённые антивирусы (QAX / 360 / avserver в Kylin / ClamAV и т. п.), выводя уведомление на экран. В большинстве случаев вручную ничего делать не нужно.

Если автоматическая обработка не охватывает вашу систему (best-effort) или загрузка всё равно блокируется / замедляется на середине, отключите защиту вручную по таблице ниже перед запуском скрипта (везде нужны root / sudo):

Система XinchuangМеханизм защитыКак отключить / войти
Kylin / NeoKylin (V10, V11, десктоп и сервер)KYSEC (защита Kylin)В терминале выполните sudo setstatus disable для временного отключения; добавьте -p для постоянного (sudo setstatus disable -p, остаётся отключённым после перезагрузки). В серверной редакции также можно sudo security-switch --set custom; при необходимости измените параметр загрузки GRUB security=kysec на пустой security=.
UnionTech UOSРежим разработчикаЦентр управления → Общие → Режим разработчика, затем активируйте онлайн (вход с UnionID) или офлайн (экспорт сведений о машине → скачать и импортировать офлайн-сертификат); после включения выполните sudo passwd root в терминале, чтобы задать пароль root. Примечание: режим разработчика — необратимая операция: он отключает проверку подписей и не может быть отменён.
deepinРежим разработчика / rootТо же, что режим разработчика UOS; или выполните sudo passwd root, чтобы задать пароль, затем su - для перехода в root.
openEulerSELinuxВременно: sudo setenforce 0 (режим permissive); постоянно: отредактируйте /etc/selinux/config, задайте SELINUX=disabled и перезагрузитесь.
Anolis / системы на базе Red Hat (RHEL, CentOS, Rocky, Alma и др.)SELinuxТо же, что openEuler: sudo setenforce 0 (временно) / задайте SELINUX=disabled в /etc/selinux/config и перезагрузитесь (постоянно).

Чтобы восстановить защиту после загрузки: на Kylin выполните sudo setstatus enable -p; для SELinux верните SELINUX=enforcing в /etc/selinux/config и перезагрузитесь. Режим разработчика UOS нельзя отменить после включения — учитывайте это.

Запустите скрипт от имени root:

bash
sudo ./diskless_upload.sh

Скрипт автоматически определяет архитектуру, собирает и загружает драйверы под ваше ядро (по сети), затем открывает мастер загрузки. Заполняйте каждое поле по подсказке (после каждого нажимайте Enter):

Мастер настройки загрузки

ПолеЗначение
[1/7] IP-адрес сервераIP сервера загрузки vDisk
[2/7] Имя администратораУчётная запись администратора сервера
[3/7] Пароль администратораПароль администратора сервера
[4/7] Имя образаИмя создаваемого образа
[5/7] Размер образа (ГБ)Размер виртуального диска; рекомендуется ≥ занятого места текущей системы
[6/7] Режим загрузки1 = BIOS (устаревший) / 2 = UEFI; должен совпадать с целевой машиной
[7/7] Суффикс архитектурыНеобязательно; нажмите Enter для значения по умолчанию (определяется через uname -m). Для модифицированного оборудования с той же архитектурой, но требующего отдельного загрузочного диска (Huawei Kunpeng, Phytium и т. п.), введите свой суффикс (напр. kunpeng, ft2000); он задаёт имя ISO развёртывания / загрузочного диска и сообщаемую архитектуру

4) Подтвердите и начните загрузку

Отображается сводка конфигурации. Проверив её, введите Y и нажмите Enter, чтобы начать:

Сводка конфигурации

После подтверждения скрипт автоматически: инициализирует и размечает виртуальный диск → форматирует его → устанавливает загрузчик (по выбранному BIOS/UEFI) → собирает бездисковый initrd → загружает локальную систему на виртуальный диск через rsync. Прогресс и процент загрузки отображаются на экране.

5) Загрузка завершена

После завершения загрузки появляется меню действий:

  • r перезагрузить систему
  • s выключить систему
  • c отмена (назад)

Образ загружен на сервер и может быть назначен клиентским машинам для бездисковой загрузки.

6) Сделать загрузочный диск из ISO развёртывания для развёртывания других компьютеров

Когда использовать: у целевой машины нет PXE ROM на сетевой карте / неудобно менять порядок сетевой загрузки, либо вам нужен загрузочный диск «вставил и устанавливай» для массового развёртывания. Во время загрузки скрипт на лету генерирует ISO развёртывания с помощью локального ядра; превратите его в USB-накопитель, чтобы загрузить любую «голую» машину в развёртывание — без PXE и без изменения порядка загрузки в BIOS.

6.1 Найдите сгенерированный ISO

По завершении загрузки на экране отображается путь к ISO. Файл называется как vdisk-deploy-<arch>.iso (напр. vdisk-deploy-aarch64.iso, vdisk-deploy-x86_64.iso). Он содержит локальное ядро + меню загрузки + драйверы и является образом isohybrid (можно записать на диск или напрямую на USB через dd).

⚠️ ISO зависит от архитектуры: ISO arm64 загружает только машины arm64, а x86_64 — только x86_64. Используйте ISO, сгенерированный на машине той же архитектуры, что и целевая.

6.2 Запишите ISO на USB-накопитель

⚠️ Записывайте только в режиме DD (образ) — никогда в режиме ISO! Этот ISO — гибридный загрузочный образ, созданный grub-mkrescue, и его можно записывать только «как есть», на весь диск. Если использовать режим «ISO Image» по умолчанию в Rufus, файлы переупаковываются, и при загрузке вы получаете error: unknown filesystem с переходом в grub rescue>. После нажатия START в Rufus, когда появится диалог «ISOHybrid image detected», обязательно выберите Write in DD Image mode (режим образа DD); или просто используйте balenaEtcher (всегда пишет «как есть», не спрашивает — самый надёжный вариант). После записи Windows может предложить отформатировать USB или показать его как крошечный/нечитаемый — это нормально, не форматируйте.

Выберите способ (существующие данные на USB будут стёрты — обязательно выберите правильное устройство):

  • Windows: используйте Rufus или balenaEtcher, чтобы записать ISO на USB. Когда Rufus спросит «режим ISO / DD», выберите режим DD.

  • Linux / macOS: запишите напрямую через dd (сначала подтвердите имя USB-устройства командой lsblk и замените /dev/sdX на него — не запишите на не тот диск):

    bash
    sudo dd if=vdisk-deploy-aarch64.iso of=/dev/sdX bs=4M status=progress conv=fsync
  • Также можно записать ISO на DVD.

6.3 Разверните другие компьютеры с загрузочного диска

  1. Вставьте подготовленный USB в целевую машину и убедитесь, что она в той же сети, что и сервер загрузки vDisk;
  2. Включите и нажмите клавишу одноразового меню загрузки (обычно F12 / F11 / F9 / Esc, зависит от платы), чтобы временно загрузиться с USB (не меняя порядок загрузки по умолчанию в BIOS и без PXE);
  3. В меню загрузки выберите присоединиться к компьютеру / выбрать компьютер для загрузки;
  4. Следуйте подсказкам, чтобы скачать и установить образ; после этого машина сможет нормально загружаться без диска;
  5. Тот же USB можно повторно использовать для нескольких машин той же архитектуры.

ISO загружается как на прошивке BIOS, так и на UEFI; «Тип компьютера / Архитектура ЦП» цели в консоли должны совпадать с её фактической прошивкой и архитектурой (см. Гетерогенное развёртывание).

Примечания

На протяжении всей загрузки требуется подключение к Интернету: драйверы собираются удалённо онлайн; без сети загрузку завершить нельзя.

Режим загрузки (BIOS / UEFI) должен совпадать с прошивкой целевого клиента, иначе клиент может не загрузиться.

Мультиархитектура Xinchuang обрабатывается автоматически — скрипт выбирает бинарник нужной архитектуры по uname -m. Новый скрипт автоматически ослабляет усиленную защиту (KYSEC и т. п.; см. шаг 3 выше) перед загрузкой; если загрузка всё равно блокируется или скорость резко падает / обнуляется на середине и кажется зависшей, скорее всего, защитный механизм повторно сканирует сетевой диск — отключите его вручную по шагу 3 и повторите.

ISO развёртывания зависит от архитектуры; один ISO загружает только машины той же архитектуры (см. шаг 6).