LINUX.ORG.RU

Помогите настроить меню GRUB2 на мультизагрузочной флешке


1

2

Имеется:

1) флешка «silicon power» на 16Гб.

2) нетбук с ubuntu 12.04

3) Компьютер с win7

4) Образы winXP, Win7, Debian 7.1 x64 и x86, winliveCD, Dr.web live USB, memtest+, victoria, Debian LiveCD, acronis disk director2, acronis true image

Требуется сделать мультизагрузочную флешку со следующими требованиями:

1) возможность установить winXP(выбор пал на зверя) только x86

2) возможность установить win7(выбор пал на kroty) только x64

3) возможность установить debian 7.1 x32

4) возможность установить debian 7.1 x64

5) запуск LiveCD Windows XP

6) запуск LiveCD Debian

7) запуск memtest+

8) запуск victoria

9) запуск Dr.web liveUSB

10) запуск акронисовских утилит

Особые требования:

1) 2 раздела на флешке первый раздел под папки с системами второй раздел под загрузчик собственно защищенный от записи

2) Все системы должны лежать в папках (не в образах)

Теперь собственно к вопросу: начал писать grub.cfg и он выглядит так:

insmod ext2

insmod ntfs

menuentry 'Windows XP SP2' --class windows --class os {

insmod ntldr

set root=(0469-5887)

chainloader /Zver/i386/SETUPLD1.BIN

boot

}

при выборе данного пункта меню выдаёт no such disk. uuid указан правильно. что именно я не указал?



Последнее исправление: Enlighted (всего исправлений: 6)

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

Решение не подходит

К сожалению предложенное решение не удовлетворяет требованиям. Все действия делаются из под win поэтому работа со второй партицией на флешке не возможна. Также хотелось бы использовать grub2 (почти религиозное предубеждение :) )

Enlighted
() автор топика
Ответ на: комментарий от anonymous

А вот Винду из исошника ему слабо загрузить. В отличие от grub4dos.

lampslave ★★
()
Ответ на: комментарий от lampslave

grub4dos можно установить и из-под Linux. Что касается grub2, то религию лучше оставить, он для этого дела не годится.

У меня это все реализовано на груб 2.

Первый раздел 15 GiB. На нем установка Windows 7, Windows XP, Alkid Live CD и сам grub 2, а также всякие мелочи типо victoria memset, mhdd.

Остальное все на других отдельных разделах. Systemrescuecd, Knoppix, Backtrack, Debian, Dr.Web, Kaspersky.

demsi
()
Ответ на: комментарий от lampslave

Научите, как загрузить винду из исошника на grub2?

Загрузка из исо, это ваше требование. Насколько я понимаю автору это не нужно.
Я же указал, что все что требует автор, у меня реализовано на grub 2.

И смысла загружать Windows из исо я не вижу. У меня например на том же grub4dos при установке из iso Windows xp. Установка отваливалась на втором этапе, установщик требовал диск установочный. Который естественно не находил.

demsi
()
Ответ на: комментарий от demsi

Загрузка из исо, это ваше требование. Насколько я понимаю автору это не нужно.

ТС вообще-то писал, что у него есть образы, и он хочет иметь возможность установки. А установка из iso - самый простой способ.

Установка отваливалась на втором этапе, установщик требовал диск установочный. Который естественно не находил.

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

lampslave ★★
()
Ответ на: комментарий от lampslave

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

Я читал этот блог, и отписывал автору по поводу этой проблемы. Он помочь не смог. А у вас получалось полностью от начала и до конца поставить Windows XP из ИСО с помощью grub4dos ? В теории вроде все работает, да и на практике все на первый взгляд нормально, но я не думаю что у автора блога получилось установить.
Скорее всего он увидел что запуск второго этапа проходит нормально и забил.

ТС вообще-то писал, что у него есть образы, и он хочет иметь возможность установки. А установка из iso - самый простой способ.

Но тем не менее автор пишет в посте такую строку

chainloader /Zver/i386/SETUPLD1.BIN
Что указывает на распакованность образа. Скорее всего под словами «имеются образы» автор подразумевал не требования установки с них, а само их наличие. С образа или нет, я думаю для автора это не играет роли, так как у него нет не одного рабочего варианта.

Скорее всего вы не совсем правильно поняли автора, а не я.

demsi
()
Ответ на: комментарий от demsi

А у вас получалось полностью от начала и до конца поставить Windows XP из ИСО с помощью grub4dos?

Да, получалось, причём не один раз. Хотя должен отметить, что это были современные компьютеры с достаточным количеством оперативки.

lampslave ★★
()
Ответ на: ССыль от anonymous

Дайте ссылку на инфу как это реализовать

К сожалению ссылок нету, делал сам. Да там ничего сложного собственно.

demsi
()
Ответ на: комментарий от demsi

Просто покажите как выглядит в grub.cfg раздел отвечающий за загрузку Windows из ISO файла и все будут счастливы.

Spalf
()
Ответ на: комментарий от anonymous

Спасибо за полезную инфу. Пришел сюда с Хабры. И не пожалел.

В сочетании с тьолачькой на фоне - очень толково)

cdshines ★★★★★
()
Ответ на: комментарий от Spalf

Просто покажите как выглядит в grub.cfg раздел отвечающий за загрузку Windows из ISO файла и все будут счастливы.

Да я и не говорил что я на grub 2 реолизовал установку Windows из ISO образа. Автор пишет:

1) возможность установить winXP(выбор пал на зверя) только x86 2) возможность установить win7(выбор пал на kroty) только x64 3) возможность установить debian 7.1 x32 4) возможность установить debian 7.1 x64 5) запуск LiveCD Windows XP 6) запуск LiveCD Debian 7) запуск memtest+ 8) запуск victoria 9) запуск Dr.web liveUSB 10) запуск акронисовских утилит

Я и пишу что это все реализовано. Только установку Windows из iso я в требованиях не вижу. А по факту:

	
menuentry 'Alkid Live CD (30.03.12) (sda1)'{
    search -f /miniNT/setupldr.bin -s root
    insmod ntldr
    ntldr /miniNT/setupldr.bin
}
menuentry 'Установка Windows 7 (sda1)'{
    set root='hd0,msdos1'
    insmod ntldr
    ntldr /bootmgr
}
submenu 'Установка Windows XP (sda1) ->' {
    menuentry 'Install part 1'{
        insmod ntldr
	search -f /\$WIN_NT\$.~BT/SETUPLDR.BIN -s root
	ntldr /\$WIN_NT\$.~BT/SETUPLDR.BIN
    }	
    menuentry 'Install part 2'{
        insmod ntldr
	search -f /ntldr -s root
	ntldr /ntldr
    }	
	
}
Все три лежат на первом разделе диска. Нужно Windows XP предварительно подготовить. А вот с Windows 7 все просто, можно копировать все файлы с образа как есть.

Установщик XP и Alkid никак грузиться с других разделов не хотят, а Windows 7 грузится, но на этапе установки дает сбой. Так что любые ОС линейки Windows приходиться кидать на первый раздел, при чём тип раздела должен быть первичный (суди по моим экспериментам).

Остальное хранится на других разделах. Например Dr.Web на логическом разделе под номером 9.

menuentry 'Advansed Mode'{
    search -f /boot/DrWebLiveCD-6.0.2.130306 -s root
    linux /boot/vmlinuz ID=zMP6EcMYoQ0rY6uW root=/dev/ram0 init=/linuxrc init_opts=3 quiet initrd=/boot/initrd CONSOLE=/dev/tty1 BOOT_LANG=ru_RU.UTF-8
    initrd /boot/initrd
}
Это для загрузки в расширенном разделе где есть возможность сохранять изменения (например обновления антивирусных баз) в снимки, которые сохраняются на диске или флешке по вашему усмотрению.
Для загрузки обычного режима нужно передать параметру init_opts=4 вместо 3.
Вообще логика простая:

  • качаете нужный вам образ
  • выделяете под него раздел на флешке
  • копируете все файлы с образа на раздел флешки
  • смотрите как он там грузится родным загрузчиком
  • настраиваете ваш grub.cfg соотвествующим образом.

Ну единственное с debian лучше прям iso образ кинуть на флешку, затем скачать initrd и vmlinuz отсюда и грубом грузить их. Программа установки сама найдет iso образ debian'а.
А со всякими программами типа виктория также все по алгоритму. Ну только бывает нужно в качестве ядра выбирать memdisk, и использовать 16 битную версию команд. То есть нужно смотреть способ загрузки на оригинальных образах:

menuentry 'mhdd'{
    search -f /isolinux/memdisk -s root
    linux16 /isolinux/memdisk 
    initrd16 /bootdisk/mhdd.img 	
}
P.S. Постарался все по подробней рассказать, дело в том что автор не задавал наводящих вопросов, я ведь не могу узнать что именно у него не получилось.

demsi
()
Ответ на: комментарий от demsi

Спасибо за развернутый ответ.

У меня свой велосипед для загрузки windows сделан - сначала грузится Grub2 из него вызываю grub4dos и тот уже загружает windows из iso файла. За основу брал вот эту статью: http://habrahabr.ru/post/181844/

Spalf
()
1 июля 2015 г.
Ответ на: комментарий от cheerfulboy

Устанавливаешь grub4dos либо на раздел, либо устанавливаешь grub4dos в образ 1.44 дискеты и вызываешь этот образ посредством memdisk в grub2. В конфигурационный файл grub4dos либо на разделе либо в образе дискеты помещаешь соответствующую конфигурацию.

Т.е. по сути изначально запускается grub2, затем либо с раздела либо из образа дискеты вызывается grub4dos, который отображает своё меню, затем из этого меню выбираешь пункт в котором прописана конфигурация вызова загрузчика установщика Windows, в то же меню стоит добавить пункт вызова grub2 с флешки.

Удачи.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от kostik87

Выходит, обязательным условием запуска винды с помощью grub является необходимость загружать весь образ в память?

cheerfulboy
()
Ответ на: комментарий от kostik87

Да, действительно неверно прочитал. Получается grub4dos.exe загружается через memdisk.

cheerfulboy
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.