Ru-Board.club
← Вернуться в раздел «Программы»

» GRUB4DOS и GNU GRUB

Автор: LevT
Дата сообщения: 25.11.2009 22:50
NIKZZZZ

Цитата:
, а почитать например "Руссинович М. Соломон Д. Внутреннее устройство Microsoft Windows... ", после чего вопросы либо отпадут, либо будут по делу.


Читал-читал, когда-то. Но забыл. Но вспоминаю помаленьку... уже с помощью "телеги".


Проблема в том, что практически нет никого, кто свободно разбирался бы в общих принципах винды и линукса - и готов был бы делиться знаниями. (Может быть, нет именно потому, что нет спроса от благодарной аудитории?)

Есть считанные уникумы... ваяют себе grub4dos - а остальные ждут от них крошек милости в виде новых фич... и багов.


Добавлено:

Цитата:
Можно, например, не флудить в топике


это совершенно не флуд.

Для практической настройки менюшек grub4dos разницу между setupldr и ntldr вовсе не нужно знать в объеме "Winternals". Зато более чем полезно ориентироваться в линуксовых аналогах.

Это вас же разгрузит от лишних вопросов.
Автор: NIKZZZZ
Дата сообщения: 25.11.2009 23:42
LevT

Цитата:
Читал-читал, когда-то. Но забыл.

Значит не читал, такие вещи не забываются.
Цитата:
общих принципах винды
уж настолько подробно описано, что вопросов быть вообще не должно.

Цитата:
остальные ждут от них крошек милости в виде новых фич... и багов.

Они предлагают исходники, неужели так сложно поправить их баги?


Автор: kDnZP
Дата сообщения: 26.11.2009 01:05

Цитата:
... имидж диска А и отличаются они лишь строкой запуска нужной программы в autoexec.bat,
вопрос МОЖНО ли при загрузке имиджа диска передавать туда в качестве параметра ссылку на скрипт запуска? нечто вроде того как это можно делать в BCDW ?
и где вообще можно прочитать подробнее про использование скриптов в Grub.


Рекомендую скачать и изучить UBCD V5.0RC1, там найдете ответ на свой вопрос.

***
Че-то слабовато... Я рассчитывал на 3 страницы за сутки.
Автор: vadisat
Дата сообщения: 26.11.2009 08:02
z0bra
Цитата:
просто после загрузки образа в память редактировать файл autoexec.bat строкой Вам необходимой с необходимым смещением, и уж потом продолжать загрузку.

пример был бы просто неоценим

Цитата:
LevT

Цитата:
а КАК такое можно делать там? в BCDW

там сделано хитро, в строке загрузки имиджа добавлен как параметр имя .bat файла
который запускается из autoexec а в нем вызов утилитки которая берет из окружения загрузчика (в памяти) параметры с которыми он был вызван и оттуда достает имя bat файла и call ом его вызывает. Я хотел было сделать также но утилитка привязана к BCDW

Цитата:
AZJIO

Цитата:
Толком не понял, но можно в autoexec.bat вписать условие, если существует такой то файл, то стартовать его. Или в VC, DN сделать меню, которое появляется при старте и вписать туда нужные программы. Или в самом autoexec.bat вписать меню.

да было уже это... смысл меню Груба если дальше меню VC, был уже VC с меню я ушел от него...
а смысл проверки наличия файла? ну выбрал я например второй пункт меню КАК? я внутри загруженного имиджа (общего для всех пунктов!!!) определю что я выбрал второй пункт?

Цитата:
ABATAPA

Цитата:
а можно просто менять значение переменной:
set NAME=CODE


что за переменная CODE? это гдето описано?

Цитата:
kDnZP

Цитата:
Рекомендую скачать и изучить UBCD V5.0RC1, там найдете ответ на свой вопрос.


спасибо... пошел изучать
Автор: LevT
Дата сообщения: 26.11.2009 08:20
NIKZZZZ

Цитата:
Они предлагают исходники, неужели так сложно поправить их баги?


Допустим, что Ваш вопрос описывает реального человека. Вот И.П.Сидоров - он способен править баги, выявляемые в grub4dos, располагая необходимыми для этого знаниями, опытом, выделенной тестовой инфраструктурой с настроенным тулчейном и свободным временем. Нет, кучей свободного времени.

Спрашивается: а нафига такому титану именно править чужие баги? Вы лишаете его права самостоятельно что-то проектировать, определять приоритеты, ставить себе задачи, творить, тоже оставляя за собой баги... Он-то почему должен подчиниться наложенному Вами ограничению? (Впрочем, сектантское зомбирование тоже способ мотивации, кто-то может быть на него рассчитывает...)

Итак, риторический вопрос содержит в себе невозможность ответа. Доказано методом "от противного".

Автор: vadisat
Дата сообщения: 26.11.2009 09:14

Цитата:
спасибо... пошел изучать

Ндааа процесс изучения показал что грубом используется метод правки скрипта загрузки имиджа в памяти....
"write --offset=15 (fd0)/bin/setargs.bat ubcdcmd=cmospwd\r\n"
кто то сравнил это с грязным хаком... мне в общемто без разницы главное чтоб работало...
Автор: Hrist
Дата сообщения: 26.11.2009 09:28
DeisGood
в вашем меню видел запуск вот такого образа
RusLive_RAM_Mini.iso
это для компов с маленькой памятью?
а что в образе?
не поделитесь?
Автор: VV2006
Дата сообщения: 26.11.2009 09:44
LevT
Для чего немец Дитмар придумал модифицировать ntdetect.com? Для того, чтобы обойти проблему потери сменного носителя (removable media) в процессе загрузки с него и избежать BSoD стоп-кода 0x7B:

Цитата:
винда опрашивает USB устройства, находит флэшку, с которой грузится, сбрасывает USB-шину, флэшка отваливается, грузиться винде не с чего - BSOD. Это лечится патченным ntdetect.com


Вот здесь более-менее детально описаны фазы загрузки с UFD применительно для Windows Embedded.
Насчёт терминологии, действительно, зачем пытаться менять сложившуюся на сленговую? Только добавлять путаницу - её и так хватает!

У AZJIO где-то попадалось хорошее описание возможных цепочек загрузки - где, что и для чего можно патчить. Коротко, прагматично, полезно.


Чтоб два раза не ходить, прошу помочь знатоков GRUB'а: на 16 G флешке SanDisk U3 Cruzer подменил U3 раздел (CD-ROM) WinXPE-сборкой. Такой раздел грузится не всеми BIOS - отдельные не распознают разделы флешки как отдельные устройства. При этом с другого - обычного, не-CD-ROM раздела - GRUB загружается, но можно ли как (?!) в его меню прописать загрузку с такого CD-ROM-раздела? Стандартные способы загрузки с CD типа

Код: title boot CD
cdrom --init
map --hook
chainloader (cd0)
Автор: LevT
Дата сообщения: 26.11.2009 09:58
vadisat

Вы не поняли: "грязный хак" всегда штука ценная. Но он демотивирует людей создавать [спрос на] дешёвые в освоении и воспроизводимые, массовые инструменты.

И когда ВНЕЗАПНО выясняется, что нужный образ, например, зашифрован - не оказывается ни желающих, ни умеющих решать эту проблему в разумный срок. "Проще заплатить за лицензию". (потому что иногда нужен результат, а не увлекательное ожидание следующей версии монолитного загрузчика от его разработчиков).
Автор: NIKZZZZ
Дата сообщения: 26.11.2009 10:00
VV2006

Цитата:
не канают.

А что пишет команда Find?
Автор: LevT
Дата сообщения: 26.11.2009 10:13

Цитата:
Насчёт терминологии, действительно, зачем пытаться менять сложившуюся на сленговую?


