20.04 загрузка .iso из меню GRUB

Я пытаюсь загрузить образ Ubuntu .iso из GRUB. В журнале Full Circle , # 157 стр. 61, они описывают, как это сделать. Это не работает.

Я отредактировал /etc/grub.d/40-custom и добавил следующее ...

# Full Circle #157, page 61
menuentry "Ubuntu 20.04 ISO" {
     insmod part_gpt
     insmod ext2
     set root=(hd0,gpt7)
     set isofile=/ubuntu-20.04-desktop-amd64.iso
     loopback loop (hd0,gpt7)$isofile
     linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
     initrd (loop)/casper/initrd
}

Мой корень Ubuntu находится на /dev/sda7.

Мой файл .iso находится в / .

ошибка, которую я получаю, когда пытаюсь загрузить .iso ...

disk hd0,gpt7 not found
no server is specified
can't find command noprompt
you need to load the kernel first

enter image description here

Есть какие-нибудь идеи о том, как заставить это работать?

2
задан 19 June 2020 в 18:15

2 ответа

Загрузка файлов ISO на HDD (включая 20.04)

Базовая петля GRUB для меню загрузки ISO:

menuentry "isoname ISO" {
    set root=(hdX,Y)
    set isofile="/[path]/[name].iso"
        loopback loop $isofile
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile --
        initrd (loop)/casper/initrd
}
  • Где hdX - диск, а Y - номер раздела расположения ISO.

  • [путь] - это путь к файлу ISO, [имя] - это имя файла ISO.

  • Допускается несколько файлов ISO, один или более пунктов меню требуется для файла ISO. (каждый ISO может иметь несколько файлов постоянства).

Постоянство (необязательно)

  • Если нам нужна постоянная ОС, добавьте слово Постоянный в меню GRUB (через / etc / grub .d / 40-custom ).

  • Если используется постоянный раздел, сделайте его ext4 и пометьте его casper-rw для 19.10 и предыдущих файлов ISO.

  • Для файлов 20.04 ISO пометьте постоянный раздел доступен для записи .

  • Для одного диска разрешен только один постоянный раздел ,

  • При использовании постоянных файлов каждый ISO может иметь свою собственную персистентность.

  • Каждый ISO может иметь файл с возможностью записи ( casper-rw ) объемом до 4 ГБ и дополнительный файл home-rw объемом до 4 ГБ.

  • Постоянные файлы должны быть расположены в разделе FAT32 .

  • Если используется более одного файла постоянства, необходимо указать путь хранения. Требуется только уникальное имя папки с постоянными файлами. Один файл casper-rw / writable и один файл home-rw на папку.

Временное решение GRUB 2.04

  • Версии Ubuntu 18.04 и более ранние версии используют GRUB 2.02 для загрузки. Версии 19.10 и более поздние используют GRUB 2.04 для загрузки в режиме UEFI. В GRUB 2.04 возникают проблемы с загрузкой файлов ISO в режиме UEFI.

  • Обходной путь для загрузки файлов ISO в режиме GRUB 2.04 UEFI заключается в добавлении rmmod tpm в меню при загрузке в режиме UEFI.

  • Если хост Система предварительно 19.10 GRUB 2.

5
ответ дан 19 June 2020 в 21:23

Спасибо @CSCameron за исправление! Вот мой последний файл /etc/grub.d/40-custom .

  • добавил rmmod tpm

  • изменил set root = на hd0 <-> hd1 в зависимости от включен, если внешний USB-диск был подключен или нет


#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
# Full Circle #157, page 61
menuentry "Ubuntu 20.04 Desktop ISO (external hd0 disk)" {
        insmod part_gpt
        insmod ext2
        rmmod tpm
        set root=(hd0,gpt1)
        set isofile="/ubuntu-20.04-desktop-amd64.iso"
        loopback loop $isofile
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet splash
        initrd (loop)/casper/initrd
}
menuentry "Ubuntu 20.04 Desktop ISO (internal hd0 only)" {
        insmod part_gpt
        insmod ext2
        rmmod tpm
        set root=(hd0,gpt7)
        set isofile="/home/redacted/Documents/Disk_images/Ubuntu/ubuntu-20.04-desktop-amd64.iso"
        loopback loop $isofile
        linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile quiet splash
        initrd (loop)/casper/initrd
}
0
ответ дан 19 June 2020 в 21:23

Другие вопросы по тегам:

Похожие вопросы: