Как создать собственный загрузочный ISO-образ MS-DOS?

9785
Hashim

Как описано в этом вопросе, я использовал WinSetupFromUSB для успешного создания мультизагрузочного USB-устройства, которое могло бы загружаться в MS-DOS 6.22, а также установщиков для другой версии Windows, но не смог получить доступ к каким-либо исполняемым файлам, которые мне нужны, в корне USB.

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

Для этого я извлек все 40 файлов из исходного загрузочного диска ISO с помощью WinRAR. Затем я открыл режим сборки ImgBurn, а затем выбрал 40 файлов DOS и мои исполняемые файлы в качестве источника, всего 57 файлов.

Отсюда я загрузил образ загрузочной дискеты / дискеты для DOS 6.22 ( Dos6.22.img) и выбрал его в качестве образа загрузки в Advanced> Boot Manager со следующими настройками:

enter image description here

Затем я добавил метки тома ISO9660 и UDF и выбрал кнопку «Создать». Операция прошла успешно, и я использовал WinSetupFromUSB для загрузки вновь созданного ISO-образа на загрузочную флешку. Вставка флешки загрузилась в grub4DOS как положено. Загрузка в MS-DOS 6.22 работала, но так же, как и при использовании неизмененного загрузочного ISO, отображались только 40 файлов, поставляемых с DOS 6.22 по умолчанию, полностью игнорируя дополнительные файлы, добавленные в новый ISO.

Что я здесь не так сделал?

1
У вас есть config.sys и autoexec.bat? В противном случае загрузка в командную строку - это все, что вы получаете. Кроме того, путь устанавливается в autoexec.bat, поэтому нет autoexec, нет пути, и он не найдет исполняемые файлы для вас. Из DOS 6.22 новые файлы видны с помощью команды ** dir **? cybernard 6 лет назад 0
Да, оба config.sys и autoexec.bat присутствуют в 57 файлах, используемых для создания ISO. Нет, это не так - поведение с исходным ISO для DOS 6.22 такое же, как и с недавно созданным ISO. Показывает только 40 файлов, включенных в DOS 6.22. Hashim 6 лет назад 0
Содержимое AUTOEXEC.BAT: https://pastebin.com/VGMEQcR4. Hashim 6 лет назад 0
Содержимое CONFIG.SYS: https://pastebin.com/EWWHTDzz. Hashim 6 лет назад 0
Это содержимое файла до того, как оно было встроено в ISO. Не уверен, что они были изменены WinSetupFromUSB один раз в ISO, но сомнительно, поскольку они содержатся в ISO. Hashim 6 лет назад 0
извлечь **. IMG ** изнутри ISO. Добавьте к этому ваши файлы, замените файл внутри ISO и повторите тестирование. cybernard 6 лет назад 0
Как мне это сделать, @cybernard? В настоящее время я использую WinRAR для извлечения файлов из ISO-образа DOS 6.22 AllBootDisks, и все, что я получаю, это 40 файлов, с которыми он упакован по умолчанию. Hashim 6 лет назад 0
Я обычно использую isobuster. Свободного функционала должно быть достаточно. Откройте ISO. Нажмите на ** Загрузочный диск **. Щелкните правой кнопкой мыши ** WinISO Boot Record.img ** и извлеките. Оттуда я бы использовал WinImage, чтобы изменить размер диска до 2,88 МБ, так как вы никогда не поместите туда свои файлы как есть. WinImage имеет интерфейс перетаскивания. Сохраните результаты после добавления файлов. Вы должны быть в состоянии использовать это для создания нового загрузочного диска. cybernard 6 лет назад 0
Поэтому мне нужно упаковать нужные мне файлы в саму загрузочную запись? Ах, теперь я понимаю. Hashim 6 лет назад 0
Просто попробовал метод, предложенный @cybernard, и дошел до попытки изменить загрузочный диск на 2.88MB в WinImage (через диск> Форматировать диск), но попытка сделать это выдает ошибку «Текущий формат изображения не поддерживается дисководом ". Есть идеи, что может быть причиной этого? Hashim 6 лет назад 0
Копирование загрузочного диска .img и попытка скопировать версию приводит к той же ошибке. Hashim 6 лет назад 0
@Hashim Вы не форматируете диск. Вместо этого загрузите ваш файл img в winimage, а затем перейдите в Image-> Change format, затем 2.88MB cybernard 6 лет назад 0
Гениально, теперь сделано. Теперь мне нужно перепаковать загрузочный диск в ISO или я могу использовать его непосредственно с загрузочным USB-создателем? Hashim 6 лет назад 0
Я использовал WinImage. После его использования для увеличения размера загрузочного диска .img до 2,88 МБ я вставил в него свои исполняемые файлы, используя перетаскивание WinImage (аналогично параметру Inject). Затем я попытался как сохранить, который сохранял изменения непосредственно в файле `.img`, так и сохранить как, у которого не было возможности создать` .img` и по умолчанию было создано `.imz`. Затем я попытался упаковать каждый из них в ISO по одному, поскольку WinSetupFromUSB работает только с ISO. Я попытался использовать ImgBurn для этого в режиме сборки, думая, что все, что мне нужно, это загрузочные диски. Оба полученных ISO-файла при использовании в WSFU не работали. Hashim 6 лет назад 0

