Как загрузиться с живых образов ISO, не являющихся Ubuntu, таких как Fedora или CentOS?

Я обнаружил, что это можно сделать с помощью loopback следующим образом

menuentry "Lucid ISO" {
loopback loop (hd0,1)/boot/iso/ubuntu-10.04-desktop-i386.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/boot/iso/ubuntu-10.04-desktop-i386.iso noprompt noeject
initrd (loop)/casper/initrd.lz
}

, но он работает только с Ubuntu или его производными. Как это должно быть написано, если я хочу загрузить другие живые образы, такие как fedora, cent, opensuse и т. Д.?

Редактировать: Я нашел некоторые другие записи, но все они, вероятно, основаны на debian.

menuentry "Linux Mint 10 Gnome ISO" {
 loopback loop /linuxmint10.iso
 linux (loop)/casper/vmlinuz file=/cdrom/preseed/mint.seed boot=casper initrd=/casper/initrd.lz iso-scan/filename=/linuxmint10.iso noeject noprompt splash --
 initrd (loop)/casper/initrd.lz
}

menuentry "DBAN ISO" {
 loopback loop /dban.iso
 linux (loop)/DBAN.BZI nuke="dwipe" iso-scan/filename=/dban.iso silent --
}


menuentry "Tinycore ISO" {
 loopback loop /tinycore.iso
 linux (loop)/boot/bzImage --
 initrd (loop)/boot/tinycore.gz
}


menuentry "SystemRescueCd" {
 loopback loop /systemrescuecd.iso
 linux (loop)/isolinux/rescuecd isoloop=/systemrescuecd.iso setkmap=us docache dostartx
 initrd (loop)/isolinux/initram.igz
}

Редактировать 2: Как выполнить цепную загрузку grub и syslinux из grub2?

Редактировать 3: Я хочу загрузить другие живые образы без каких-либо съемных устройств и использовать grub2, поэтому необходимо меню записи, относящиеся к grub2.

26
задан 24 August 2015 в 13:22

7 ответов

к сожалению, ни одна из этих рекомендаций мне не помогла. Итак, я нашел способ и хотел бы поделиться с вами. Например, для загрузки centos вам потребуется: Поместите образ iso в каталог. если ваш корневой каталог смонтирован на / dev / sda1, создайте каталог / iso и поместите туда iso. перейдите в консоль grub (когда появится меню grub, нажмите 'c').

Выберите соответствующее устройство - hd0 означает sda. Вам нужно выбрать тот, где находится ваш iso.

loopback loop (hd0,msdos1)/iso/Redhat.iso 
linux (loop)/isolinux/vmlinuz inst.repo=hd:sda1:/iso/Redhat.iso 
initrd (loop)/isolinux/initrd.img 
boot

И загрузите его!

2
ответ дан 24 August 2015 в 13:22

Загрузка из iso - это функция, которая должна поддерживаться дистрибутив, и параметр iso-scan / filename = не будет работать в Fedora или других. У них могут быть другие параметры ядра для этой функции или функция может не поддерживаться вообще.

Я нашел способ загрузить Fedora 16 DVD,вот ниже.

Загрузка ISO-образа Fedora 15 DVD из grub

menuentry "Fedora 15 (DVD)" {
 insmod loopback
 insmod iso9660
 set isofile="/Fedora-15-x86_64-DVD.iso"
 loopback loop (hd0,2)$isofile
 linux (loop)/isolinux/vmlinuz rootfstype=auto  root=live:UUID=:$isofile ro quiet
 initrd (loop)/isolinux/initrd.img
}

Предполагается, что ваш ISO-файл находится в корне второго раздела внутреннего жесткого диска.

источник: эта страница

Вы можете выполнить поиск другого дистрибутива в Google, так как это не зависит от дистрибутива.

Примечание 1: Он также работал с Fedora 16, я только что его протестировал.
Примечание 2: Кажется, что метод сработал когда вы помещаете ISO-файл в раздел fat или ext4.


Загрузка небольшого iso-файла grml из grub2

Grml также может быть загружена из grub2. Обратите внимание, что он использует параметр findiso вместо параметра iso-scan / filename , что указывает на то, что загрузка из iso реализована как разные параметры в разных дистрибутивах.

