Я хочу поместить файл .iso с загрузочного компакт-диска с Linux на жесткий диск своего компьютера. Я хочу, чтобы он загружался с помощью grub (или lilo) и загружался из файла .iso, как если бы .iso был настоящим компакт-диском в приводе CDROM.
Вот страница, которая ссылается на это, но вместо файла .iso это файл .img дискеты или всего жесткого диска:
http://grub4dos.sourceforge.net/wiki/index.php/Grub4dos_tutorial
На этой странице есть ссылка на «эмуляция cdrom не поддерживается», но я не знаю, поддерживается ли она в grub или то, что вы хотите сделать, совершенно невозможно.
Очевидно, у Epidemic Linux (и, может быть, Knoppix?) Есть параметр "bootfrom":
«Используя параметр« bootfrom = / partition / path », вы можете запустить Epidemic из образа ISO, расположенного в любом месте жесткого диска, без необходимости создавать DVD. Это очень удобно для тестирования системы».
(Из www.epidemiclinux.org/)
Нарисовался
P.S. Я НЕ заинтересован в установке компакт-диска на жесткий диск. Если бы у меня на жестком диске была дюжина .iso, я бы хотел иметь возможность выбирать их из grub и загружать каждый из них.
Похоже, что grub 0.95 или новее может. http://ubuntuforums.org/showthread.php?t=799253&page=2 http://forums.whirlpool.net.au/forum-replies-archive.cfm/925285.html
Grub2 может загружать iso, но документация пока очень отрывочна (хотя это по умолчанию для Ubuntu 9.10).
В некотором смысле Google насчет того, что компакт-диски можно загружать через BIOS, и это не вызывает затруднений.
Поищи в Гугле.
http://michael-prokop.at/blog/2009/05/25/boot-an-iso-via-grub2/ http://en.gentoo-wiki.com/wiki/Grub2
Отличный учебник, как это сделать с GRUB2.
Если вы думаете о хранении своих ISO-образов на томе LVM, имейте в виду, что хотя сам GRUB2 может обращаться к томам LVM, не все живые компакт-диски могут. Например, livecds Ubuntu на это не способны. Это означает, что вы, IIUC, не сможете загрузить такой ISO с помощью этого метода, если ISO хранится на томе LVM. Для того, чтобы это работало, сам LVM должен быть встроен в корневую файловую систему, хранящуюся в initrd, чтобы после запуска ядра оно могло найти и получить доступ к ISO. Если вы распаковываете initrd (это архив CPIO), вы можете проверить наличие /sbin/lvm
чтобы узнать, будет ли это работать.
GRUB не может полностью эмулировать CDROM, но может загружать с него ядро. Извлеките ядро и образ ramdisk (initrd в linux) из ISO вручную и попросите GRUB загрузить его. Имена файлов и параметры смотрите в файле isolinux.cfg, это обычный загрузчик iso для дистрибутивов Linux, поэтому я уверен, что он присутствует и у вас.
Позже поделитесь смонтированным ISO, то есть через NFS, и выполните установку или то, что вы хотите сделать. Некоторые дистрибутивы также могут загружать основную часть через HTTP или с внешнего жесткого диска. Это зависит только от того, что разработчики вставили в рамдиск.
Вероятно, также можно найти некоторую модификацию ядра + ramdisk, которая может автоматически извлекать новое ядро + ramdisk из ISO, а затем загружать его, но вы можете сделать это вручную очень легко. Однако нет никакого промежуточного программного обеспечения, которое могло бы выполнять 100% эмуляцию CDROM, кроме загрузки этого ISO внутри виртуальной машины. Вы всегда должны настраивать дистрибутив.