Skip to content

System Discovery ru

crim50n edited this page Oct 16, 2026 · 2 revisions

Обнаружение системы

На этой странице объясняется, что такое from, ip, cache, bext, toram, и как изменяются параметры загрузки.toram=full Это предназначено для пользовательских записей загрузки, сетевой загрузки и устранения неполадок. Большинству пользователей достаточно выбрать стандартный пункт в меню загрузки без ручной настройки этих параметров.

После загрузки ядра и initramfs загрузчиком, initramfs должен найти дерево данных MiniOS, которое содержит .sb системные модули. Это происходит до запуска обычной сетевой подсистемы, рабочего стола и постоянной сессии пользователя.

Простыми словами

MiniOS должен найти каталог, в котором находятся его системные модули. Обычно он ищет на подключённых дисках каталог minios/ . Параметр from= указывает другой каталог или ISO-образ. Сетевые параметры заменяют этот локальный поиск на скачивание ISO по HTTP или через PXE.

Нахождение диска не гарантирует полноту набора модулей, а обнаружение системных файлов не включает постоянство данных. Это отдельные этапы запуска.

Пояснение параметров

Параметр Что определяет MiniOS Типичное применение
from=PATH Ищет MiniOS в указанной директории или ISO вместо первого найденного локального источника. Загрузка ISO, сохранённого на диске, или использование нестандартной директории.
from=askdisk Открывает интерактивный выбор раздела, содержащего MiniOS. Несколько подключённых дисков содержат возможные источники.
from=http://... Монтирует ISO с обычного HTTP-сервера. Управляемая загрузка по сети, при которой работающая система может продолжать зависеть от сервера.
ip=... Использовать раннюю статическую настройку сети. Без HTTP from=, выбирается загрузка данных PXE и пропускается поиск локальных дисков. Развёртывание через PXE или статическая адресация для HTTP ISO.
cache=MB Выделяет кэш httpfs для HTTP ISO. Это не гарантирует загрузку всего ISO-образа. Снижает количество повторных чтений с HTTP-источника.
bext=EXTENSION Ищет имена файлов модулей с другим расширением вместо .sb. Только для специализированных образов; не выполняет преобразование модулей.
toram или toram=full Копирует обнаруженные системные данные MiniOS, включая скрытые элементы верхнего уровня, но без changes/, в RAM и пытается отключить источник. Копирование сессии использует perchtoram отдельно. Без дополнительных параметров означает full. Операция RAM на машине с достаточным объёмом памяти.

Если при локальной загрузке с USB процесс останавливается до появления рабочего стола, сначала удалите пользовательские from= и ip= значения. Случайно заполненное поле ip= мешает обнаружению локальных дисков, а неверное значение from= может привести к тому, что MiniOS будет искать несуществующий путь.

Приоритет источников

Выбор источника происходит по фиксированному приоритету:

  1. Буквальное значение from=http://... выбирает HTTP ISO.
  2. В противном случае, любое непустое значение ip= выбирает загрузку по PXE.
  3. В остальных случаях from=askdisk или from=askdisk:... открывает выбор диска.
  4. Если ни один из вышеуказанных вариантов не выбран, initramfs сканирует локальные блочные устройства.

Два сетевых пути не возвращаются к локальным носителям. После попытки загрузки HTTP ISO или PXE результат возвращается только по сети; если результат непригоден или неполон, проверка или последующая настройка завершатся ошибкой.

Этот порядок имеет два важных следствия:

  • from=http://... имеет приоритет над ip=. Необязательный параметр ip= затем задаёт статическую адресацию для подключения к HTTP ISO.
  • Непустое значение ip= имеет приоритет над любым локальным значением from=, включая устройство, каталог, путь к ISO или askdisk. Не используйте ip= только для настройки сети на локально загруженной системе.

Локальное обнаружение

Если не указан HTTP-источник или ip=, MiniOS выполняет 45 проходов обнаружения, примерно один раз в секунду. Каждый проход обновляет список устройств и получает кандидатов блочных устройств из blkid. Если /dev/mapper/ventoy существует, сначала пробуется это ISO-сопоставление; оставшиеся кандидаты сортируются по имени устройства и дубликаты удаляются. Сохраняется первый подходящий источник MiniOS. Это предотвращает ошибочное определение модулей замены на разделе данных Ventoy как основного ISO-источника.

Если from= пуст, путь, проверяемый на каждом файловой системе, — это minios. Источник считается подходящим, если либо этот каталог, либо его непосредственный подкаталог modules/ содержит хотя бы один файл с расширением .sb по умолчанию. Параметр bext= изменяет расширение, используемое для этой проверки. Обнаружение не проверяет полноту или загрузочность найденного набора модулей.

Каждый кандидат изначально монтируется только для чтения. После подтверждения пригодности MiniOS пытается сделать выбранный раздел данных доступным для записи, но если это невозможно, источник всё равно считается допустимым.

Локальныеfrom= формы

Обычный относительный или абсолютный путь интерпретируется внутри каждого файлового раздела-кандидата. Начальные слэши нормализуются при формировании пути, поэтому оба варианта ищут один и тот же каталог:

from=minios
from=/minios

Если указанный путь — обычный файл на файловой системе-кандидате, MiniOS воспринимает его как ISO-образ, монтирует его в режиме только для чтения и проверяет каталог minios внутри ISO:

from=/images/minios.iso

Пути с указанием устройства поддерживают только следующие формы:

from=/dev/sdb1/minios
from=/dev/sr0/minios
from=/dev/disk/by-label/MINIOS/minios

/dev/<name>/path поддерживает простое имя устройства, за которым следует путь. Форма с меткой должна быть строго /dev/disk/by-label/LABEL/path; метка определяется через blkid, затем оставшаяся часть пути проверяется на этой файловой системе.

Нет соответствующего парсера для путей по UUID, PARTUUID или by-id. Такие формы, как показано ниже, не поддерживаются:

from=/dev/disk/by-uuid/UUID/minios
from=/dev/disk/by-partuuid/PARTUUID/minios
from=/dev/disk/by-id/ID/minios

Интерактивный выбор

Используйте askdisk для выбора раздела и последующей проверки пути на нём:

from=askdisk
from=askdisk:custom:dir

В первой форме проверяется minios на выбранном разделе. Во второй форме двоеточия становятся разделителями пути, поэтому askdisk:custom:dir проверяет custom/dir. Синтаксис со слэшем, например from=askdisk/custom/dir также открывает селектор, но незаметно теряет пользовательский путь и проверяет minios; не используйте его.

Список устройств обновляется, пока открыт селектор, и не включает swap-разделы. После выбора раздела всё равно выполняется стандартная проверка наличия модулей; одного выбора раздела недостаточно.

HTTP ISO

HTTP-источник ISO имеет следующий вид:

from=http://server.example/path/minios.iso

Распознаётся только обычный HTTP. HTTPS и другие схемы URL не поддерживаются. initramfs находит первый обнаруженный не-loopback сетевой интерфейс, поднимает сеть и монтирует удалённый ISO через httpfs2. Выбор интерфейса не проверяет наличие линка, доступность или пригодность интерфейса на системе с несколькими NIC.

Когда ip= отсутствует, загрузка HTTP ISO запрашивает DHCP с помощью udhcpc. Если ip= присутствует, используются статические поля, ожидаемые PXE-парсером:

ip=<client-ip>:<server-ip>:<gateway-ip>:<netmask>[:<port>]

При загрузке HTTP ISO URL всё равно определяет HTTP-сервер. Статические поля задают адрес клиента, маску сети, шлюз по умолчанию и ранние записи DNS; необязательное поле порта относится к загрузке файлов по PXE и не заменяет порт в URL ISO.

cache=<MB> позволяет создать кэш httpfs заданного размера в /tmp. Это именно кэш, а не гарантированная полная загрузка. Рабочая система продолжает зависеть от удалённого ISO и сети, если только успешное копирование RAM не отсоединит источник.

Загрузка данных по PXE

Любое непустое значение ip= выбирает загрузку данных по PXE, если только сначала не выбран from=http://.... Поддерживаемый синтаксис:

ip=<client-ip>:<server-ip>:<gateway-ip>:<netmask>[:<port>]

Маска сети указывается в виде IPv4 с точками. Необязательный HTTP-порт по умолчанию — 7529. Общие формы ядра или dracut, такие как ip=dhcp и ip=:::::eth0:dhcp не поддерживаются. Загрузка данных по PXE не имеет варианта с DHCP в этом парсере.

MiniOS настраивает первый обнаруженный не-loopback интерфейс без проверки наличия рабочего линка. Сначала запрашиваются PXEFILELIST и перечисленные файлы MiniOS по HTTP с сервера. TFTP — ограниченный резерв: он выбирается только если начальный HTTP-запрос к PXEFILELIST не удался. Это не общий механизм переключения интерфейсов, не возврат к локальным носителям и не восстановление после любой частичной неудачи HTTP-загрузки.