(menuentry "Grml small 2009.10" {
  loopback loop /boot/iso/grml-small_2009.10.iso
  linux (loop)/boot/grmlsmall/linux26 findiso=/boot/iso/grml-small_2009.10.iso apm=power-off lang=us vga=791 boot=live nomce noeject noprompt --
  initrd (loop)/boot/grmlsmall/initrd.gz
}

На этой странице есть несколько примеров загрузки других дистрибутивов из Grub2.


Загрузка openSUSE 13.1 Live из iso

Вот единственное решение, которое сработало (все остальные дали мне Не удалось найти MBR идентификатор и остановился). В этом примере ISO-образ помещается в третий раздел первого диска в каталоге / home / username / .

menuentry "openSUSE_13.1_GNOME_Live" {
  load_video
  insmod gzio
  insmod part_msdos
  insmod ext2
  set root='(hd0,msdos3)'
  set isofrom_device='/dev/sda3'
  set isofrom_system='/home/username/openSUSE-13.1-GNOME-Live-i686.iso'
  set loader='/boot/i386/loader'
  loopback loop $isofrom_system
  linux   (loop)$loader/linux isofrom_device=$isofrom_device isofrom_system=$isofrom_system ramdisk_size=512000 ramdisk_blocksize=4096 ro quiet splash $vt_handoff preloadlog=/dev/null showopts
  initrd  (loop)$loader/initrd
}

Источник - комментарий janeppo .


Fedora 17 Gnome Live Iso

Это запись в grub.cfg меню загрузки для Fedora 17. ISO-файл размещается в третьем разделе первого диска. Также изменяется имя файла.

menuentry "Fedora Live" {
    loopback loop (hd0,3)/fedora.iso
    linux (loop)/EFI/BOOT/vmlinuz0 root=live:/fedora.iso rootfstype=auto ro liveimg quiet rhgb rd.luks=0 rd.md=0
    initrd (hd0,3)/initrd-fromiso
}

Последнее примечание: Я думаю, что этот ответ служит примером. Его не следует подробно описывать примерами.

20
ответ дан 24 August 2015 в 13:22

Вот какие iso-файлы, которые я вычислил для загрузки с помощью grub2 .

Я успешно загрузился, следуя ISO

  • Ubuntu Precise Pangolin 12.04 ISO
  • SystemRescueCd
  • Средство обнаружения загрузочного оборудования
  • Free Dos
  • Загрузочный компакт-диск Hiren
  • Ultimate Boot CD

Я обнаружил, что если если вы хотите загрузить другие ISO-образы, такие как загрузочный компакт-диск Hiren и т. д., вы можете использовать утилиту MEMDISK в качестве ядра.

Где получить MEMDISK?

Загрузите Syslinux из здесь . Переместите его на рабочий стол.

Как заставить его работать?

cd ~/Desktop/
tar xvif syslinux-4.05.tar.xz 
cd syslinux-4.05/memdisk/
sudo mkdir /customboot
sudo mv memdisk /customboot/
cd /customboot/
sudo mv memdisk memdisk4.05
gksudo gedit /etc/grub.d/40_custom 

Затем вставьте записи ниже в gedit. Вам нужно будет изменить set isofile = "/ path / to / iso-file.iso" .

Затем введите update-grub . Перезагрузитесь и проверьте.

Мои записи в файле 40_custom .

menuentry "Ubuntu Natty Narwhal 11.04 ISO" {
    set isofile="/OS/ubuntu-11.04-desktop-i386.iso"
    loopback loop (hd0,6)$isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject --
    initrd (loop)/casper/initrd.lz
}
menuentry "Ubuntu Precise Pangolin 12.04 ISO" {
    set isofile="/OS/ubuntu-12.04-desktop-i386.iso"
    loopback loop (hd0,6)$isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject --
    initrd (loop)/casper/initrd.lz
}
menuentry "SystemRescueCd" {
    set isofile="/OS/systemrescuecd-x86-2.7.0.iso"
    loopback loop (hd0,6)$isofile
    linux (loop)/isolinux/rescuecd isoloop=$isofile setkmap=us docache dostartx
    initrd (loop)/isolinux/initram.igz
}
menuentry "Boot Hardware Detection Tool from iso using memdisk 4.05" {
    linux16 /customboot/memdisk4.05 iso
    initrd16 /customboot/hdt.iso
}
menuentry "Free Dos from iso using memdisk 4.05" {
    set isofile="/OS/fdbasecd.iso"
    linux16 /customboot/memdisk4.05 iso
    initrd16 (hd0,6)$isofile
}
menuentry "Hiren's boot CD using memdisk 4.05" {
    set isofile="/OS/Hiren's.BootCD.10.1.iso"
    linux16 /customboot/memdisk4.05 iso
    initrd16 (hd0,6)$isofile
}
menuentry "Ultimate Boot CD iso using memdisk 4.05" {
    set isofile="/OS/ubcd511.iso"
    linux16 /customboot/memdisk4.05 iso
    initrd16 (hd0,6)$isofile
}

Все ISO-образы хранятся в sda6 / OS и MEMDISK хранятся в разделе, где ubuntu установлен (в корне) и переименован в memdisk4.05 , поэтому путь к нему /customboot/memdisk4.05

примечание: Fedora не работает с другим заданным ответом . Все еще пытаюсь загрузить Fedora :(.

4
ответ дан 24 August 2015 в 13:22

То, что вы спрашиваете, здесь не по теме, так как требуется знание этих других систем, чтобы иметь возможность настраивать записи grub для их правильной загрузки. Да, это возможно.

Однако ... Вы найдете Multi System компетентным инструментом для того, чтобы иметь очень много разных ISO-образов дистрибутива на одном большом USB-накопителе. Я считаю, что он действительно работает очень хорошо, но вам придется установить его из PPA:

http://www.pendrivelinux.com/multiboot-create-a-multiboot-usb-from-linux/

Я использую Это так, чтобы я мог иметь Gparted LiveUSB и другие инструменты, а также инструменты Ubuntu на одном флеш-накопителе для InstallFests. В качестве бонуса он позволяет настраивать экран-заставку для меню, который я установил на логотип австралийской команды LoCo.

Chris

Как уже говорилось, Multisystem использует Grub2, чтобы делать то, что вы хотите. Поскольку этот не относящийся к теме поток разрешен или, по крайней мере, допустим, вот запись Fedora из моего мультисистемного Grub2:

 menuentry "Fedora-15-i686-Live-Desktop.iso" {
 linux /fedora1/isolinux/vmlinuz0 live_locale=en_AU.UTF-8 live_keytable=us live_dir=/fedora1 root=UUID=493A-D2EF rootfstype=auto ro liveimg quiet rhgb rd_NO_LUKS rd_NO_MD noiswmd
 initrd /fedora1/isolinux/initrd0.img
 }

Обратите внимание, что вы не можете загружаться напрямую с ISO, так как он не поддерживается, как в дистрибутивах на основе Debian. Вам понадобятся распакованные файлы из ISO, доступные на жестком диске, а именно:

chris@chris-office:/media/RED8/fedora1$ ls -l
total 563972
drwx------ 2 chris chris      4096 Feb 11  2011 isolinux
-rw-r--r-- 1 chris chris     43503 May 14  2011 livecd-iso-to-disk
-r--r--r-- 1 chris chris      8192 May 14  2011 osmin.img
-r--r--r-- 1 chris chris 577449984 May 14  2011 squashfs.img

Вам, конечно же, нужно будет изменить расположение каталога / fedora / и UUID раздела, с которого вы загружаете Fedora. Вам, вероятно, также следует изменить режим монтирования с ro на rw, а также что-нибудь еще подходящее, например, разрешения на squashfs.

Вы также, вероятно, можете настроить виртуальный постоянный диск, хотя я не вижу причин, по которым вы не могли Не монтируйте ваш обычный / домашний раздел. Опять же, я могу только предложить вам установить Multidisk и самостоятельно выполнить настройку, чтобы узнать, как это сделать.

Chris

1
ответ дан 24 August 2015 в 13:22

Попробуйте использовать Multisystem, установить нужные liveCD, а затем скопировать файлы на свой / и объединить grub.cfgs ! (Мне вообще любопытно посмотреть, сработает ли это!)

0
ответ дан 24 August 2015 в 13:22

Я считаю, что использование петли grub2 бесценно для тестирования новые isos без использования USB-накопителя или записи на CD. Есть сообщения об ошибках в Fedora, чтобы что-то подобное работало. Отслеживание текущего статуса занимает немного времени.

1
ответ дан 24 August 2015 в 13:22

Похоже, 13.04 требует другого синтаксиса для достижения этой цели. Кто-нибудь успешно загрузил ubuntu-13.04-desktop-amd64.iso с физического диска и захочет поделиться синтаксисом grub?

РЕДАКТИРОВАТЬ: ответил на мой собственный вопрос. Необходимо переименовать vmlinuz в mvlinuz.efi, и он работает.

menuentry "Ubuntu-13.04-desktop-amd64.iso" --class ubuntu {
set isofile="/archives/ubuntu-13.04-desktop-amd64.iso"
loopback loop (hd1,6)$isofile
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile noeject noprompt --
initrd (loop)/casper/initrd.lz
}
1
ответ дан 24 August 2015 в 13:22

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

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