[Цитировать]

    wmg20550
  • 25743
  • Стаж: 4 года
  • Сообщений: 6
  • Репутация:0

    [+] [-]
Автоматическое меню grub4dos
Puhpol, создал меню
iftitle [if exist hd(0,1)/debbie.iso] Debbie || iftitle [ls hd(0,1)/debbie.iso] Debbie || iftitle [find --set-root /debbie.iso] Debbie
#set ISO=/(hd0,1)/debbie.iso
#map --mem %ISO% (0xff) || map --mem %ISO% (hd32)
map --mem (hd0,1)/debbie.iso (hd32)
map --hook
chainloader (hd32) || chainloader (hd0)+1 || chainloader (hd0)
Почему-то пункт Debbie в загрузочной меню не появился при вызове grub4dos (я привел свой наиболее универсальный вид меню поскольку не знал какой из вариантов на моей машине сработает)
P.S. фАЙЛ ОБРАЗА РАСПОЛОЖЕН НА ДИСКЕ D !!!!!
Добавлено через 9 минут 56 секунд:
И второй вопрос где посмотреть параметры загрузки они так быстро мелькают на экране если я делаю menu.lst содержащий лишь этот пункт меню?

[Цитировать]

    sergeysvirid
  • 104
  • Стаж: 9 лет
  • Сообщений: 2561
  • Репутация:127

    [+] [-]
  • Откуда: 65 регион (GMT+11)
wmg20550,
aa
Что то Вы такое "наворотили" (особенно в первой строке), что вряд ли когда так появится этот пункт в Вашей менюшке.
Для начала попроще надо, например как-то так:
iftitle [if exist (hd0,1)/debbie.iso] Debbie
set ISO=(hd0,1)/debbie.iso
map %ISO% (0xff) || map --mem %ISO% (0xff)
map --hook
chainloader (0xff)
...ну а там дальше уже смотреть, добавлять/пробовать другие параметры загрузки (после "map --hook")
81943И второй вопрос где посмотреть параметры загрузки
https://usbtor.ru/viewtopic.php?t=1997

[Цитировать]

    wmg20550
  • 25743
  • Стаж: 4 года
  • Сообщений: 6
  • Репутация:0

    [+] [-]
81943И второй вопрос где посмотреть параметры загрузки
https://usbtor.ru/viewtopic.php?t=1997
Я имел ввиду в грубе у себя на диске что создается автоматически

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 8 месяцев
  • Сообщений: 1320
  • Репутация:127

    [+] [-]
81943iftitle [if exist hd(0,1)/debbie.iso] Debbie || iftitle [ls hd(0,1)/debbie.iso] Debbie || iftitle [find --set-root /debbie.iso] Debbie
будет ли это работать? если не сработает, то пробуй так:
iftitle [if exist hd(0,1)/debbie.iso || ls hd(0,1)/debbie.iso || find --set-root /debbie.iso] Debbie
только у тебя || знак ИЛИ, то есть сработает один из вариантов, но они дают разный результат. В первом случае "hd(0,1)/debbie.iso" root не назначается, в 3-ем назначается (--set-root)
Дальше используешь явный путь в "map --mem (hd0,1)/debbie.iso (hd32)", то есть (hd0,1), но если сработает find, то это не обязательно (hd0,1). В общем логика нарушена.

[Цитировать]

    wmg20550
  • 25743
  • Стаж: 4 года
  • Сообщений: 6
  • Репутация:0

    [+] [-]
81945wmg20550,
aa
iftitle [if exist (hd0,1)/debbie.iso] Debbie
set ISO=(hd0,1)/debbie.iso
map %ISO% (0xff) || map --mem %ISO% (0xff)
map --hook
chainloader (0xff)
...ну а там дальше уже смотреть, добавлять/пробовать другие параметры загрузки (после "map --hook")
В результате запуска предложенной Вами конфигурации получил на экране следующее
GRUB4DOS 0.4.6a 2020-08-09, root is (0x80,0)
Processing the preset-menu ...
GRUB4DOS 0.4.6a 2020-08-09, root is (0x80,0)
Processing menu file /menu.lst ...
GRUB4DOS 0.4.6a 2020-08-09, Mem: 638K/3325M/768M, End: 3686B6
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywere else TAB lists the possible
completions of a device/filename. ]
grub> _
Добавлено через 2 минуты 1 секунда:
81954
81943iftitle [if exist hd(0,1)/debbie.iso] Debbie || iftitle [ls
Дальше используешь явный путь в "map --mem (hd0,1)/debbie.iso (hd32)"
Спасибо буду пробовать


Последний раз редактировалось: wmg20550 (2020-12-10 15:30), всего редактировалось 1 раз

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 8 месяцев
  • Сообщений: 1320
  • Репутация:127

    [+] [-]
81956В результате запуска предложенной Вами конфигурации получил на экране следующее
в рамках этой темы только проверяется появился ли сам пункт Debbie. То есть условие возвращает 1 или True. Но это не значит что если есть пункт, то он обязательно загрузится. Можно ведь проверить наличие диска 1, а потом пытаться грузить диск 2. Так что появление пункта определяет логику выражения в условии. И опять же появление пункта не факт правильной логики, find найдёт образ допустим на диске 3 и добавит пункт меню, разрешая загрузить пункт, так как образ найден, а дальше попытка грузить с (hd0,1). К тому же chainloader может не сработать. Так что надо проверять работу каждой командной строки.
По тексту ошибки: не может найти меню, т.е. файл menu.lst.

[Цитировать]

    wmg20550
  • 25743
  • Стаж: 4 года
  • Сообщений: 6
  • Репутация:0

    [+] [-]
81954
81943
будет ли это работать? если не сработает, то пробуй так:
iftitle [if exist hd(0,1)/debbie.iso || ls hd(0,1)/debbie.iso || find --set-root /debbie.iso] Debbie
Результат тот же см выше
Добавлено через 1 минута 5 секунд:
81958
81956В результате запуска предложенной Вами конфигурации получил на экране следующее
По тексту ошибки: не может найти меню, т.е. файл menu.lst.
Убрал find написал все в явном виде. См выше
Добавлено через 48 секунд:
81958
81956В результате запуска предложенной Вами конфигурации получил на экране следующее
По тексту ошибки: не может найти меню, т.е. файл menu.lst.
А с чем это связано ?

Предупреждение от sergeysvirid


Не цитируйте полностью сообщение. Достаточно выделить часть сообщения и нажать слева на ник автора этого сообщения!


Последний раз редактировалось: wmg20550 (2020-12-10 15:35), всего редактировалось 1 раз

[Цитировать]

    sergeysvirid
  • 104
  • Стаж: 9 лет
  • Сообщений: 2561
  • Репутация:127

    [+] [-]
  • Откуда: 65 регион (GMT+11)
81959iftitle [if exist hd(0,1)/debbie.iso
wmg20550,
Почему hd(0,1) ?
Писал же выше:
iftitle [if exist (hd0,1)/debbie.iso] Debbie

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 8 месяцев
  • Сообщений: 1320
  • Репутация:127

    [+] [-]
81959А с чем это связано ?
вариант chainloader для Linux как я понимаю не самый надёжный, иначе бы я вместо kernel+initrd извращаясь с ком-строкой ядра использовал бы chainloader - одинаковый для всех, меняя только имя образа. Но может я не прав и всё получится. Связано с тем что root должен быть там откуда происходит загрузка, у тебя один Grub4Dos загружает другой Grub4Dos, непонятно наследуется ли root от одного другому, и если да, то надо пробовать (0xff) делать root, типа root (0xff).
Создай тему, эти задачи уже не в рамках "Автоматическое меню grub4dos"

[Цитировать]

    wmg20550
  • 25743
  • Стаж: 4 года
  • Сообщений: 6
  • Репутация:0

    [+] [-]
81961
81959iftitle [if exist hd(0,1)/debbie.iso
wmg20550,
Почему hd(0,1) ?
Писал же выше:
iftitle [if exist (hd0,1)/debbie.iso] Debbie
Не понял что не так у меня образ на диске D?

[Цитировать]

    sergeysvirid
  • 104
  • Стаж: 9 лет
  • Сообщений: 2561
  • Репутация:127

    [+] [-]
  • Откуда: 65 регион (GMT+11)
wmg20550,
Выделенный жирным текст видите? Разницу не замечаете?

[Цитировать]

    wmg20550
  • 25743
  • Стаж: 4 года
  • Сообщений: 6
  • Репутация:0

    [+] [-]
81966Выделенный жирным
Понял, спасибо. Буду смотреть Все меню создалось. Правда все равно не грузится но это уже вне темы этого обсуждения.
Добавлено через 6 минут 21 секунда:
Все заработало всем спасибо!!!

Страница 2 из 2


Показать сообщения:    

Текущее время: 31-Окт 10:31

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы