Як я можу завантажитися у файл ISO у GRUB? Файл ISO знаходиться на розділі reiserfs і GRUB може отримати доступ до нього (це вже перевірено).
Як я можу завантажитися у файл ISO у GRUB? Файл ISO знаходиться на розділі reiserfs і GRUB може отримати доступ до нього (це вже перевірено).
Відповіді:
Найбільша проблема завантаження файлу ISO полягає в тому, що ISO-системи, призначені для завантаження, майже завжди розроблені для завантаження з компакт-диска . Як пояснено в блозі Марко щодо Grub 2 (моє наголос):
GRUB може читати зображення ISO9660 ("iso"). Наприклад, він може завантажувати перші кілька секторів і завантажувати його. Але більшість людей не розуміє, що "що тоді?". Що б зробила завантажена операційна система? Він, швидше за все, шукатиме компакт-диск, який він не знайде, і вийде з ладу.
Тож мертвий найпростіший спосіб завантаження з якогось випадкового файлу ISO - це завантажити його у віртуальну машину (VirtualBox, VMware або Virtual PC) як віртуальний компакт-диск і завантажити його там. Це майже завжди повинно працювати, тому що для VM це не файл ISO - це справжній компакт-диск із реального обладнання CD.
Завантажити файл із ISO на голому металі набагато складніше. Як це зробити, залежить від того, яку версію Grub ви використовуєте, і результати можуть відрізнятися залежно від того, який ISO ви використовуєте та як він був налаштований для завантаження. Ось чому більшість інструментів завантаження ISO-від-USB (Unetbootin, WinToFlash тощо) зазвичай витягують вміст ISO на накопичувач - адже таким чином до них можна отримати доступ безпосередньо, не плутаючи завантаження ОС.
... не впевнений. Якщо можливо, записи в меню, ймовірно, будуть схожі на Grub4DOS, хоча я думаю, що команда "map --hook" є вдосконаленням Grub4DOS. З іншого боку, Grub має більш широку підтримку файлової системи, ніж Grub4DOS.
Примітка про Grub з reiserfs (непідтверджена) вказує на те, що "ви повинні встановити свій розділ, notail
щоб він працював".
Memdisk - це варіант; Дивіться нижче.
Grub4DOS пропонує деяку експериментальну "емуляцію CD", яка працює з деякими ISO. На жаль, Grub4DOS зчитує лише файлові системи FAT32 / NTFS. Завантажте Grub4DOS.
Ось зразок запису ( джерело ):
title fdfullcd.iso (0xFF)
find --set-root /fdfullcd.iso
map /fdfullcd.iso (0xFF)
map --hook
root (0xFF)
kernel /isolinux/data/memdisk
initrd /isolinux/data/fdboot.img
Нібито ISO 7 може бути завантажений із цим записом :
title Windows 7
map (hd0,0)/win7.iso (hd32)
map --hook
chainloader (hd32)
Інші ISO можуть бути завантажені за допомогою Memdisk :
title Boot Hardware Detection Tool from iso image (with 'iso' parameter)
kernel /memdisk iso
initrd /hdt.iso
Ви також можете використовувати конфігуратор меню на зразок MultiBootISOs.exe від PenDriveLinux . Помістіть ISO на флешку та запустіть утиліту для встановлення завантажувача та налаштування меню завантаження.
Ось епізод Hak5 про встановлення Grub4DOS.
Ось пара прикладів Grub2. наразі ланцюговий завантажувач не працює для завантаження ISO, тому ці записи повинні (1) використовувати зворотний зв'язок, щоб "встановити" ISO, і (2) додати щось до типу iso-scan або findiso до рядка linux, який визначає файл ISO.
На жаль, немає загального способу зробити це. Кожен різний запис завантаження повинен бути налаштований під цільовий вміст ISO. Більшість Linux LiveCD використовують ISOLINUX як завантажувач; знайдіть isolinux.cfg і вивчіть цей запис для завантаження, щоб побачити, що він завантажується.
Приклад записів ( джерело ):
menuentry "Ubuntu Live 9.10 32bit" {
loopback loop /boot/iso/ubuntu-9.10-desktop-i386.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/boot/iso/ubuntu-9.10-desktop-i386.iso noeject noprompt --
initrd (loop)/casper/initrd.lz
}
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
}
Якщо ви намагаєтеся завантажити не-Linux LiveCD, можливо, вам не пощастить. Знову ж таки, Memdisk може допомогти :
menuentry "Boot Hardware Detection Tool from iso" {
linux16 /memdisk iso
initrd16 /hdt.iso
}
Ви можете використовувати dd з терміналу, щоб записати iso-файл до розділу. Будьте обережні, якщо ви неправильно використовуєте dd, ви можете все витерти. Це має виглядати приблизно так: dd if = Desktop / LinuxCDFile.iso of = / Path / To / Partition