Гид по технологиям

Загрузка Linux ISO напрямую с жёсткого диска через GRUB2

• 6 min read • Linux • Обновлено 23 Nov 2025
Загрузка Linux ISO с жёсткого диска (GRUB2)
Загрузка Linux ISO с жёсткого диска (GRUB2)

Быстрые ссылки

  • Получить ISO-файл Linux
  • Проверить содержимое ISO
  • Определить путь раздела жёсткого диска
  • Создать запись загрузки GRUB2

Внимание: этот метод предполагает установленную Linux-систему и загрузчик GRUB2. Нельзя загрузить ISO напрямую с Windows Boot Manager.

Зачем это нужно

Этот приём полезен, когда нужно:

  • Протестировать live-образ без создания загрузочной флешки.
  • Быстро установить систему с другого раздела.
  • Экономить время и носители при частых тестах дистрибутивов.

Коротко: вы храните ISO на разделе, добавляете меню в GRUB, и GRUB монтирует ISO как loop-устройство при загрузке.

Получите ISO-файл Linux

Скачайте нужный ISO и поместите его на раздел, доступный вашей системе. Для live-сред используйте «live CD/USB» версии образов. Многие утилиты и системные образы (rescue, recovery) тоже подходят.

Примечание: поддержка конкретного дистрибутива может требовать уникальных параметров загрузки. Если стандартные примеры не срабатывают, ищите инструкции для конкретной версии дистрибутива.

Проверка содержимого ISO

Нужно знать, где внутри ISO находятся файлы ядра и initrd (initramfs). Откройте ISO через файловый менеджер с поддержкой архивов (Archive Manager / File Roller) или смонтируйте ISO временно:

sudo mount -o loop /path/to/image.iso /mnt
ls -R /mnt | less
sudo umount /mnt

Ищите файлы типа vmlinuz, vmlinuz.efi, initrd.img, initrd.lz или похожие. Для Ubuntu/Ubuntu-based обычно они лежат в каталоге casper: vmlinuz и initrd.lz (или initrd.img).

Схема: расположение vmlinuz и initrd внутри ISO

ALT изображения: Схематическое расположение файлов vmlinuz и initrd внутри структуры ISO-образа

Определение пути раздела жёсткого диска

GRUB использует собственную нумерацию устройств: первый диск — hd0, второй — hd1 и т.д. Нумерация разделов в GRUB2 обычно начинается с 1. Поэтому /dev/sda1 соответствует (hd0,1), /dev/sdb3 — (hd1,3).

Просмотрите таблицу разделов:

sudo fdisk -l

Или используйте lsblk для более читабельного вывода:

lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT,LABEL

Найдите файл ISO и запомните, на каком разделе он хранится. Например, если ISO лежит в /home/user/Downloads на разделе /dev/sda1, то GRUB-устройство будет (hd0,1).

Пример вывода fdisk -l

ALT изображения: Вывод команды fdisk -l с перечнем дисков и разделов

Создание записи загрузки GRUB2 — пошагово

  1. Откройте файл для пользовательских записей:
sudo -H gedit /etc/grub.d/40_custom

Замените gedit на nano, vim или ваш редактор.

  1. Добавьте блок menuentry для каждого ISO. Пример для Ubuntu 14.04 (только как шаблон):
menuentry "Ubuntu 14.04 ISO" {
  set isofile="/home/name/Downloads/ubuntu-14.04.1-desktop-amd64.iso"
  loopback loop (hd0,1)$isofile
  linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=${isofile} quiet splash
  initrd (loop)/casper/initrd.lz
}

Объяснение:

  • set isofile — путь к ISO на вашем разделе.
  • loopback создаёт loop-устройство из ISO в контексте GRUB.
  • linux указывает путь к файлу ядра внутри ISO (в примере vmlinuz.efi).
  • initrd указывает путь к initrd внутри ISO.
  • Параметры kernel (boot=casper и iso-scan/filename=…) зависят от дистрибутива.

Варианты пути: если ISO лежит в корне раздела, указывайте только /name/Downloads/…, если на отдельном /home — включайте /home.

Важно: имена файлов ядра и initrd, а также параметры (например, файловая система, дополнительные опции) могут отличаться. Подберите их по содержимому конкретного ISO.

Иллюстрация: добавление ISO в конфигурацию GRUB

ALT изображения: Редактирование файла /etc/grub.d/40_custom для добавления записи загрузки ISO

  1. Сохраните файл и сгенерируйте новый grub.cfg:

sudo update-grub

Это соберёт записи из /etc/default/grub и каталогов /etc/grub.d/ и создаст /boot/grub/grub.cfg.

Процесс генерации grub.cfg на Ubuntu

ALT изображения: Терминал, показывающий выполнение команды update-grub и создание конфигурации

  1. Перезагрузите компьютер. Для отображения меню GRUB может потребоваться удерживать клавишу Shift при старте. Выберите созданную запись и загрузитесь.

Тонкости и распространённые ошибки

  • Неправильный путь к ISO. Убедитесь в точном прописании имени и регистра символов.
  • Неправильные пути к kernel/initrd внутри ISO. Проверьте структуру ISO.
  • Дистрибутив может не поддерживать загрузку с ISO таким способом. Тогда потребуется другой набор параметров.
  • BIOS vs UEFI: для UEFI-образов иногда нужен vmlinuz.efi; для Legacy — обычный vmlinuz.
  • Файловая система раздела: GRUB должен поддерживать FS раздела (ext4, ntfs с ограничениями, vfat и т.д.).

