Я пытаюсь загрузить образ 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
Есть какие-нибудь идеи о том, как заставить это работать?
Базовая петля 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.
Спасибо @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
}
Аналогично предыдущему. Загрузка с жесткого диска имеет несколько проблем.
Я загружаю ISO с жесткого диска или SSD. Обычно у меня есть два диска, и я создаю отдельный раздел только для ISO. Затем я загружаю ISO с одного диска для установки на другой диск.
Я обнаружил, что теперь мне нужно добавить rmmod tpm
, но обычно приходится размонтировать /isodrive и изменить монтирование ESP, чтобы он не перезаписывал мою основную рабочую установку.
2.04 Цикл монтирования ошибки нехватки памяти
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1851311
sudo umount -lrf /isodrive
Таким образом, мой ESP не перезаписывается, я отключаю ESP во время работы экран, где мы добавляем имя и пароль. Позже мне пришлось отредактировать fstab, так как он все еще имеет оригинальный ESP. Я проверяю монтирование, размонтирование ESP и монтирую другой ESP, например, мой sdb или внешний флэш-накопитель.
Установщик Ubuntu использует неправильное расположение загрузчика для установки USB/sdb UEFI
https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1173457
mount
sudo umount /target/boot/efi
sudo mount /dev/sdc1 /target/boot/efi
Моя загрузка Groovy из ISO, я сейчас используйте метки, так что это из раздела на моем SSD и тестовая установка Groovy на диск sdb из sda:
menuentry "Ubuntu 20.10 Groovy amd64" {
set isofile="/groovy-desktop-amd64.iso"
insmod part_gpt
rmmod tpm
search --set=root --label iso_ssd --hint hd0,gpt5
loopback loop (${root})$isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile toram
initrd (loop)/casper/initrd
}
Аналогично это из раздела на жестком диске. Это была новая установка Focal на мой SSD, которая теперь является моей основной рабочей установкой. У меня до сих пор стоит 18.04 на SSD.
menuentry "Ubuntu 20.04 Focal amd64" {
set isofile="/ubuntu-20.04-desktop-amd64.iso"
insmod part_gpt
rmmod tpm
loopback loop (hd1,6)$isofile
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile toram
initrd (loop)/casper/initrd
}