Единой (хотя бы для линукса и винды только, хотя бы только для x86_64) сложившейся терминологии

- НЕТ. Увы.
Автор: vadisat
Дата сообщения: 26.11.2009 10:16
LevT
Цитата:
Вы не поняли: "грязный хак" всегда штука ценная. Но он демотивирует людей создавать [спрос на] дешёвые в освоении и воспроизводимые, массовые инструменты.

Возможно... для меня разница в смыслах заключается в следующем
для решения задачи используюся разные методы
1 логичный но специализированный (например передача параметров загружаемому образу)
2 универсальный но опасный (правка образа в памяти) и им я могу сделать все что захочу.... заразить вирусом безобидный файл например....
и оба они решают задачу....

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

что же касается Груба то я его с удовольствием использую, но даже не планирую копаться в его исходниках, для меня он просто инструмент а не самоцель, вот и все...
Автор: LevT
Дата сообщения: 26.11.2009 10:33
vadisat

во первых, в топике речь не о грубе, а о grub4dos Разница!

Во-вторых, лично я талдычу о уже сейчас заметных архитектурных ограничениях этого монолитного загрузчика - которые огого как вылезут в будущем (если баги в мозгах тусовщиков продолжат нынешнюю привольную жизнь).

И о том, что это именно инструмент в кругу себе подобных, в чём-то более перспективных, хотя менее зрелых на сей момент. grub2, gpxe.

А баги в сорцах править призывал тут не я: я наоборот этот призыв раскритиковал.


Добавлено:
VV2006

Цитата:
У AZJIO где-то попадалось хорошее описание возможных цепочек загрузки


тогда к нему отдельная личная просьба: конструктивно раскритиковать "телегу" на ее нынешнем уровне детализации.

Дальнейшая детализация безусловно входит в мои планы, но после проработки того, что уже есть.
Автор: VV2006
Дата сообщения: 26.11.2009 10:49
NIKZZZZ
grub> find
долго гремит приводом флоппи и выдаёт:
Error 15: File not found
Версия 0.4.3, видимо, надо на версии посвежее попробовать? И к find надо ещё что-то добавлять, описывающее устройство, которое ищем?
Автор: NIKZZZZ
Дата сообщения: 26.11.2009 11:00
VV2006
У меня, например, find без параметров выводит все доступные приводы. (v0.4.4)
Попробуй
find --ignore-floppies


Автор: kDnZP
Дата сообщения: 26.11.2009 11:13
VV2006
http://nufans.net/grub4dos
Использовать версию 0.4.4 в любом случае. Последняя более-менее стабильная: grub4dos-0.4.4-2009-10-16.zip
Автор: VV2006
Дата сообщения: 26.11.2009 13:34
NIKZZZZ, kDnZP
Спасибо, так и есть: в версии 0.4.4 GRUB'а find без параметров показывает список устройств. При отключенных HDD и CD-ROM (чтобы не путаться лишний раз) в нём только (hd0,0) и (fd0) - видимо, всё же через GRUB не получится адресовать загрузку на CDFS-раздел флешки.
Загрузчик-посредник нужен, который мог бы сделать это...

Автор: NIKZZZZ
Дата сообщения: 26.11.2009 13:42
VV2006

Цитата:
Загрузчик-посредник нужен

Попробуй Plop.



Добавлено:
Еще на сайте по BCDW была загрузочная дискета, позволяющая грузиться с CD.
Автор: VV2006
Дата сообщения: 26.11.2009 15:17
NIKZZZZ

Код: title PLoP USB Driver
root (hd0,0)
kernel /boot/plpbt.bin
Автор: LevT
Дата сообщения: 26.11.2009 15:31
Кстати о птичках (нештатном с т.зр. вендора запуске оси с USB).

Раз уж здесь обсуждают офтопичный ntdetect.exe - то считаю не менее уместным вопрос, как завести с USB некую кастомизированную систему, в основе которой Centos 5.1? (Полный набор подходящих модулей доступен).

Вытащить из виртуалки на ahci её уже удалось, вот так:

Код: mkinitrd -v --preload=ahci --preload=mptsas --without-usb /boot/test.img `uname -r
Автор: LevT
Дата сообщения: 26.11.2009 20:22

VV2006

Question: My computer does not have the option of booting from CD in the BIOS. How can I use the Ultimate Boot CD?

[Contributed by Jim Goodman] Download Smart Boot Manager from http://btmgr.sourceforge.net/ and install it on a floppy disk. Set your BIOS to boot from floppy. After the floppy boots you will be able to boot from any drive that is connected to the computer, including the CD.



Добавлено:
vadisat

Цитата:
там сделано хитро, в строке загрузки имиджа добавлен как параметр имя .bat файла
который запускается из autoexec а в нем вызов утилитки которая берет из окружения загрузчика (в памяти) параметры с которыми он был вызван и оттуда достает имя bat файла и call ом его вызывает. Я хотел было сделать также но утилитка привязана к BCDW


Где об этом написано? BCDW как-то связан с UBCD?
Автор: AZJIO
Дата сообщения: 27.11.2009 01:53
vadisat
Цитата:
да было уже это... смысл меню Груба если дальше меню VC, был уже VC с меню я ушел от него...
а смысл сотню строк умещать в главном меню Груба? Или меню того же Hiren вывести в главное меню Груба, оно даже не влезет, даже там применяется вложенное меню. А чем меню в VC отличается от вложенного меню Груба? только тем что обратно выйти нельзя, только перезагрузкой. Но и здесь не проблема, просто не нужно загружать без дела, а список прог вывести либо в имя в скобках, типа

Цитата:
title RzNkDOS (nt4fsdos, Ghost, Partition manager, victoria)
либо в описание, типа
Цитата:
title RzNkDOS\n nt4fsdos, Ghost, Partition manager, victoria, NC\n 18Mb\n ___________________________________________________________________________

из gfxmenu описание не увидеть, ну можно выйти отключив gfxmenu и тогда описание видно.
Само меню VC редактируется легко, могу примеры дать.


Цитата:
а смысл проверки наличия файла?
просто я не понял о чём речь, предположил монтирование дискеты паралельно с образами других дискет, так вот если грузится одна связка, то батником одной дискеты проверяется наличие существующих прог в другой дискете и грузится только найденная.

LevT [more]
Цитата:
тогда к нему отдельная личная просьба: конструктивно раскритиковать "телегу" на ее нынешнем уровне детализации.

Дальнейшая детализация безусловно входит в мои планы, но после проработки того, что уже есть.
прочитал, но о какой детализации идёт речь, кроме общих слов. Взять из того, что я знаю:

Цитата:
plop - проприетарный, заточен для расширения возможностей USB.
текст не несёт информации, из 6-ти слов лучше написать "увеличивает скорость загрузки с USB" и так по всем пунктам.


Цитата:
bootmgr - проприетарный, степень модульности неизвестна.
если модульность неизвестна то лучше о нём не писать, когда будет известно, тогда и написать.

Незнакомые для меня (простого пользователя) слова, которые можно написать в сноски: проприетарный, embedded, стораджей, бутстрапа, недоос (свою сборку назову переос)
а так же фразы: "монолитное ядро", "критическими дровами", "критичные для физического доступа к собственному телу", "модули _потомка", "абстракции железа", "многофакторных систем".
некоторые характеристики можно опустить, так как если ядро грузится, и характеристика монолитности на это не влияет то лучше не нагружать инфу общими словами. Фраза "PEшного сектантства", аналогично можно сказать "Компьютерного секстанства", "Рубордовского секстанства". Если уж уходить от секстанства, то сразу поломать компьютер, продать огород, чтоб уйти от огородного секстанства... и т.д. В таких случаях предлагают хорошую альтернативу какого либо секстанства, тогда народ сам примет лучшее.
Сравню со своим вариантом, который я выложил в последней ссылке. Во первых описание идёт к готовому рабочему дистрибутиву, то есть есть цель и есть решение, решение иногда имеет проблемы, которые выявляются со временем и исправляются. Решение по возможности приведено к автоматизму, чтоб не напрягать мозги юзверю, чтоб он сделал задуманное а потом ковырял для улучшения, в противном случае всё оставляется до лучших времён. Результат подталкивает к изучению. Инструкция по возможности краткая, буквально в четырёх предложениях, если начало легко-понятно, то можно читать далее. Если описалово с самого начало вокруг да около, то наталкивает на мысль что и концовка окажется несвязной, и стоит ли читать такое... Слишком длинное описание тоже отталкивает, поэтому в своём комплекте есть дополнительные описалова в папках.[/more]
Автор: DeisGood
Дата сообщения: 27.11.2009 05:42
Hrist

Цитата:
RusLive_Mini минимальная сборка с поддержкой сети и USB (RAM-загрузка, минимум RAM 128 Mb)
Это из темы Liveboot CD
Это сборка от NIKZZZZ который здесь же находиться. В ней практически ничего нет.
Она загружается очень быстро, ну а я ее использую с набором портабельных утилит и устанавливаю/восстанавливаю из под нее операционки.
Автор: LevT
Дата сообщения: 27.11.2009 08:05
AZJIO
Тогда дайте хотя бы своё "хорошее описание возможных цепочек загрузки": попробую сам оттуда что-нибудь выжать


Вот чего я не понял: столь широкое и глубокое непонимание использованных слов искреннее или стёб?

Я рассчитывал снять требование рекурсии для понимания идеи новичками: любая непонятка должна сниматься раскрытием термина, иногда простой обратной транслитерацией - вместо привычной отсылки в нечто необъятное, типа содержания Winternals (которое без собственного опыта билдерства понято быть не может: в лучшем случае зазубрено).

А сложившиеся секстанты 33-й степени посвящения - за пределом целевой аудитории текста. Общее неприятие идеи с их стороны было вполне ожидаемо. Хотя... я продолжаю надеяться, что у кого-то разум возобладает.
Автор: vadisat
Дата сообщения: 27.11.2009 08:49
LevT

Цитата:
LevT

Цитата:
Где об этом написано? BCDW как-то связан с UBCD?

не знаю я когда искал способ передачи параметров запуска в имидж много чего перековырял, а у меня был работающий пример (кажется какойто из дисков реаниматора) и там я это подсмотрел. с UBCD это не связано.
AZJIO
Цитата:
а смысл сотню строк умещать в главном меню Груба? Или меню того же Hiren вывести в главное меню Груба, оно даже не влезет, даже там применяется вложенное меню.

каждой задаче свое решение.... у меня задача уйти от меню VC к меню груба,
Понятно что у Hirena меню такое что груб там и не нужен... Тем более что Hiren един как модульная система, и нет смысла его кромсать.
Напомню еще раз мою задачу, несколько различных Досовских программ с общей Досовской частью уже выбираемые из Груба, и необходимость уйти от нескольких однотипных имиджей к общему + как параметр ссылка на файл запуска нужной программы.
Еще раз спасибо kDnZP за подсказку, UBCD прекрасно подошел как пример как это делается у Груба.

Автор: LevT
Дата сообщения: 27.11.2009 09:33

Цитата:

не знаю я когда искал способ передачи параметров запуска в имидж много чего перековырял, а у меня был работающий пример (кажется какойто из дисков реаниматора) и там я это подсмотрел.


вот-вот. Сейчас нет языка для фиксации достижений (результатов ковыряния). МЕТОДОЛОГИИ их воспроизводства.

Если не посвящать билдерству буквально всю жизнь (постоянно чувствуя предмет "кончиками пальцев", то что называется working skills) - остаётся ссылаться на нечто безбрежное и воспоминания о бывшем личном опыте.

А для единичных "посвящённых" естественно проще выдать готовый рецепт. Но, естественно, без гарантии результата, а в зависимости от настроения, фазы луны и скрытых багов в свежайшей версии топика.


Добавлено:

"Есть две интуитивных человеческих реакции, которые приводят к провалу проектов. Одна из них касается управления приоритетами - люди интуитивно пускают работы, по которым понятно, что делать надо, вперед, а те, в которых непонятно что делать для решения - откладывают. Второе - при выдаче задания подчиненным люди пытаются решить проблему самостоятельно, и выдать указания в терминах решения, но не проблемы, которую озвучить "забывают".

Этому учить не надо, так все делают сами. С другой стороны, мне кажется, что если исправить эти две вещи (что элементарно просто), то ничему другому тоже учить не надо - эффект будет настолько выражен, что все остальное не будет уже иметь значения."

(источник по ссылке)
Автор: Hrist
Дата сообщения: 27.11.2009 15:33
1. а пункты меню можно только в одну строку писать или как?

2. если потом появиться желание все то же самое с двд запускать - что нужно сделать?
Автор: LevT
Дата сообщения: 27.11.2009 18:20

пятое колесо (пока не знаю, как подшить к "телеге")
Автор: ded2007
Дата сообщения: 27.11.2009 19:03

Цитата:
Напомню еще раз мою задачу, несколько различных Досовских программ с общей Досовской частью уже выбираемые из Груба, и необходимость уйти от нескольких однотипных имиджей к общему + как параметр ссылка на файл запуска нужной программы.


Передача параметров из GRUB в ОС.
Решал подобную проблему, но "выверт" мне не понравился . В конечном итоге пришел к системе вложенных систематизированных меню GRUB-а. Благо флэшки подешевели и лишили смысла экономию места на ней. Тем не менее, по сути вопроса.
Идея "выверта" заключалась в следующем. В поставку GRUB-а входит файл default. В него пишутся данные командой savedefault, чтобы при следущей загрузке можно было сделать активным новый пункт меню или запомнить какой пункт выбирали в предыдущий раз. Нас интересуют следующие два факта.
Во-первых, для того чтобы обеспечить систему вложенных меню, GRUB позволяет скопировать default и использовать несколько файлов под разными именами. Я, например, для каждого меню menu1.lst, menu2.lst, menu3.lst,... копирую default с именами menu1.def, menu2.def, menu3.def,...
Во-вторых, мы имеем возможность опосредовано, через (hd0) передавать данные из меню в ОС.
Для этого в ОС необходимо лишь анализировать наборы файлов menu1.def, menu2.def, menu3.def,...
Кроме того, можно default размножить под именами param1.def, param2.def и т.д, но уже для собственных нужд.

Скелет пункта меню с передачей параметров в ОС выглядит так:
title *** 1-st step ***
default (hd0,0)/boot/param1.def
savedefault 4
default (hd0,0)/boot/param2.def
savedefault 7
...
загрузка ОС (или IMA-образа дискеты в твоем случае)


Пару команд
default (hd0,0)/boot/param1.def
savedefault 4

можно рассматривать как обычное param1=4, но с "вывертами". GRUB "пишет" число "4" в виде текста в первые байты файла param1.def. Это можно посмотреть каким-нибудь HEX- редактором. Точно уже не помню, но, по-моему, под это дело отводятся первые шесть-семь байт, в каждый из которых записывается одна цифра из команды savedefault + 0-байт как признак конца текста.
Далее в ОС нужно проанализировать файл param1.def и принять решение. Я даже батники сочинил для анализа. Могу оформить решение, но думаю, что сама идея и так уже ясна.
Автор: ABATAPA
Дата сообщения: 27.11.2009 20:30
ded2007
А зачем так сложно? Почему не dd и не write?
Или это было ДО этих команд?

PS: Когда уже этого флудера "попросят" из темы...

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586

Предыдущая тема: Альтеранативы Media Center от M$


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.