Як завантажуватися з живих ISO-образів, які не є Ubuntu, такими як Fedora чи CentOS?


26

Я виявив, що це можна зробити 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, цент, 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
}

Edit2: Як завантажувати ланцюг grubі syslinuxзвідки grub2?

Edit3: Я хочу завантажувати інші живі зображення без будь-яких знімних пристроїв і використовувати, grub2тому потрібні записи в меню, специфічні для grub2.


1
Це не поза темою, все-таки обмін стеками
Тахіони

@Rinzwind як ??
Тахіонс

2
Питання стосується Fedora, centOS та openuse. Не про Ubuntu. @abcd
Rinzwind

2
До речі: Fedora не здатний цього робити. CentOS - це в основному Fedora. dracutмає запит на функцію проти нього, і його потрібно виправити. Ви можете знайти цей виправлення на bugzilla.redhat.com
Rinzwind

2
Можливий дублікат? askubuntu.com/questions/121212/…
fossfreedom

Відповіді:


19

Завантаження з iso - це функція, яку повинен підтримувати дистрибутив, і ця iso-scan/filename=опція не працюватиме у Fedora чи інших. У них можуть бути інші параметри ядра для цієї функції, або ця функція може взагалі не підтримуватися.

Я знайшов метод завантаження DVD Fedora 16, ось нижче.

Завантаження Fedora 15 DVD iso від grub

меню "Fedora 15 (DVD)" {
 insmod loopback
 insmod iso9660
 встановити isofile = "/ Fedora-15-x86_64-DVD.iso"
 loopback loop (hd0,2) $ isofile
 linux (loop) / isolinux / vmlinuz rootfstype = auto root = live: UUID =: $ isofile ro silent
 initrd (цикл) /isolinux/initrd.img
}

Це передбачає, що ваш файл iso знаходиться в корені другого розділу внутрішнього жорсткого диска.

джерело: ця сторінка

Ви можете шукати інший дистрибутив у google, оскільки він не є незалежним від функцій.

Примітка 1: Він також працював з Fedora 16, я тільки тестував його.
Примітка 2: Здається, що метод працював, коли ви розміщували файл iso у розділі жиру чи ext4.


Завантажуючи grml невеликий iso з grub2

Grml також може бути завантажений з grub2. Зауважте, що він використовує findisoопцію замість iso-scan/filenameопції, що вказує на те, що завантаження з iso реалізується як різні варіанти в різних дистрибутивах.

