> dd if=(hd0) of=(cd)/BOOT/WEE63.MBR Вы перепутали if и of.
> А можно запустить bootlace.com из под COM модуля syslinux/isolinux? Кажется, можно. Во всяком случае, команда /bootlace.com --read-only 0x80 из командной строки syslinux'а отработала нормально.
> Дос должен нормально работать с длинными файлами, иметь файлменеджер, драйвера под раздличные фат(хотя бы ext и nt) А зачем это всё для установки загрузчика? Согласен, NTFS4DOS или драйвер ext2 с функцией записи может понадобиться, чтобы скопировать GRLDR, но без всего остального можно обойтись.
> Ну и сложный Bat-файл, запрашивающий путь назначения и организующий меню для снятия-установки различных ключей grubis16 в рабочей строке
Code
ECHO 1. ... ECHO 2. ... ECHO 3. ... CHOICE /C:123 Your choice IF ERRORLEVEL 3 ... IF ERRORLEVEL 2 ... IF ERRORLEVEL 1 ...
Конечно, всё это не покрывает 100% возможных случаев, но для 90% вполне подойдёт, а оставшиеся 10% стоят выбора "SHELL ONLY" и ручного ввода команд или вообще загрузки какого-либо livecd.
Попробуйте, например, этот образ дискеты: http://ompldr.org/vOTk3cA Мне удалось заставить его ставить grub4dos'овскую MBR на выбранный диск (из 4-х захардкоденных) и копировать GRLDR на выбранный раздел (тоже из 4-х захардкоденных). NTFS поддерживается отдельным пунктом загрузочного меню. НАЖМИ МЕНЯ, прежде чем что-либо написать
Да, это надо же было так лохануться неподетски)) Wee63.mbr прописывается и загружается. В архиве grub4dos-0.4.5b тоже есть подобный файл - grldr.mbr. Так же устанавливается в два захода командой dd. Мечта сбылась!!!))) спасибо за терпение. Команда grubinst --edit якобы помогает заведомо изменить в grldr.mbr параметры. Но у меня не обрабатывает. Придется один раз поставить грубинсталом с нужными параметрами, списать полученное в свой grldr.mbr и тода уж пользоваться.
Quote
Команда /bootlace.com --read-only 0x80 из командной строки syslinux'а отработала нормально.
Нифига се возможности.
Quote
А зачем это всё для установки загрузчика?
Не редко приходится переписывать и править файлы lst, а так же предварительный lst в теле grldr.
Quote
ECHO 1. ...
Я вижу даже самую простую менюшку примерно так:
Code
GRUB Install ======================================= Current сommand: grbins16.exe --verbose --pause --no-backup-mbr --mbr-disable-floppy --mbr-disable-osbr --time-out=0 (hd0) Current target path: (hd0,1)/boot/ ======================================= 1. Disk/partition list. 2. Change target. 3. Set/Del "skip mbr test" option. 4. Set/Del "no backup/previous mbr" option. 5. Change the name boot file. 6. Change target path for grldr/*.lst. 7. Run. 8. Copy loader files. 9. Run and Copy loader files.
Quote
Попробуйте этот образ дискеты: http://ompldr.org/vOTk3cA
Наиболее симпатичный образ из трех которые смотрел. И как инструмент хорош и как основа для доработки. fdconfig.sys вообще красивый по содержанию))
Добавлено (29.06.2011, 21:30) --------------------------------------------- Может ли Grub4Dos запрашивать ввод переменной у пользователя? На первый взгляд вроде команды нет, но мало ли. К примеру, команды echo тоже в списке нет(help --all), а она работает как ни в чем не бывало.
Как организовать логику: Если (hd0) существует - geometry (hd0). Как ни ковырялся с командой if, ничего не вышло. Даже номер ошибки из errnum не удается применять.
Сообщение отредактировал Visitor7 - Вторник, 28.06.2011, 03:12
> Может ли Grub4Dos запрашивать ввод переменной у пользователя? Да, может, я видел такую функцию в HBCD, где запускается parted magic. Вероятно, так: http://ompldr.org/vOWFiNg
> Если (hd0) существует - geometry (hd0). Не понял. geometry (hd0) && some-command ... ? НАЖМИ МЕНЯ, прежде чем что-либо написать
Да, работает. Недобросовесно прочитал help по ключу "/p" команды set.
Quote
geometry (hd0) && some-command ... ?
Code
Если диск (hd0) существует, то echo (hd0) geometry geometry (hd0)
Если диск (hd1) существует, то echo (hd1) geometry geometry (hd1)
...
cdrom --init map --hook
Если диск (cd0) существует, то echo (cd0) geometry geometry (cd0)
...
map --unhook cdrom --stop
Пока что получается примерно так:
Code
echo _______Geometry Disk 1 (hd0)_________________________________________________ geometry (hd0) ... echo _______Geometry CD 1 (cd0)___________________________________________________ geometry (cd0) ... echo pause No CD where are no geometry. Press any key to continue...
При отсутствии диска его геометрия просто не выводится, но echo выводящее номер диска выводит ненужную строку. Довольно коряво выглядит. В принципе, команда geometry сама идентифицирует диски, но в немного непривычном формате 0x80 0x81 0xef 0x00 0x01... хотелось бы видеть и привычное сопоставление.
Пробовал: if exist (hd0) echo HD0 && geometry (hd0)
Пробовал получить код ошибки, предположив что команда errnum не только выводит номер ошибки: root (hd0,0) if %errnum%==0 echo HD0 && geometry (hd0) -----------------------
Если вам интересно, обнаружил, что grub4dos может исполнять внешние команды из папки /boot/grub/. Команды можно найти здесь. Имеется команда FAT, которая может создавать папки и файлы, переименовывать, копировать, выводить каталоги, создавать файловую систему. Так что команды geometry, dd и fat создают полноценный инструмент для восстановления grub4dos из собственной среды. А альтернативный MBR загрузчик wee(который автоматом загружает grub4dos), позволяет загружать его из любой папки любой файловой системы.
Сообщение отредактировал Visitor7 - Четверг, 30.06.2011, 01:39
Подкажите! К примеру я установил GRUB4DOS, распаковал образ в подпапку и как узнать кокой файл мне нужно запускать (прописать в menu.lst) если там может быть не 1 bin-файл? И можно расписать menu.lst, как прописывать строки если я хочу что-то поменять? (find --set-root --ignore-floppies --ignore-cd /bootmgr || find --set-root --ignore-floppies --ignore-cd /ntldr map --hook rootnoverify (hd0) chainloader (hd0)+1) trezyxct
> распаковал образ в подпапку Здесь уже неправильно. Откуда содержимое образа узнает о том, что искать файлы нужно не в корне файловой системы?
> и как узнать кокой файл мне нужно запускать (прописать в menu.lst) если там может быть не 1 bin-файл? Разобраться в принципах работы того, что этот образ запускает.
> как прописывать строки если я хочу что-то поменять? Вопроса не понял. Видимо, для начала нужно изучить документацию по загрузчику и прочую теорию/матчасть. НАЖМИ МЕНЯ, прежде чем что-либо написать
Добавлено (08.07.2011, 22:10) --------------------------------------------- Подскажите, у меня в образе файлы (bootwiz.bin, gen_bootmenu.bin, kernel.dat, mouse.com, ramdisk.dat, splash.run, f11.cfg), как узнать какой файл запустится при запуске CD. Я хочу распаковать его в GRUB4DOS. И вообще как узнавать запускающийся файл? f11.cfg : [start] echo Starting Acronis True Image... initrd ramdisk.dat /s kernel kernel.dat quiet quiet on mbrcrcs on vga vesa
[continue] sysboot /active
[bootmgr] echo Press F11 for Acronis Startup Recovery Manager... default continue delay 30 bootmenu 389 ------------- Если надо.
> И вообще как узнавать запускающийся файл? Вскрыть загрузочный сектор iso-образа и попытаться там найти какие-нибудь строки. Ненадёжный метод; гораздо лучше работает метод гениальной догадки.
kernel.dat наверняка является ядром linux, а в файле ramdisk.dat хранится сам acronis, которого ядро запускает. Это можно также увидеть из f11.cfg: > initrd ramdisk.dat /s > kernel kernel.dat quiet
Начните с:
Code
kernel /путь/к/kernel.dat initrd /путь/к/initrd.dat (остальные файлы не нужны)
P.S. Мне кажется, эти вопросы имеют мало отношения к вопросу темы (Установка GRUB4DOS). А работа с acronis'ом вообще многократно рассмотрена на этом сайте. В инструкции (в подписи) сказано: прежде, чем спрашивать, воспользуйтесь поиском. НАЖМИ МЕНЯ, прежде чем что-либо написать