Автор: ROMby Unknown , 9 сентября 2006
Содержимое данного поля является приватным и не предназначено для показа.

BBCode (added in Drupal 11)

  • HTML-теги не обрабатываются и показываются как обычный текст
  • You may use the following BBCode tags:
    • [align]
    • [b]
    • [code]
    • [color]
    • [font]
    • [hr]
    • [i]
    • [img]
    • [list]
    • [quote]
    • [s]
    • [size]
    • [spoiler]
    • [sub]
    • [sup]
    • [table]
    • [u]
    • [url]
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.

JAV

19 лет 5 месяцев назад

ISO buster не позволяет вытащить из образа файлы?
Или в Alcogol120 загрузить.
Есть прога для образов дискет - в системе появляется несколько дисководов в котрые можно в ставить образы. Название сейчас не вспомню - поставилось с TotalCommander Podarok Edition

Llama

19 лет 5 месяцев назад

JAV а толку? Тут речь о том, чтобы грузить именно образы. А из memtest86+ вы нікакім образом нічего не вытащите

Unknown BIOS (не проверено)

19 лет 5 месяцев назад

Я бы посоветовал внимательно изучить возможности LILO и особенно GRUB.

Занялся этим. Пока не нашёл.

И даже те программульки, которые не форматируют дискетку (таких, кстати, меньшинство), а только пишут посекторно... через кого они к этим секторам обращаются ? ДОС ведь так не умеет. Значит, или через Биос, или напрямую, тем же программированием контроллера. И как же Вы будете это распознавать в каждом конкретном образе дискетки, чтобы выкусывать/заменять ? Тем более, что способов записи на дискетку существует оч-чень много, каждый... как он хочет !

Будем считать что через БИОС. Я предполагаю, что именно так и работает вышеупомянутый мною BCDWizard, т.к. он грузится с CD-ROM, ещё до загрузки ДОС. А имитировать или подменять обращение к портам дисковода - я уверен что это нереальный путь.

И как же Вы будете это распознавать в каждом конкретном образе дискетки, чтобы выкусывать/заменять ? Тем более, что способов записи на дискетку существует оч-чень много, каждый... как он хочет !

Давайте исключим эти редкие случаи из обсуждения.


Предлагаю скачать syslinux и внимательно изучить документацию на ядро memdisk.
Потом взять loadlin и приковырять к нему w98+оное извращение с memdisk.
А вообще grub это все умеет...

Насколько я понял, Вы предложили просто альтернативный вариант Грабу. Зачем же эти заморочки, если есть Граб?

Хотите расковыренный RIS diskette?

Что это такое? Не понял совсем.



"Как передать управления образу ОС находящемуся в виде файла на файловой системе"
A1. Использовать GRUB , т.к. данный загрузчик понимает файловые системы (из несвободных понимает FAT AFAIR) у имеет передавать управления чему угодно практически.
Например для memtst86+ кусок конфіга:

Пока ещё не разобрался с Грабом, но всё же отвечу.
Каким образом Граб передаёт управление образу? Он считывает его целиком в ОЗУ и делает джамп на начало? Или он считывает только загрузочную часть образа и делает джамп?... В любом случае, рассмотрим пример с тем же мемтестом. Как идёт загрузка с флопика? Просто - загрузочный сектор 512 байт считывается БИОСом в ОЗУ по адресу 0x0000:0x7C00, далее идёт джамп туда же. Очевидно, что эти первые 512 байт образа должны прочитать оставшуюся часть из дискеты в ОЗУ и передать управление далее по цепочке. Или прочитать конкретные файлы на дискете... Как бы то ни было, загрузчик (512 байт начала образа) заточен на работу с дискетой! Либо хардом, либо СД-РОМ, либо другим носителем - зависит от конкретного образа, с какого носителя он снят. В случае МемТеста это флопик. Следовательно, если передать управление на начало образа, считанного в ОЗУ, то код, расположенный там, полезет к ФДД! Следовательно, нужно обеспечить трансляцию запросов к ФДД в запросы к образу, и не важно где этот образ - в ОЗУ или на носителе.
Так вот, не уверен что Граб и пр. вышеприведённое софтино делает эту трансляцию. Хотя непременно воспользуюсь всеми советами и не поленюсь разобраться.

З.Ы. raw и корректное поедание himemа появилось относительно недавно

Не понял, raw - альтернатива himem? raw - под какую ОС? ДОС? Чёто запутался я...

ISO buster не позволяет вытащить из образа файлы?
Или в Alcogol120 загрузить.
1)Есть прога для образов дискет - в системе появляется несколько дисководов в котрые можно в ставить образы. Название сейчас не вспомню - поставилось с TotalCommander Podarok Edition

Понимаете ли, JAV, есть какие-то нестандартные образы, у них какая-то непонятная ФС, либо полное её отсутствие. Дискета может быть создана в разных ОС, разным софтом, иметь разную структуру... А образ - это полная посектарная копия дискеты, либо её части.
2)Образы то вставить можно, ноу проблем, но вот загрузить с вставленных таким образом образов (сори за каламбур) операционку, записанную на последних, не представляется возможным.

Llama

19 лет 5 месяцев назад

abboot как тут уже разжевали, есть два типа образов
1) Самодостаточный бинарник содержащий ядро ОС + функциональную часть, который достаточно просто загрузить в память и передать ему управление - с нулевого байта.
Примеры: ядро linux, memtest86+ построеный на основе ядра linux или memdisk о котором далее....
Грузится с помощью GRUB, при этом бинарный описывается в конфиге как ядро ОС - GRUB копирует его в память и передает управление ему.
2) Образ блочного устройства содержащий фаловую систему и загрузочный сектор.
Тут чуть сложнее - необходімо чтобы что-то эмулировало это самое блочное устройство со всеми его атрибутами - тип INT13, геометрии и т.п. Для эмуляции блочного устроства используется memdisk. Для загрузки memdisk используется GRUB.
При этом memdisk описывается как ядро операціонной системы, а интересующий нас образ блочного устройства - как initrd. Inintrd - это собственно initial ramdisk. GRUB загружает в память ядро + initrd (т.е. memdisk + образ вашей условной дискетки), далее управление передается memdisk, при этом в качестве параметров ему передается расположение initrd в памяти + стандартный cmdline в котором для memdisk могут быть переданы некоторые параметры. Получив управление, memdisk далее выполняет процедуры по эмуляции блочного устройства и передает управление загрузочному секторы образа дисктеки, после чего код BR DOS работает пребывая в полной уверенности, что загрузка происходит с чего-то стандартного.

Unknown BIOS (не проверено)

19 лет 5 месяцев назад

Позвольте ещё раз коснуться сути проблемы, уточнить её, внести некоторую ясность.

Буду придерживаться такого плана:
1 - как всё выглядет при использовании BCDWizard(http://www.bootcd.narod.ru).
2 - как это работает
3 - что требуется
4 - возможное решение

Итак,

1) Создаётся загрузочный образ СД-диска. В образ записывается BCDW и куча полезных образов (дискет). Создаётся специальный ini-file в котором все настройки менеджера BCDW. Далее образ пишетсяна СД-диск. Загружаемся с СД, видем менюшку со списком образов дискеток (или даже париций...загрузчиков). Выбираем нужный. Далее уже идёт загрузка с этого образа, словно это полноценная дискета, вставленная в дисковод А:. После загрузки (в случае если это был образ ДОСа и т.п.)видим, что в дисководе А: находится вставленный образ, словно дискетка, т.е. всё содержимое дискеты, с которой сделан образ, находится в А:. Запись туда запрещена. При чтении файлов идёт обращение к СД-диску. Реальному дисководу назначается B: letter. Всё!
2)Разберёмся, что собой представляет BCDW и как оно работает.
Менеджер состоит из следующего - а) таблицы кодировок (чарсеты), б) набор шрифтов, в)bcdw.ini - основные настройки путей - путь к фонту, к чарсету, к фалу с меню (инишник специальный), г)bcdw.bin - сам менеджер, д) файл с пользовательскими настройками менюшки и пр. визуальности, е) собствнно загрузочный сектор, записываемый на СД-диск - bcdwboot.bin.
а,б - нам неинтересны. в,г - должны располагаться строго в /BCDW/.
Пути к образам прописываются в инишнике с менюшкой.
Самое заслуживающее пристального внимания, это пункты г,е и формат путей, прописываемых в инишках.
Рассмотрим г,е. (далее пошли мои логические предположения)
е) - файл bcdwboot.bin (записывается на СД как бутблок). 2048 bytes. Собственно, он первым получает управление от БИОСа, ищет на СД-диске файл /bcdw/bcdw.bin и считав его в ОЗУ передаёт бразды правления. Возможно он также вешает обработчик БИОСовского прерывания, используемого для еализации служб работы с дисководом/дискетой, для последующего эмулирования.
г) - файл /bcdw/bcdw.bin. ~27 KBytes.
Это сам менеджер мультизагрузки с СД-диска.
Он считывает /BCDW/bcdw.ini и узнаёт путь к menu.ini. Считав menu.ini, Узнаёт все настройки и пути к образам. После выбора образа пользователем, осуществляет монтирование образа в А: и загрузку с последнего.
Как происходит эмуляция? Я думаю, что при обращении к перехваченным функциям БИОСа (а именно через них работает ДОС/загрузчик Винды/большинство прочего софта), на запросы чтения/записи секторов выдаются блоки из файла-образа расположенного на СД.

3) Что же требуется?
Чтобы bcdwboot.bin искал bcdw.bin не на СД, а на ActivePrimaryPartition(FAT16/32), а сам bcdw.bin работал не с СД, а с тем же ActivePrimaryPartition(FAT16/32).
1 - загрузчик BCDW заточен под CDFS, следовательно нужна возможность работы с другими ФС (FAT16/32 - достаточно).
2 - менеджер также заточен под CDFS + стандартные пути к инишкам.
значит и его придётся заставлять работать с другими ФС (FAT16/32-норма).

!! - И ещё было бы здорово, если бы монтированный образ копировался в ОЗУ и обращения на запись к дисководу А: не блокировались, а поизводились над образом в ОЗУ. Хотя, если это переделать для работы с хардом, тогда и в ОЗУ копировать не обязательно - просто при записи на А: происходила бы запись в соответствующие записываемым секторам блоки файла-образа расположенного на харде (ведь это только на СД писать-то нельзя).

4)Возможные решения
1. Брать в руки ИДА или что-то подобное и лезть внутрь
2. Писать такое же, но своё
3. Просить создателя расширить функционал
4. Искать готовое решение
5. альтернатива

1. - всё чаще склоняюсь сюда, но пока ещё надеюсь...
2. - уже возникали мысли, и они всё сильнее
3. - нет связи. мыло уже того. наверное достали его насмерть
4. - вот пока не нашёл
5. - навряд ли возможна, хотя ещё пытаюсь придумать или найти...

На этот раз сказал ВСЁ!
Уж извините за такой объём, но меньше не получилось.

Llama

19 лет 5 месяцев назад

1. Ну при наличи массы свободного времени это было бы возможно позновательно
2. Алтернатівный варіант велосипеда изобрели уже? ;)
3. Это проўе всего ;)
4. Он есть и его вам описали.
5. Простіте, чем вас не устрівает варіант с GRUB ?

Я пока не понял честно говоря чего вы так прівязалісь к BCDW - вам описали как можно на коленке при помощи grub и memdisk организовать загрузку чего угодно и откуда угодно. С менюшками, картинками, рюшечками и возможностью правки параметров перед загрузкой, если это надо. В качестве побочного эффекта - можно в командном режиме GRUB вообще грузить что угодно, а не только прописанные в конфиге образы. Поясните мне пожалуйста, что вам не понятно в моем описании ілі чем вам предложеный рецепт не нравится. Если у вас есть вопросы в духе "а можно ли сделать так" - то задавайте их. А то создается впчатление, что у вас некая религиозная привязанность к BCDW ;)