1 ответ на вопрос

0
Hashim

После большой работы, исследований и рекомендаций @cybernard мне наконец удалось достичь цели упаковки устаревших исполняемых файлов, которые мне нужны, в ISO и успешно запустить их из MS-DOS 6.22.

Короче говоря, моей первоначальной ошибкой была упаковка исполняемых файлов непосредственно в ISO. По какой-то причине это не меняет файлы, доступные вам после загрузки в MS-DOS. Вместо этого программы должны быть «введены» непосредственно в загрузочный диск, из которого затем можно создать ISO.

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

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


Что вам нужно

Внедрение программ в загрузочный диск DOS

Откройте загрузочную дискету DOS 6.22 с помощью WinImage. Выберите Image >Change Formatи увеличьте размер загрузочного диска до 2,88 МБ - это даст вам пространство, необходимое для загрузки ваших программ в него.

Перетащите все программы, которые вы хотите использовать в DOS, на интерфейс WinImage, подтверждая все появляющиеся диалоги.

Сохраните модифицированный загрузочный диск. Если вы используете « Сохранить как», убедитесь, что вы сохранили его в виде .imgфайла, в противном случае WinImage по умолчанию сохранит его в несовместимом формате.

Сборка ISO с загрузочного диска

Откройте ImgBurn и выберите « Создать файл изображения из файлов / папок» (также известный как режим сборки).

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

При Bootable Discв Advancedзакладке, проверьте Make Image Bootable вариант и установить Emulation Type 2,88 МБ. В разделе « Образ загрузки» перейдите к загрузочному диску DOS, который вы изменили ранее. Нажмите Buildкнопку, чтобы создать изображение.

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

С этого момента вы можете использовать создателя загрузочного носителя в обычном режиме для создания загрузочного USB или CD, используя образ, который мы только что создали в качестве источника. Я предпочитаю WinSetupFromUSB для этой части процесса.

Когда вы закончите, вы сможете видеть и загружать свои программы в MS-DOS.


Если после описанных выше шагов загрузка в MS-DOS теперь позволяет вам видеть ваши программы, но попытка запустить их приводит к Not Enough Memoryошибке, выполните приведенный ниже шаг для ее устранения.

(Необязательно) Исправление ошибки «Недостаточно памяти»

Эта ошибка возникает из-за того, что программам, которые вы пытаетесь запустить, требуется больше 640 КБ используемой памяти, к которой MS-DOS имеет доступ по умолчанию. Это известно как «Обычная память». Чтобы обойти это, вам нужно указать DOS загрузить «расширенную память», которая использует до 64 МБ - больше памяти, чем когда-либо понадобится любой версии DOS.

Следуйте этому руководству с самого начала, останавливаясь сразу после того, как вы перетащили свои программы на загрузочный диск с помощью WinImage. Перед сохранением измененного образа найдите файл CONFIG.SYSв списке файлов загрузочного диска, щелкните его правой кнопкой мыши и извлеките его где-нибудь на вашем компьютере. Откройте файл в текстовом редакторе и внесите следующие изменения:

В строке, которая начинается с DEVICE=HIMEM.SYS, добавьте /Vв конец:

DEVICE=HIMEM.SYS /testmem:off /V 

Прямо под этой строкой вставьте следующие строки:

DOS=HIGH,UMB DEVICE=EMM386.EXE RAM 

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

После этого у вас останется загрузочная версия MS-DOS 6.22, которая теперь может запускать ваши недавно видимые программы.

Похожие вопросы