Как загрузить ISO-файл с моего диска с помощью grub2 на машинах UEFI?

Вы можете нажать клавишу shift сразу после экрана BIOS, а при представлении загрузочной строки удалить quiet splash с ее конца. Это сделано, вы не должны видеть заставку, и изменение действительно только для одной загрузки.

10
задан 18 April 2018 в 20:28

13 ответов

Ну, основы для добавления файла ISO в grub одинаковы для UEFI, как и для компьютера BIOS: отредактируйте /etc/grub.d/40_custom и добавьте элемент menuentry (GParted используется в этом примере) в нижней части file:

menuentry "GParted Live ISO" {
}

Теперь мы добавим переменную, содержащую каталог, в котором мы сохранили ISO (пока что так хорошо: никаких отличий от машин BIOS):

menuentry "GParted Live ISO" {
  set GPartedISOFile="/opt/Live-ISOs/gparted-live-0.31.0-1-amd64.iso"
}

Я использую /opt, чтобы сохранить их, поскольку мне не нравится создавать каталоги в корне моей машины и в соответствии с иерархией файловой системы Linux, где в любом случае должно находиться дополнительное программное обеспечение.

Прежде чем добавить переменную loopback, нам нужно выяснить, на каком жестком диске хранится файл, поэтому мы делаем: df --output=source /opt/Live-ISOs/gparted-live-0.31.0-1-amd64.iso | tail -1, а вывод на моей машине: /dev/sdb2.

Однако grub использует (hdX, Y) нотацию, и именно там происходит различие между машинами UEFI и BIOS! Теперь перезагрузите компьютер, Иерархия файловой системы Linux и нажмите C: Это приведет вас к командной строке grub с разными командами, чем вы привыкли, но только тот, который вам нужен, вы уже знаете: [F13].

На моей машине вывод:

(hd0) (hd1) (hd1,gpt4) (hd1,gpt3) (hd1,gpt2) (hd1,gpt1) (hd2) ... (hd3) ...

А? 4 диска? У меня только 3! И это не (hd1,4) строка в BIOS, но (hd1,gpt4) в UEFI и (hd0) вообще не имеет разделов!

Ну, видимо, когда часть NVRAM используется как хранилище и отображается как [ f17] Однако   В то время как вся информация, которую вы находите при загрузке файлов ISO, говорит о том, что вам нужно начинать нумерацию с 0 (на компьютерах BIOS это всегда так, это не обязательно на некоторых машинах UEFI!)

Таким образом, значение для loopback становится (hd2,gpt2)$GPartedISOFile, так как ISO-файл на моей машине был /dev/sdb2 (второй диск hd2, второй раздел gpt2):

menuentry "GParted Live ISO" {
  set GPartedISOFile="/opt/Live-ISOs/gparted-live-0.31.0-1-amd64.iso"
  loopback loop (hd2,gpt2)$GPartedISOFile
}

Другое отличие состоит в том, что linux и initrd на машинах BIOS называются linuxefi и linuxefi на машинах UEFI, что дает нам наш окончательный результат:

#!/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.

menuentry "GParted Live ISO" {
  set GPartedISOFile="/opt/Live-ISOs/gparted-live-0.31.0-1-amd64.iso"
  loopback loop (hd2,gpt2)$GPartedISOFile
  linuxefi (loop)/live/vmlinuz boot=live components config findiso=$GPartedISOFile ip=frommedia toram=filesystem.squashfs union=overlay username=user
  initrdefi (loop)/live/initrd.img
}

Итак, теперь сохраните этот файл и обновите grub с помощью: 18]

update-grub

reboot, различные команды, чем вы привыкли к , выберите GParted Live ISO, и теперь вы можете легко загружать свой ISO без необходимости снова искать USB-накопитель! [ ! d19]

: -)

7
ответ дан 22 May 2018 в 11:23
  • 1
    Вы уже создали Clonezilla? Это немного по-другому, я могу опубликовать это, если вы еще не поняли, что один из них. – Organic Marble 17 April 2018 в 03:45
  • 2
    Я собираюсь опубликовать еще один ответ на все те, которые я буду добавлять завтра для «gimme the codes " вид людей ... @OrganicMarble – Fabby 17 April 2018 в 03:50
  • 3
    +1, но, вероятно, безопасно удалить 2 из update-grub2 в эти дни. – WinEunuuchs2Unix 18 April 2018 в 14:41
  • 4
    @ WinEunuuchs2Unix Это в моей истории ... Я просто набираю upd↑, а затем копирую-вставляю. Спасибо за напоминание Обновлено! – Fabby 18 April 2018 в 19:50

Ну, основы для добавления файла ISO в grub одинаковы для UEFI, как и для компьютера BIOS: отредактируйте /etc/grub.d/40_custom и добавьте элемент menuentry (GParted используется в этом примере) в нижней части file:

menuentry "GParted Live ISO" { }

Теперь мы добавим переменную, содержащую каталог, в котором мы сохранили ISO (пока что так хорошо: никаких отличий от машин BIOS):

menuentry "GParted Live ISO" { set GPartedISOFile="/opt/Live-ISOs/gparted-live-0.31.0-1-amd64.iso" }

Я использую /opt, чтобы сохранить их, поскольку мне не нравится создавать каталоги в корне моей машины и в соответствии с иерархией файловой системы Linux, где в любом случае должно находиться дополнительное программное обеспечение.

Прежде чем добавить переменную loopback, нам нужно выяснить, на каком жестком диске хранится файл, поэтому мы делаем: df --output=source /opt/Live-ISOs/gparted-live-0.31.0-1-amd64.iso | tail -1, а вывод на моей машине: /dev/sdb2.

Однако grub использует (hdX, Y) нотацию, и именно там происходит различие между машинами UEFI и BIOS! Теперь перезагрузите компьютер, Иерархия файловой системы Linux и нажмите C: Это приведет вас к командной строке grub с разными командами, чем вы привыкли, но только тот, который вам нужен, вы уже знаете: [F13].

На моей машине вывод:

(hd0) (hd1) (hd1,gpt4) (hd1,gpt3) (hd1,gpt2) (hd1,gpt1) (hd2) ... (hd3) ...

А? 4 диска? У меня только 3! И это не (hd1,4) строка в BIOS, но (hd1,gpt4) в UEFI и (hd0) вообще не имеет разделов!

Ну, видимо, когда часть NVRAM используется как хранилище и отображается как (hd0) Однако & nbsp; В то время как вся информация, которую вы находите при загрузке файлов ISO, говорит о том, что вам нужно начинать нумерацию с 0 (на компьютерах BIOS это всегда так, это не обязательно на некоторых машинах UEFI!)

Таким образом, значение для loopback становится (hd2,gpt2)$GPartedISOFile, так как ISO-файл на моей машине был /dev/sdb2 (второй диск hd2, второй раздел gpt2):

menuentry "GParted Live ISO" { set GPartedISOFile="/opt/Live-ISOs/gparted-live-0.31.0-1-amd64.iso" loopback loop (hd2,gpt2)$GPartedISOFile }

Другое отличие состоит в том, что linux и initrd на машинах BIOS называются linuxefi и linuxefi на машинах UEFI, что дает нам наш окончательный результат:

#!/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. menuentry "GParted Live ISO" { set GPartedISOFile="/opt/Live-ISOs/gparted-live-0.31.0-1-amd64.iso" loopback loop (hd2,gpt2)$GPartedISOFile linuxefi (loop)/live/vmlinuz boot=live components config findiso=$GPartedISOFile ip=frommedia toram=filesystem.squashfs union=overlay username=user initrdefi (loop)/live/initrd.img }

Итак, теперь сохраните этот файл и обновите grub с помощью:

update-grub

reboot, различные команды, чем вы привыкли к , выберите GParted Live ISO, и теперь вы можете легко загружать свой ISO без необходимости снова искать USB-накопитель! [ ! d19]

: -)

8
ответ дан 17 July 2018 в 16:41

Ну, основы для добавления файла ISO в grub одинаковы для UEFI, как и для компьютера BIOS: отредактируйте /etc/grub.d/40_custom и добавьте элемент menuentry (GParted используется в этом примере) в нижней части file:

menuentry "GParted Live ISO" { }

Теперь мы добавим переменную, содержащую каталог, в котором мы сохранили ISO (пока что так хорошо: никаких отличий от машин BIOS):

menuentry "GParted Live ISO" { set GPartedISOFile="/opt/Live-ISOs/gparted-live-0.31.0-1-amd64.iso" }

Я использую /opt, чтобы сохранить их, поскольку мне не нравится создавать каталоги в корне моей машины и в соответствии с иерархией файловой системы Linux, где в любом случае должно находиться дополнительное программное обеспечение.

Прежде чем добавить переменную loopback, нам нужно выяснить, на каком жестком диске хранится файл, поэтому мы делаем: df --output=source /opt/Live-ISOs/gparted-live-0.31.0-1-amd64.iso | tail -1, а вывод на моей машине: /dev/sdb2.

Однако grub использует (hdX, Y) нотацию, и именно там происходит различие между машинами UEFI и BIOS! Теперь перезагрузите компьютер, Иерархия файловой системы Linux и нажмите C: Это приведет вас к командной строке grub с разными командами, чем вы привыкли, но только тот, который вам нужен, вы уже знаете: [F13].

На моей машине вывод:

(hd0) (hd1) (hd1,gpt4) (hd1,gpt3) (hd1,gpt2) (hd1,gpt1) (hd2) ... (hd3) ...

А? 4 диска? У меня только 3! И это не (hd1,4) строка в BIOS, но (hd1,gpt4) в UEFI и (hd0) вообще не имеет разделов!

Ну, видимо, когда часть NVRAM используется как хранилище и отображается как (hd0) Однако & nbsp; В то время как вся информация, которую вы находите при загрузке файлов ISO, говорит о том, что вам нужно начинать нумерацию с 0 (на компьютерах BIOS это всегда так, это не обязательно на некоторых машинах UEFI!)

Таким образом, значение для loopback становится (hd2,gpt2)$GPartedISOFile, так как ISO-файл на моей машине был /dev/sdb2 (второй диск hd2, второй раздел gpt2):

menuentry "GParted Live ISO" { set GPartedISOFile="/opt/Live-ISOs/gparted-live-0.31.0-1-amd64.iso" loopback loop (hd2,gpt2)$GPartedISOFile }

Другое отличие состоит в том, что linux и initrd на машинах BIOS называются linuxefi и linuxefi на машинах UEFI, что дает нам наш окончательный результат:

#!/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. menuentry "GParted Live ISO" { set GPartedISOFile="/opt/Live-ISOs/gparted-live-0.31.0-1-amd64.iso" loopback loop (hd2,gpt2)$GPartedISOFile linuxefi (loop)/live/vmlinuz boot=live components config findiso=$GPartedISOFile ip=frommedia toram=filesystem.squashfs union=overlay username=user initrdefi (loop)/live/initrd.img }

Итак, теперь сохраните этот файл и обновите grub с помощью:

update-grub

reboot, различные команды, чем вы привыкли к , выберите GParted Live ISO, и теперь вы можете легко загружать свой ISO без необходимости снова искать USB-накопитель! [ ! d19]

: -)

8
ответ дан 23 July 2018 в 17:33

Альтернативой является просто добавить конфигурационный файл в 40_custom следующим образом:

menuentry 'Live ISOs on SSD' {
configfile (hd0,3)/ISO/livecdimage.cfg
} 

menuentry 'Live ISOs on HDD (boot on SSD)' {
configfile (hd1,3)/ISO/livecdimage.cfg
} 

Я делаю это, когда при обновлении ISO я неизменно забываю запустить sudo update-grub. Вышеуказанные записи никогда не должны меняться, и я могу просто отредактировать файл livecdimage.cfg, который имеет тот же формат, что и любой 40_custom, но без строк заголовка, и находится в папке / ISO в моем разделе ISO.

Я добавляю toram в качестве другого параметра загрузки и в системе с nVidia добавьте параметр загрузки nomodeset. Но все же часто приходится отключать /isodevice.

Невозможно отключить isodevice unmount ISO https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1155216

И это часть моего файла livecdimage.cfg

# livecdimage.cfg
# Add this to 40_custom to load this file:
# menuentry 'Live ISOs' {
# configfile (hd1,3)/iso/livecdimage.cfg
#} 
# Add iso names to livecdimage.cfg
#for i in `ls *.iso`;do echo "# "$i>>livecdimage.cfg; done;

menuentry "Ubuntu 16.04.4 xenial amd64" {
    set isofile="/ISO/ubuntu-16.04.4-desktop-amd64.iso"
    loopback loop (hd0,3)$isofile 
    linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile toram
    initrd (loop)/casper/initrd.lz
}

menuentry "Ubuntu 18.04 Bionic amd64" {
    set isofile="/ISO/bionic-desktop-amd64.iso"
    loopback loop (hd0,3)$isofile 
    linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile toram
    initrd (loop)/casper/initrd.lz
}

# spacer line
menuentry " " {
set root= 
}

menuentry "Reboot" {
    reboot
}

menuentry "Halt" {
    halt
}
5
ответ дан 22 May 2018 в 11:23
  • 1
    Мне нравится перезагрузка и остановка! :-) +1 Почему вы добавляете insmod? Вы также можете ping me в чате – Fabby 17 April 2018 в 14:15
  • 2
    inmod, вероятно, не требуется. С grub2 некоторые функции были встроены, а некоторые были addin (insmod). Вероятно, в начале мне нужен был insmod gpt, когда я начал использовать gpt в 2010 году или до того, как pc были UEFI, а grub2 был новым и amp; просто для BIOS / MBR, хотя бы загрузился с gpt с BIOS. – oldfred 17 April 2018 в 17:08
  • 3
    Спасибо за ответ. Разве не лучше было бы удалить эти строки из ответа? – Fabby 17 April 2018 в 17:14
  • 4
    Позвольте мне отредактировать мою собственную строфу и посмотреть, ботинки 18.04. Я надеюсь, что так и будет. Я также хотел обновить мою загрузочную запись ISO, которая теперь очень старая, так что она вернется немного. – oldfred 17 April 2018 в 17:17
  • 5
    Загрузился нормально. Я забыл, что мой 18.04 флэш-диск подключен, и он становится hd0 в моей системе, поэтому при загрузке мне нужно вручную отредактировать запись на один hdX, чтобы иметь правильный диск. Мой gparted .25 boot не работал, просто изменив на .30. Мне пришлось изучить ISO и увидеть его grub.cfg и использовать эти параметры & amp; grub, и тогда это сработало. – oldfred 17 April 2018 в 18:01

mkusb MULTIBOOT HACK

Mkusb делает отличную базу для пользовательских проектов загрузочных дисков из-за его возможностей как с BIOS, так и с UEFI.

Этот хак загружает несколько файлов ISO, включая установщик Windows, и имеет меню grub2.

Меню Grub2 для большинства ОС доступны с помощью Google Search и выходят за рамки этого ответа.

Использовать значения mkusb по умолчанию при создании постоянного USB-диска.

Использовать значения сохранения mkusb по умолчанию, если (! d12)

Консоль DUS после установки.

mkusb defaults

GParted до модификации раздела.

Gparted после модификации - перезаписать sdb4, раздел ОС ISO9660 и sdb5 , раздел ext2 casper-rw с разделом FAT32 для файлов персистентности.

Секция сохранения - создать уникальную папку имен для каждой ОС ( для которого требуется постоянство)

Gparted after

Папка сохранения - добавьте файл casper-rw и дополнительный файл home-rw в каждую папку сохранения , Файл home-rw можно сделать, переименовав файл casper-rw. Файл home-rw похож на отдельный домашний раздел на полной установке, его можно повторно использовать после обновления версии.

Gparted after

36] Создайте папку для файлов ISO в разделе NTFS usbdata.

Добавьте некоторые ISO в папку ISO.

[!d38 ]

grub.cfg location

ISO folder contents [!d39]

Редактировать grub.cfg для соединения файлов ISO. Включите: persistent persistent-path=/<persistent-folder-name>/, если вы хотите настойчивость.

ISO folder contents [!d39]

sudo parted -ls / dev / sdb

sudo lsblk -f / dev / sdb

Если требуется установщик Windows, возможно, проще всего начать с функции «извлечение установщика Windows» mkusb (у меня было для извлечения Windows ISO в TAR вручную),

После установки создайте папку для ISO и, если необходимо, папки для сохранения, (аналогично приведенному выше Процедура)

sudo lsblk -f  /dev/sdb [!d55]

Изменить /boot/grub/grub.cfg, чтобы закодировать любые ISO и указать любые папки с сохранением.

(не удалось найти путь к файлу Windows ISO).

Если вышеупомянутое используется как USB-накопитель, его можно использовать для загрузки ISO, хранящегося на компьютере только для Windows. Grub не требуется на внутреннем диске.

3
ответ дан 22 May 2018 в 11:23
  • 1
    И как вы их получите на HDD / SDD ??? Вопрос в том, что сейчас они хотят их на USB-накопителе, или я что-то пропустил? – Fabby 17 April 2018 в 19:12
  • 2
    @Fabby, Это не только для USB-накопителей. Если у вас есть новый диск SATA, вы можете начать, как описано в этом ответе, и позволить mkusb установить свою надежную систему загрузки, которая работает как в режиме UEFI, так и в BIOS. Этот накопитель SATA может устанавливаться внутренне или подключаться извне через USB или eSATA. Можно добавить как «условно установленные системы», так и новые файлы iso для загрузки через «grub-n-iso». – sudodus 17 April 2018 в 20:41
  • 3
    Хорошо, я до сих пор не понимаю: мне нужны эти ISO в /opt/. Как мне это сделать? (+1 тем временем за усилия, хотя ...) – Fabby 18 April 2018 в 20:32
  • 4
    @Fabby: Я думаю, вместо того, чтобы создать новую папку для ISO, как показано выше, укажите местоположение ISO в / opt /, в grub.cfg, grub на pendrive может загружать ISO на жесткий диск. Я попробую. – C.S.Cameron 19 April 2018 в 04:49
  • 5
    @Fabby: Если ISO включены / opt / внутреннего диска, то на внешнем диске будет работать тот же пункт меню, который вы используете на внутреннем диске. Могут быть преимущества для загрузки grub на USB-накопителе, например, не переполнения или искажения внутреннего меню grub. – C.S.Cameron 20 April 2018 в 00:21

Три простых шага

, чтобы добавить ISO в меню grub и загрузиться с него.

Сначала установите grml-rescueboot

Откройте терминал и введите :

sudo apt install grml-rescueboot

Во-вторых, переместите файлы iso в /boot/grml/

В том же терминале введите:

sudo mv ~/Downloads/<filename.iso> /boot/grml/

В-третьих, обновите grub 6]

В том же терминале введите:

sudo update-grub

Повторите второй и третий шаги как и когда необходимо

Не забудьте удалить устаревшие файлы ISO с /boot/grml .

Ссылка: Справка Ubuntu по загрузке загрузочного диска Grub2

Надеюсь, что это поможет

2
ответ дан 22 May 2018 в 11:23
  • 1
    /boot - худшее место для их размещения. Извините, посмотрел в grml, должен был упомянуть об этом. +1 за усилие, хотя – Fabby 18 April 2018 в 20:30
  • 2
    Спасибо @Fabby за +1! Это может быть не самый лучший способ сделать это, но это кажется самым простым, ИМХО. – user68186 18 April 2018 в 20:36
  • 3
    Вот почему +1: хороший ответ для нетехнических пользователей. – Fabby 18 April 2018 в 20:42

MultiBootUSB - QEMU

Если вы хотите загружать файлы ISO с наименьшими проблемами и не нуждаетесь в постоянстве, MultiBootUSB включает в себя параметр QEMU:

Запустите MultiBootUSB и выберите Boot ISO / USB. Перетащите ISO на поле «Выбрать изображение». Выберите размер ОЗУ и нажмите кнопку загрузки ISO.

Вам не нужно редактировать grub.cfg или даже выйти из системы.

2
ответ дан 22 May 2018 в 11:23
  • 1
    Острота! Я собираюсь попробовать это позже! – Fabby 19 April 2018 в 10:04
  • 2
    @Fabby: Существует версия Windows MBUSB и версия для Linux. Я не мог получить версию Windows для загрузки ISO, только USB. Версия Linux 9.2.0 отлично подходит для меня. – C.S.Cameron 19 April 2018 в 18:19

SIMPLE mkusb ISO multibooter

Если вам не нужна многопоточность, легко выполнить многозадачность операционной системы ISO на флеш-накопителе mkusb.

Использовать mkusb для создания Постоянный USB-накопитель по умолчанию по умолчанию, https://help.ubuntu.com/community/mkusb

Создайте папку в разделе usbdata sdx1, названном ISO.

Добавьте сюда ISO-файлы для загрузки в эту папку.

Добавьте пункты меню в /sdx3/boot/grub/grub.cfg, чтобы объединить ISO.

Образцы:

menuentry "Ubuntu-18.04 64-bit ISO" { set root=(hd0,1) set isofile="/ISOs/ubuntu-18.04-desktop-amd64.iso" loopback loop $isofile linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile splash -- initrd (loop)/casper/initrd.lz } menuentry "GParted 64-bit ISO" { set root=(hd0,1) set isofile="/ISOs/gparted-live-0.31.0-1-amd64.iso" loopback loop $isofile linux (loop)/live/vmlinuz boot=live union=overlay username=user config components noswap noeject toram=filesystem.squashfs ip='' nosplash findiso=$isofile splash -- initrd (loop)/live/initrd.img } menuentry "Clonezilla 64-bit ISO" { set root=(hd0,1) set isofile="/ISOs/clonezilla-live-2.5.5-38-amd64.iso" loopback loop $isofile linux (loop)/live/vmlinuz boot=live live-config nolocales edd=on nomodeset ocs_live_run=\"ocs-live-general\" ocs_live_extra_param=\"\" ocs_live_keymap=\"\" ocs_live_batch=\"no\" ocs_lang=\"\" vga=788 ip=frommedia nosplash toram=filesystem.squashfs findiso=$isofile splash -- initrd (loop)/live/initrd.img }
1
ответ дан 17 July 2018 в 16:41

Альтернативой является просто добавить конфигурационный файл в 40_custom следующим образом:

menuentry 'Live ISOs on SSD' { configfile (hd0,3)/ISO/livecdimage.cfg } menuentry 'Live ISOs on HDD (boot on SSD)' { configfile (hd1,3)/ISO/livecdimage.cfg }

Я делаю это, когда при обновлении ISO я неизменно забываю запустить sudo update-grub. Вышеуказанные записи никогда не должны меняться, и я могу просто отредактировать файл livecdimage.cfg, который имеет тот же формат, что и любой 40_custom, но без строк заголовка, и находится в папке / ISO в моем разделе ISO.

Я добавляю toram в качестве другого параметра загрузки и в системе с nVidia добавьте параметр загрузки nomodeset. Но все же часто приходится отключать /isodevice.

Невозможно отключить isodevice unmount ISO https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1155216

sudo umount -l -r -f /isodevice

И это часть моего файла livecdimage.cfg

# livecdimage.cfg # Add this to 40_custom to load this file: # menuentry 'Live ISOs' { # configfile (hd1,3)/iso/livecdimage.cfg #} # Add iso names to livecdimage.cfg #for i in `ls *.iso`;do echo "# "$i>>livecdimage.cfg; done; menuentry "Ubuntu 16.04.4 xenial amd64" { set isofile="/ISO/ubuntu-16.04.4-desktop-amd64.iso" loopback loop (hd0,3)$isofile linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile toram initrd (loop)/casper/initrd.lz } menuentry "Ubuntu 18.04 Bionic amd64" { set isofile="/ISO/bionic-desktop-amd64.iso" loopback loop (hd0,3)$isofile linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile toram initrd (loop)/casper/initrd.lz } # spacer line menuentry " " { set root= } menuentry "Reboot" { reboot } menuentry "Halt" { halt }
5
ответ дан 17 July 2018 в 16:41

Три простых шага

, чтобы добавить ISO в меню grub и загрузиться с него.

Сначала установите grml-rescueboot

Откройте терминал и введите :

sudo apt install grml-rescueboot

Во-вторых, переместите файлы iso в /boot/grml/

В том же терминале введите:

sudo mv ~/Downloads/<filename.iso> /boot/grml/

В-третьих, обновите grub

В том же терминале введите:

sudo update-grub

Повторите второй и третий шаги как и когда необходимо

Не забудьте удалить устаревшие файлы ISO с /boot/grml .

Ссылка: Справка Ubuntu по загрузке загрузочного диска Grub2

Надеюсь, что это поможет

2
ответ дан 17 July 2018 в 16:41

SIMPLE mkusb ISO multibooter

Если вам не нужна многопоточность, легко выполнить многозадачность операционной системы ISO на флеш-накопителе mkusb.

Использовать mkusb для создания Постоянный USB-накопитель по умолчанию по умолчанию, https://help.ubuntu.com/community/mkusb

Создайте папку в разделе usbdata sdx1, названном ISO.

Добавьте сюда ISO-файлы для загрузки в эту папку.

Добавьте пункты меню в /sdx3/boot/grub/grub.cfg, чтобы объединить ISO.

Образцы:

menuentry "Ubuntu-18.04 64-bit ISO" { set root=(hd0,1) set isofile="/ISOs/ubuntu-18.04-desktop-amd64.iso" loopback loop $isofile linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile splash -- initrd (loop)/casper/initrd.lz } menuentry "GParted 64-bit ISO" { set root=(hd0,1) set isofile="/ISOs/gparted-live-0.31.0-1-amd64.iso" loopback loop $isofile linux (loop)/live/vmlinuz boot=live union=overlay username=user config components noswap noeject toram=filesystem.squashfs ip='' nosplash findiso=$isofile splash -- initrd (loop)/live/initrd.img } menuentry "Clonezilla 64-bit ISO" { set root=(hd0,1) set isofile="/ISOs/clonezilla-live-2.5.5-38-amd64.iso" loopback loop $isofile linux (loop)/live/vmlinuz boot=live live-config nolocales edd=on nomodeset ocs_live_run=\"ocs-live-general\" ocs_live_extra_param=\"\" ocs_live_keymap=\"\" ocs_live_batch=\"no\" ocs_lang=\"\" vga=788 ip=frommedia nosplash toram=filesystem.squashfs findiso=$isofile splash -- initrd (loop)/live/initrd.img }
1
ответ дан 23 July 2018 в 17:33
  • 1
    И как вы их получите на HDD / SSD ??? Вопрос в том, что они не хотят их на USB-накопителе, или я что-то пропустил? – Fabby 17 April 2018 в 19:12
  • 2
    @Fabby, Это не только для USB-накопителей. Если у вас есть новый диск SATA, вы можете начать, как описано в этом ответе, и позволить mkusb установить свою надежную систему загрузки, которая работает как в режиме UEFI, так и в BIOS. Этот накопитель SATA может устанавливаться внутренне или подключаться извне через USB или eSATA. Можно добавить как «условно установленные системы», так и новые файлы iso для загрузки через «grub-n-iso». – sudodus 17 April 2018 в 20:41
  • 3
    Хорошо, я до сих пор не понимаю: мне нужны эти ISO в /opt/. Как мне это сделать? (+1 тем временем за усилия, хотя ...) – Fabby 18 April 2018 в 20:32
  • 4
    @Fabby: Я думаю, вместо того, чтобы создать новую папку для ISO, как показано выше, укажите местоположение ISO в / opt /, в grub.cfg, grub на pendrive может загружать ISO на жесткий диск. Я попробую. – C.S.Cameron 19 April 2018 в 04:49
  • 5
    Острота! Я собираюсь попробовать это позже! – Fabby 19 April 2018 в 10:04
  • 6
    @Fabby: Существует версия Windows MBUSB и версия для Linux. Я не мог получить версию Windows для загрузки ISO, только USB. Версия Linux 9.2.0 отлично подходит для меня. – C.S.Cameron 19 April 2018 в 18:19
  • 7
    @Fabby: Если ISO включены / opt / внутреннего диска, то на внешнем диске будет работать тот же пункт меню, который вы используете на внутреннем диске. Могут быть преимущества для загрузки grub на USB-накопителе, например, не переполнения или искажения внутреннего меню grub. – C.S.Cameron 20 April 2018 в 00:21

Альтернативой является просто добавить конфигурационный файл в 40_custom следующим образом:

menuentry 'Live ISOs on SSD' { configfile (hd0,3)/ISO/livecdimage.cfg } menuentry 'Live ISOs on HDD (boot on SSD)' { configfile (hd1,3)/ISO/livecdimage.cfg }

Я делаю это, когда при обновлении ISO я неизменно забываю запустить sudo update-grub. Вышеуказанные записи никогда не должны меняться, и я могу просто отредактировать файл livecdimage.cfg, который имеет тот же формат, что и любой 40_custom, но без строк заголовка, и находится в папке / ISO в моем разделе ISO.

Я добавляю toram в качестве другого параметра загрузки и в системе с nVidia добавьте параметр загрузки nomodeset. Но все же часто приходится отключать /isodevice.

Невозможно отключить isodevice unmount ISO https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1155216

sudo umount -l -r -f /isodevice

И это часть моего файла livecdimage.cfg

# livecdimage.cfg # Add this to 40_custom to load this file: # menuentry 'Live ISOs' { # configfile (hd1,3)/iso/livecdimage.cfg #} # Add iso names to livecdimage.cfg #for i in `ls *.iso`;do echo "# "$i>>livecdimage.cfg; done; menuentry "Ubuntu 16.04.4 xenial amd64" { set isofile="/ISO/ubuntu-16.04.4-desktop-amd64.iso" loopback loop (hd0,3)$isofile linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile toram initrd (loop)/casper/initrd.lz } menuentry "Ubuntu 18.04 Bionic amd64" { set isofile="/ISO/bionic-desktop-amd64.iso" loopback loop (hd0,3)$isofile linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile toram initrd (loop)/casper/initrd.lz } # spacer line menuentry " " { set root= } menuentry "Reboot" { reboot } menuentry "Halt" { halt }
5
ответ дан 23 July 2018 в 17:33
  • 1
    Мне нравится перезагрузка и остановка! :-) +1 Почему вы добавляете insmod? Вы также можете ping me в чате – Fabby 17 April 2018 в 14:15
  • 2
    inmod, вероятно, не требуется. С grub2 некоторые функции были встроены, а некоторые были addin (insmod). Вероятно, в начале мне нужен был insmod gpt, когда я начал использовать gpt в 2010 году или до того, как pc были UEFI, а grub2 был новым и amp; просто для BIOS / MBR, хотя бы загрузился с gpt с BIOS. – oldfred 17 April 2018 в 17:08
  • 3
    Спасибо за ответ. Разве не лучше было бы удалить эти строки из ответа? – Fabby 17 April 2018 в 17:14
  • 4
    Позвольте мне отредактировать мою собственную строфу и посмотреть, ботинки 18.04. Я надеюсь, что так и будет. Я также хотел обновить мою загрузочную запись ISO, которая теперь очень старая, так что она вернется немного. – oldfred 17 April 2018 в 17:17
  • 5
    Загрузился нормально. Я забыл, что мой 18.04 флэш-диск подключен, и он становится hd0 в моей системе, поэтому при загрузке мне нужно вручную отредактировать запись на один hdX, чтобы иметь правильный диск. Мой gparted .25 boot не работал, просто изменив на .30. Мне пришлось изучить ISO и увидеть его grub.cfg и использовать эти параметры & amp; grub, и тогда это сработало. – oldfred 17 April 2018 в 18:01

Три простых шага

, чтобы добавить ISO в меню grub и загрузиться с него.

Сначала установите grml-rescueboot

Откройте терминал и введите :

sudo apt install grml-rescueboot

Во-вторых, переместите файлы iso в /boot/grml/

В том же терминале введите:

sudo mv ~/Downloads/<filename.iso> /boot/grml/

В-третьих, обновите grub

В том же терминале введите:

sudo update-grub

Повторите второй и третий шаги как и когда необходимо

Не забудьте удалить устаревшие файлы ISO с /boot/grml .

Ссылка: Справка Ubuntu по загрузке загрузочного диска Grub2

Надеюсь, что это поможет

2
ответ дан 23 July 2018 в 17:33
  • 1
    /boot - худшее место для их размещения. Извините, посмотрел в grml, должен был упомянуть об этом. +1 за усилие, хотя – Fabby 18 April 2018 в 20:30
  • 2
    Спасибо @Fabby за +1! Это может быть не самый лучший способ сделать это, но это кажется самым простым, ИМХО. – user68186 18 April 2018 в 20:36
  • 3
    Вот почему +1: хороший ответ для нетехнических пользователей. – Fabby 18 April 2018 в 20:42

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

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