Важно: если при загрузке возникает чёрный экран или ошибка, внимательно проверьте сообщения GRUB и пути файлов. Часто причина — несоответствие параметров boot= и iso-scan/filename.

Альтернативные подходы

  • Создать загрузочную флешку через dd, Rufus или Etcher. Надёжно и просто.
  • Записать образ на DVD, если это удобно.
  • Использовать PXE (network boot) для массового развёртывания.
  • Монтировать ISO и запустить инсталлятор из существующей системы (для некоторых дистрибутивов доступна опция chroot/install-from-local).

Каждый метод имеет свои плюсы: запись на USB даёт переносимость; PXE удобен для нескольких машин; загрузка из GRUB не требует дополнительных носителей.

Мини‑методология: быстрый чеклист (шаг за шагом)

  1. Скачайте нужный ISO и поместите его на доступный раздел.
  2. Смонтируйте или откройте ISO, найдите vmlinuz/initrd и запомните их пути.
  3. Определите устройство раздела через lsblk или fdisk -l.
  4. Откройте /etc/grub.d/40_custom и добавьте menuentry с корректными путями.
  5. Выполните sudo update-grub.
  6. Перезагрузите и выберите новую запись.

Ролевые чек‑листы

Для обычного пользователя:

  • Убедитесь, что ISO в вашей папке.
  • Скопируйте точный путь к файлу.
  • Сообщите администратору, если не уверены в правах записи в /etc/grub.d/.

Для администратора/инженера:

  • Проверьте совместимость GRUB с файловой системой раздела.
  • Подготовьте резервную копию /boot/grub/grub.cfg и /etc/grub.d/40_custom.
  • Настройте требования UEFI/Legacy и Secure Boot (при наличии).
  • Протестируйте запись на тестовой машине.

Инцидентный план и откат

Если новая запись ломает загрузку:

  1. При загрузке нажмите Shift (или Esc) для входа в меню GRUB.
  2. Выберите рабочую предыдущую запись (например, «Advanced options» → старое ядро).
  3. Если меню недоступно, загрузитесь с Live USB, смонтируйте раздел /boot и восстановите /etc/grub.d/40_custom из резервной копии.
  4. Выполните sudo update-grub и перезагрузите.

Критерии приёмки:

  • Появляется запись ISO в меню GRUB.
  • Образ загружается до пользователя/инсталлятора без фатальных ошибок.
  • При неудаче — есть рабочая процедура отката.

Быстрая галерея крайних случаев

  • ISO с нестандартной структурой (отсутствует casper): нужно искать специфичные ядро/initrd и параметры.
  • Secure Boot включён — ядро внутри ISO не подписано: загрузка может блокироваться.
  • ISO большого размера на разделе c ограничениями файловой системы (например, FAT32): один файл >4 ГБ не поместится.

Короткий словарь терминов

  • ISO: образ оптического диска.
  • GRUB2: загрузчик GNU GRUB версии 2.
  • loopback: механизм GRUB для обращения к ISO как к блочному устройству.
  • initrd/initramfs: начальная файловая система, загружаемая в память перед монтированием корня.

Частые вопросы

Q: Можно ли загружать Windows ISO этим способом?

A: Нет. Windows ISO обычно не загружаются через GRUB как Linux образы. Для Windows лучше использовать USB или специализированные загрузчики.

Q: Что при UEFI и Secure Boot?

A: Для UEFI-образов используйте соответствующие файлы ядра (vmlinuz.efi). Secure Boot может блокировать неподписанные образы; отключите Secure Boot или подпишите образы.

Q: Нужно ли изменять /boot/grub/grub.cfg вручную?

A: Нет. Изменяйте /etc/grub.d/40_custom и затем выполняйте update-grub. Ручные правки grub.cfg перезапишутся.

Пример записи для другого дистрибутива (шаблон)

menuentry "MyDistro ISO" {
  set isofile="/path/to/mydistro.iso"
  loopback loop (hdX,Y)$isofile
  linux (loop)/boot/vmlinuz boot=live components quiet
  initrd (loop)/boot/initrd.img
}

Настройте пути и параметры boot= под ваш дистрибутив.

Decision flow (выбор способа загрузки)

flowchart TD
  A[Нужна быстрая загрузка ISO?] --> B{Есть другой носитель?}
  B -- Да --> C[Использовать USB/DVD]
  B -- Нет --> D{Система под управлением Linux с GRUB2?}
  D -- Да --> E[Добавить запись в 40_custom и update-grub]
  D -- Нет --> F[Использовать PXE или создать USB]
  E --> G{Загрузилось?}
  G -- Да --> H[Готово]
  G -- Нет --> I[Трассировать ошибки, проверить пути ядра/initrd]

Итог и рекомендации

  • Метод удобен для быстрых тестов и установок без внешних носителей.
  • Всегда проверяйте структуру ISO и пути к kernel/initrd.
  • Держите резервную копию конфигураций GRUB и план отката.

Важно: если вы не уверены в совместимости ISO или в настройках UEFI/Secure Boot — используйте загрузочную флешку для тестов.

Короткое резюме:

  • Поместите ISO на раздел.
  • Найдите vmlinuz/initrd внутри ISO.
  • Добавьте menuentry в /etc/grub.d/40_custom.
  • Выполните update-grub и перезагрузитесь.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро