Запуск ISO-образов напрямую через GRUB2
Зачем это нужно
- Оценить дистрибутив без расхода носителей.
- Быстро переключаться между разными live‑образами.
- Упростить тестирование и аварийное восстановление.
Получение и проверка загрузочных ISO‑образов
Обычно ISO скачивают с официального сайта дистрибутива. Выберите образ, совместимый с вашей архитектурой (например, amd64) и способом загрузки (Live, DVD, netinst). Если образ загружается с USB, он, скорее всего, загрузится и из GRUB2 при корректной конфигурации.
После загрузки проверьте целостность образа контрольной суммой. Самый простой метод — md5 (или предпочтительнее — sha256, если доступно): это выдаст длинную комбинацию цифр и букв, которую нужно сравнить со значением на странице загрузки.

Важно: если на странице загрузки указан sha256, используйте его вместо md5. md5 всё ещё работает, но слабее защищён от коллизий.
Подготовка GRUB2
ISO содержит файловую систему с ядром и initrd. Задача GRUB2 — указать на файл ISO, примонтировать его через loopback и загрузить ядро + initrd изнутри ISO.
В примере ниже мы настроим запуск Kubuntu 15.04 на машине с Ubuntu 14.04 в качестве пункта меню GRUB. Этот подход работает для большинства современных Ubuntu‑производных, но пути к ядру и initrd внутри ISO могут отличаться у других дистрибутивов.
Предположим, что файл kubuntu-15.04-desktop-amd64.iso находится в каталоге /home/maketecheasier/TempISOs/ на разделе /dev/sda1.
Откройте для правки файл:
/etc/grub.d/40_customЭтот файл позволяет добавить собственные пункты меню. Обычно он уже существует и содержит несколько строк по умолчанию.

Добавьте ниже комментариев (не удаляя оригинального содержимого) блок с вашей записью. В примере для Kubuntu добавлен пункт меню:
menuentry "Kubuntu 15.04 ISO"{
setisofile="/home/maketecheasier/TempISOs/kubuntu-15.04-desktop-amd64.iso"
loopback loop (hd0,1)$isofile
echo"Starting $isofile..."
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=${isofile} quiet splash
initrd (loop)/casper/initrd.lz
}
Разбор кода по строкам
- setisofile — переменная с путём к ISO. Измените её, если ISO лежит в другом месте.
- loopback loop (hd0,1)$isofile — создаёт loop‑устройство внутри GRUB и указывает, где найти ISO. Обратите внимание на обозначение
(hd0,1).
GRUB использует нумерацию дисков и разделов по‑своему: диски считаются от 0 (hd0 — первый диск), а разделы — от 1 (1 — первый раздел). Например, /dev/sda1 в GRUB будет hd0,1, а /dev/sdb3 — hd1,3.
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=${isofile} quiet splash — указывает на ядро, которое нужно загрузить из ISO. На Ubuntu‑производных ядро обычно лежит в каталоге
/casperи может называтьсяvmlinuzилиvmlinuz.efi. Если вы используете другой дистрибутив, ядро может быть в другом месте — проверьте ISO с помощью архиватора.initrd (loop)/casper/initrd.lz — загружает initrd (или initramfs). Этот файл отвечает за создание RAM‑диска и инициализацию live‑сесии.
Проверка и обновление GRUB2
Чтобы применить изменения, выполните в терминале:
sudo update-grub
После перезагрузки в меню GRUB появится новый пункт. Выберите его, чтобы загрузиться в live‑среду прямо из ISO, как если бы вы загрузились с DVD или USB.

Когда это не сработает (примеры и ограничения)
- Образы, использующие нестандартные загрузчики или зашифрованные контейнеры внутри ISO, могут не поддерживать такую схему.
- Некоторые дистрибутивы ожидают, что ISO будет на USB и используют особые скрипты — в таком случае потребуется дополнительная настройка.
- Если ISO использует нестандартное имя ядра или initrd, GRUB не найдёт файлы; нужно открыть ISO и проверить структуру.
Важно: если при загрузке возникает ошибка, проверьте правильность пути в setisofile и номер раздела в объявлении loopback.
Альтернативные подходы
- Использовать системный инструмент типа Ventoy — он позволяет копировать множество ISO на USB и выбирать их при старте без записи каждого образа.
- Записать ISO на отдельный раздел диска и настроить GRUB на его монтирование.
- Создать виртуальную машину (VirtualBox, QEMU) и запускать ISO в ней — удобно для тестирования разных ОС параллельно.
Пошаговая методология (мини‑метод)
- Скачайте ISO и проверьте контрольную сумму.
- Поместите ISO в постоянный каталог на разделе, доступном GRUB (обычно не в зашифрованном домашнем каталоге).
- Откройте /etc/grub.d/40_custom и добавьте пункт меню.
- Скорректируйте
(hdX,Y)под ваш диск и раздел. - Сохраните файл и выполните sudo update-grub.
- Перезагрузите и выберите пункт в меню GRUB.
Рекомендации по безопасности и практичности
- Кладите ISO на незашифрованный раздел, если вы часто будете его использовать, или на отдельный раздел, читаемый до расшифровки LUKS. GRUB обычно не читает зашифрованные разделы без дополнительной настройки.
- Держите резервную копию /etc/grub.d/40_custom перед изменениями.
- Используйте sha256 для проверки целостности, когда это возможно.
Отладка и частые ошибки
- Пустой экран или dropped to shell: проверьте правильность путей к ядру и initrd.
- «File not found»: скорее всего указан неверный
(hdX,Y)или путь внутри ISO. - ISO не видит накопители: некоторые live‑системы ожидают наличие файловой метки или особых параметров загрузки.
Краткий чеклист для отладки:
- Путь в setisofile корректен и файл существует.
- Номер диска/раздела в loopback совпадает с расположением ISO.
- Файлы vmlinuz / initrd действительно присутствуют внутри ISO (проверьте архиватором).
- Выполнен sudo update-grub и перезагрузка.
Роли и обязанности (короткие чеклисты)
- Для домашнего пользователя: убедиться, что ISO на локальном разделе, сделать бэкап 40_custom, протестировать.
- Для системного администратора: документировать путь, версию ISO, хранить файл в доступном месте и контролировать права доступа.
Критерии приёмки
- Пункт меню появляется в GRUB после sudo update-grub.
- Вы можете загрузиться в live‑среду и получить рабочую сессию.
- Система внутри live‑образа видит ожидаемые устройства (USB, диски) при тестировании.
Краткий глоссарий (1‑строчные определения)
- GRUB2 — загрузчик, управляющий начальной загрузкой ОС.
- loopback — механизм, позволяющий монтировать файл как блок‑устройство.
- initrd/initramfs — крошечная файловая система, загружаемая в память для подготовки основного корня.
Примеры использования и тестовые сценарии
- Тест: поместите два ISO в каталог, создайте два пункта в 40_custom и убедитесь, что оба загружаются.
- Краевой случай: ISO на зашифрованном разделе — убедитесь, что GRUB может читать раздел до расшифровки.
Быстрый план восстановления (rollback)
- Если система после изменения не загружается, при загрузке выберите старую запись GRUB (если есть).
- Загрузитесь с live‑USB и восстановите /etc/grub.d/40_custom из резервной копии.
- Выполните sudo update-grub и перезагрузитесь.
Итог
Запуск ISO напрямую через GRUB2 — удобный и гибкий способ тестировать live‑среды без постоянного использования USB или DVD. Главные шаги: положить ISO в доступное место, создать loopback‑запись в /etc/grub.d/40_custom, проверить пути к ядру и initrd и выполнить sudo update-grub. В большинстве случаев это работает для Ubuntu‑производных, но всегда проверяйте структуру конкретного ISO.
Важно: перед изменениями делайте резервную копию конфигурационных файлов и проверяйте контрольные суммы загруженных образов.
Похожие материалы
Авто-включение геолокации Google Maps на Samsung
Проверить скорость ОЗУ в Windows
Как использовать GitHub Copilot в Visual Studio
Обновление до Windows 10 Fall Creators Update
Рукописный ввод в Gboard — настройка и советы