(меню "Grml small 2009.10" {
  циклічний цикл /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 (петля) /boot/grmlsmall/initrd.gz
}

На цій сторінці є кілька прикладів завантаження інших дистрибутивів із Grub2.


Завантаження openSUSE 13.1 Live з iso

Ось єдине рішення, яке спрацювало (усі інші дали мені не вдалося знайти ідентифікатор MBR і зупинилися). У цьому прикладі iso розміщується на третьому розділі першого диска в каталозі /home/username/.

меню "openSUSE_13.1_GNOME_Live" {
  load_video
  insmod gzio
  insmod part_msdos
  insmod ext2
  встановити 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'
  циклічна петля $ isofrom_system
  linux (loop) $ loader / linux isofrom_device = $ isofrom_device isofrom_system = $ isofrom_system ramdisk_size = 512000 ramdisk_blocksize = 4096 ro тихий сплеск $ vt_handoff preloadlog = / dev / null showopts
  initrd (петля) $ loader / initrd
}

Джерело - коментар janeppo .


Fedora 17 Gnome Live Iso

Ось запис меню завантаження grub.cfg для Fedora 17. iso розміщується на третьому розділі першого диска. Також змінено ім'я файлу.

меню "Fedora Live" {
    циклічний цикл (hd0,3) /fedora.iso
    linux (цикл) / EFI / BOOT / vmlinuz0 root = live: /fedora.iso rootfstype = auto ro liveimg silent rhgb rd.luks = 0 rd.md = 0
    initrd (hd0,3) / initrd-fromiso
}

Останнє зауваження: я думаю, що ця відповідь слугує прикладом. Це не слід більше деталізувати на прикладах.


Я спробував вище запис для Fedora 15, але це не спрацювало. Будь-яка здогадка?
Рахул Вірпара

мій запис схожий на це pastebin.com/1ksBVu21
Рахул Вірпара

3

Ось які ISO файли я розібрався завантажувати за допомогою grub2.

Я успішно завантажив наступні ISO

  • Ubuntu Precision Pangolin 12.04 ISO
  • SystemRescueCd
  • Інструмент для виявлення обладнання для завантаження
  • Безкоштовні Dos
  • Завантажувальний компакт-диск Хірена
  • Ultimate Boot CD

Я виявив, що якщо ви хочете завантажувати інші ISO, наприклад, завантажувальний компакт-диск Hiren тощо, ви можете використовувати 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 :(.


Зауважте, що при завантаженні ISO-файлів з memdisk та grub initrd16, ISO-файл повинен бути меншим 462 Мб. Пов’язані повідомлення про помилку: grub: error: не вдалося знайти відповідну ціль пам'яті , memdisk: MEMDISK: Не вказано зображення рамного диска . Детальніше дивіться тут і тут .
gregn3

2

на жаль, жодна з цих рекомендацій мені не допомогла. Тож я знайшов спосіб і хотів би поділитися з вами. Для завантаження центрів, наприклад, вам потрібно: Поставте iso образ у каталог. якщо ваш root dir встановлений на / dev / sda1, тоді створіть dir / iso та поставте iso там. перейдіть до консолі grub (коли з'явиться меню grub, натисніть "c".)

Виберіть відповідний пристрій - hd0 означає sda. Вам потрібно вибрати той, де ви знаходитесь ізо.

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

І завантажте це!


1

Те, що ви запитуєте, тут не обговорюється, оскільки воно вимагає знань про ці інші системи, щоб мати можливість налаштувати записи, щоб правильно їх завантажувати. Так, це можливо.

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

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

Я використовую його, щоб я міг мати Gparted LiveUSB та інші інструменти, а також Ubuntu на одній підвісці для InstallFests. Як бонус він дозволяє користувальницькому екрану заставки, який я встановив як логотип для австралійської команди LoCo.

Кріс

Як зазначалося, 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 і зробити конфігурацію самостійно, щоб навчитися це робити.

Кріс


питання полягає в тому, як створити запис в існуючий, а GRUB2не як зробити завантажувальний pendrive або зовнішній жорсткий диск, що має різні дистрибутиви. До речі, для цього потрібні кращі знання, GRUB2ніж інші дистрибутиви, тому це насправді питання, пов'язане з GRUB(оскільки деякі дистрибутиви все ще використовують GRUB) або GRUB2.
Рахул Вірпара

1
Я б сказав, що створення записів на гру для таких дистрибутивів, як Fedora, Centos і Suse, набагато більше пов'язане з цими дистрибутивами, ніж вони, і, звичайно, ні з чим, що робити з Ubuntu.
fabrator4

1
@virpara: Ви також не вказали, що ви завантажуєте ISO з жорсткого диска. Найбільш розумна причина бажання завантажувати різні LiveISO - це встановити все, що потрібно зробити. Ми не проти читачів чи експертів з інших дистрибутивів. Нарешті, якщо ви дійсно встановите та використовуєте MultiSystem таким чином, щоб зробити маятник, він покаже вам, як це зробити - він використовує grub2 для досягнення бажаних результатів.
fabrator4

1

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

EDIT: Відповів на власне запитання. Потрібно перейменувати 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

Мені здається, що використання loopback grub2 безцінне для тестування нових isos, не вимагаючи USB-накопичувача або запису на компакт-диск. Є помилки, подані проти Fedora, щоб зробити щось подібне. Відстеження поточного стану займає небагато часу.


0

Спробуйте скористатися Multisystem, встановивши потрібні живі диски, а потім скопіюйте файли на ваш / та об'єднайте grub.cfgs! (Мені справді цікаво побачити, чи буде це працювати!).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.