Копирование и отсоединение с помощью toram=full

toram=full важно для обнаружения, так как это может устранить постоянную зависимость от выбранного источника. После обнаружения источника и любого внешнего дерева MiniOS, системные данные копируются в RAM, затем выполняется попытка размонтировать источник и переместить копию RAM на его место. Только успешное размонтирование и перемещение отсоединяют этот источник; также необходимо освободить файловые системы ISO-хостов и сопоставления Ventoy.

Жёсткие ограничения:

  • Нет предварительной проверки, что доступный RAM способен вместить копию.
  • Полное копирование системы включает скрытые элементы верхнего уровня и пропускает changes/ вне зависимости от того, была ли запрошена постоянность. Обнаруженное внешнее дерево MiniOS копируется поверх исходного дерева, включая замещающие модули.
  • Поддерживаемые контейнеры сессий копируются отдельно с помощью perchtoram=trim|full; perchtoram=off сохраняет зависимость от хранилища. Для нативных сессий есть отдельное ограничение, описанное в разделе Режимы загрузки.
  • Ошибки при копировании системы приводят к фатальному сценарию initramfs. Неудача размонтирования или перемещения может оставить исходный источник смонтированным, пока загрузка использует путь подготовки RAM. Не следует считать, что toram=full обеспечивает безопасность при удалении или потере сети; обязательно проверьте отсоединение.

См. Initrd persistence перед объединением toram с perch или perchdir.

Сбои и диагностика

Если все 45 локальных проходов неудачны, MiniOS переходит в режим фатальной ошибки и открывает оболочку initramfs вместо запуска live-системы. Сетевые пути не выполняют 45-проходный локальный поиск и не возвращаются к локальным носителям; в зависимости от частичного результата возможен сбой проверки данных или дальнейшей настройки. Выход из фатальной оболочки не восстанавливает отсутствующий источник и может только сделать последующую ошибку менее явной.

Полезные диагностические параметры:

  • debug включает трассировку shell, дополнительные диагностические сообщения и интерактивные оболочки на нескольких этапах initramfs. Для продолжения выйдите из оболочки.
  • timing выводит время между этапами initramfs и итоговое общее время.
  • rd.break запрашивает оболочку initramfs перед передачей управления основной системе; для продолжения загрузки выйдите из неё.

В оболочке проверьте /proc/cmdline, /proc/net/dev, blkid, смонтированные файловые системы и /var/log/livedbg. Начните с точных значений from=, ip= и bext= , показанных в /proc/cmdline.

Связанная документация

🏠 Home

🌐 Languages

English

📋 Getting started

🚀 Installing MiniOS

🖥️ Using MiniOS

⚙️ Preparing and customizing MiniOS

🛡️ Maintenance and recovery

📖 Reference

🛠️ Development

de

📋 Erste Schritte

🚀 MiniOS installieren

🖥️ MiniOS verwenden

⚙️ MiniOS vorbereiten und anpassen

🛡️ Wartung und Wiederherstellung

📖 Referenz

🛠️ Entwicklung

es

📋 Primeros pasos

🚀 Instalando MiniOS

🖥️ Usar MiniOS

⚙️ Preparar y personalizar MiniOS

🛡️ Mantenimiento y recuperación

📖 Referencia

🛠️ Desarrollo

fr

📋 Premiers pas

🚀 Installation de MiniOS

🖥️ Utiliser MiniOS

⚙️ Préparer et personnaliser MiniOS

🛡️ Maintenance et récupération

📖 Référence

🛠️ Développement

id

📋 Memulai

🚀 Menginstal MiniOS

🖥️ Menggunakan MiniOS

⚙️ Menyiapkan dan menyesuaikan MiniOS

🛡️ Pemeliharaan dan pemulihan

📖 Referensi

🛠️ Pengembangan

it

📋 Per iniziare

🚀 Installazione di MiniOS

🖥️ Usare MiniOS

⚙️ Preparare e personalizzare MiniOS

🛡️ Manutenzione e ripristino

📖 Riferimento

🛠️ Sviluppo

pt-BR

📋 Primeiros passos

🚀 Instalando o MiniOS

🖥️ Usar MiniOS

⚙️ Preparando e personalizando o MiniOS

🛡️ Manutenção e recuperação

📖 Referência

🛠️ Desenvolvimento

ru

📋 Начало работы

🚀 Установка MiniOS

🖥️ Использование MiniOS

⚙️ Подготовка и настройка MiniOS

🛡️ Обслуживание и восстановление

📖 Справочник

🛠️ Разработка

Clone this wiki locally