Unknown BIOS (не проверено)

19 лет 5 месяцев назад

2 K9

:mrgreen: Пока я постил, Вы ответили уже, а я и не заметил! Вот только что перечитывал тему, гляжу, а Вы успели ответить ещё раз, а пост остался на 1-й странице. Но зато высказался от души я!
Уже скачал memdisk. Щас граб найду и буду изучать всё это.
Судя по всему, Вы попали в точку.
К BCDW я привязался лишь потому, что много опыта с ним имел, он предоставлял удобные возможности... вот и породнился я с ним. Конечно есть и другой подобный утиль, но с ним опыта у меня нету, поэтому пример однобокий получился.

Ладно, иду пробовать...

С уважением.

Добавлено спустя 1 день 14 часов 32 минуты:

Всё получилось!

Всё как я хотел. Даже больше перспектив и свободы. GrUB (+MemDisk) - super!
Успел попробовать несколько образов грузануть (W98, CIA Man., ...) всё пошло. Первый казус возник при попытке грузануть образ DocMem22. Лезет к FDD гад и виснит. Надо ещё разобраться, но помоему напрямую валИт...

Благодарю всех ответивших. Вы мне очень помогли.
Отдельное спасибо 2 K9 ! :mrgreen: Не поленился разжевать.

Llama

19 лет 5 месяцев назад

Кстати, у grub есть забавная опция device - возможно получится обойтись без memdisk, хотя врядлі конечно, но кто его знает...

Compiller

19 лет 4 месяца назад

Порой в интернет насчёт Ammo SuperDOS - там загружается образ доса. Очень прикольно сделано я так и не понял как но работает.
http://superdos.borda.ru/
Здравствуйте!

Облазил наверно весь инет и на спец.форумах побывал, но нигде не нашёл информации, никто не навёл на путь истинный.

Проблема.

Имеется на свете куча полезных загрузочных дискеток. Это могут быть - установочные дискеты для ОС, тесты разные (MemTest86+,), утилиты (cia,offline,pqpm...), рекавери-утиль и пр. без чего жить трудно.
Дискеты вещь ненадёжная и тормозная, хрупкая и объёмная. Иметь с ними дело не охота.
Всем известно, что можно создать образы дискеток (*.IMA,*.IMZ,*.FLP, *.IMG...), например, WinImage'ем.
Существут также великолепная софтина BootCD Wizard, позволяющая создавать мультизагрузочные компакты, при загрузке с которых производится эмуляция FDD, и предоставляется возможность выбора любого образа (IMA,IMG...ISO) для загрузки с этого самого образа, будто бы с реальной дискеты... Т.о. отпадает необходимость использования физических дискеток!

Но вопрос вот в чём.
Эта софтина заточена под CD/DVD. А я хочу использовать подобные возможности без CD-ROM'a. Заместо CD требуется загрузка с HDD партиции, с возможностью выбора образа для загрузки с эмулированного дисковода.
Как это должно выглядеть. Загружаюсь с партиции HDD, появляется менюшка со списком образов (или лучше с возможностью ыбора из любого каталого диска C:), и выбрав образ осуществляется загрузка будто с обычной дискеты.

Сама прога BCDWizard имеет основной модуль, который выполняет эмуляцию, показывает меню и обрабатывает *.ini. Но он заточен для работы с CD. Также имеется начальный загрузчик, который пишется как бутблок на CD (2048 Bytes). Он естественно тоже заточен под CD.
Т.о. не получится записать его в виде BootRecord на партицию HDD...

Есть два пути решения задачи.
1. Дизассемблить эти модули и переделать на работу с ХДД.
2. Найти готовое решение.

Первый способ навряд ли мне под силу (времени уйдёт тьма! а я спешу). Да и нереально будет разобраться с большим модулем (~30K).
Хотя с самим загрузчиком вполне реально (2K).

Второй способ. Собственно на него я и расчитываю. Поэтому я здесь.

Принимаются любые подсказки :)...