Какую версию MS-DOS использует Rufus для создания загрузочных USB?

74

Rufus позволяет создавать загрузочную флешку MS-DOS. Это делается из коробки как опция, без необходимости указывать изображение или ISO.

Основной интерфейс Rufus

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

Хашим
источник
1
Из любопытства, зачем тебе это знать?
Ooker
4
@Ooker - смесь любопытства и причин, приведенных в моем комментарии к принятому ответу. В основном мне нужно было убедиться, что это не был уже DOS 6.22 и что я не тратил время на изучение создания загрузочного USB с 6.22.
Хашим
2
Почти каждый, кто не вступает в конфликты лицензий, использует FreeDOS для таких загрузочных дисков.
Eckes

Ответы:

197

Руфус разработчик тут.

Как правильно указал @ magicandre1981, версия MS-DOS, предоставляемая Rufus, представляет собой MS-DOS из Windows Millenium Edition, «не имеющую разрешения» для включения загрузки (я не изобрел этот патч, но взял его с HP USB и др. инструменты).

Кроме того, и это важная часть, Rufus НЕ внедряет файлы MS-DOS в приложение, но забирает их из системы Windows, из которой оно работает, потому что, поскольку двоичные файлы MS-DOS являются собственностью и защищены авторским правом Microsoft, это незаконно для кого - либо еще , но Microsoft распространять MS-DOS исполняемые файлы, будь то в почтовый файл или приложение (как на самом деле, оказывается , что HP попала в правовых проблем , связанных с Microsoft , когда они попытались произвести версию их Утилита HPUSBFW, которая встраивала файлы MS-DOS для Windows 98, и Microsoft быстро заставила их прекратить это делать).

Итак, до Windows 10 мы полагались на тот факт, что файлы MS-DOS (из Windows ME) были включены в DLL ( diskcopy.dll), которую Windows использует для создания загрузочных дискет DOS (которая фактически содержит полный образ FAT загрузочной дискеты) и выбрал оттуда файлы, что мы можем сделать на законных основаниях.

Однако с появлением Windows 10 Microsoft отказалась от возможности создавать загрузочные дискеты (поскольку никто не использует Windows 10 для загрузки с дискеты) и удалила diskcopy.dll. Это означает, что у нас больше нет законного способа создания загрузочных USB-флешек MS-DOS, и конечный результат таков:

  • Если вы используете Rufus в Windows XP и Windows 8.1: у вас есть возможность создавать загрузочные USB-накопители с FreeDOS или MS-DOS (версия WinME).
  • Если вы используете Rufus в Windows 10 или более поздней версии: у вас есть возможность создавать загрузочные USB только с FreeDOS.

На практике мне еще не приходилось сталкиваться с осязаемым отчетом о том, что FreeDOS не работает там, где работает MS-DOS, поэтому я не считаю потерю поддержки MS-DOS в Windows 10 большой потерей. Кроме того, в отличие от использования MS-DOS, которая является закрытым исходным кодом и которую Microsoft давно прекратила поддерживать, FreeDOS является открытым исходным кодом и активно поддерживается, так что вам, как правило, гораздо выгоднее использовать FreeDOS.

Akeo
источник
4
Эй приятель. Я ценю ваше взвешивание и спасибо за отличный инструмент. Не могли бы вы пролить немного света здесь: superuser.com/questions/1228065/… . Я не могу заставить Rufus установить MS-DOS 6.22 из ISO, и, судя по тому, что вы говорите, это не является юридической проблемой. Мне нужна DOS 6.22, потому что я не могу рисковать, используя альтернативу, учитывая, что утилита, которую я буду запускать, невероятно нишу и может сломать дорогие вещи, если не на 100% правильно, поэтому я очень ценю вашу помощь там.
Хашим
2
Я не смог использовать FreeDOS для прошивки BIOS на моем ноутбуке, но смог использовать загрузочный диск Windows 98. Тем не менее, все, что мне нужно было сделать, это выйти и найти образ загрузочного диска в Интернете. Это не так, как будто рассылает уведомления DMCA по этому поводу.
17
7
Было бы хорошо прямо упомянуть, что эта версия DOS из Windows ME помечена как MS-DOS 8.0. Те из Windows 95a и 95OSR / 98 / 98SE были соответственно MS-DOS 7.0 и 7.1. Несколько человек будут ссылаться на MS-DOS 7.11, но я не уверен, что если что-нибудь добавится к 7.1
underscore_d
3
MS-DOS 7.10 добавляет поддержку FAT32, @underscore_d. Это большая разница между 7.10 и 7.00. Также обратите внимание, что не существует такой вещи, как «DOS 7.1». Номера версий MS всегда X.YY. Копии DOS 7.1, распространяемые в Интернете, - это то, что некоторые люди собрали вместе, взяв копию версии DOS, поставляемой с 95OSR2 / 98 / 98SE, и взломав COMMAND.COM с помощью текстового редактора, чтобы он сообщал о версии 7.1. И, конечно же, просто для полноты, DOS 8.00 поставляется с WinME, который убрал поддержку реального режима, поэтому DOS загружается в защищенном режиме с интегрированным HIMEM.
Коди Грей,
2
Верный. Нет загрузочного раздела FAT32 до MS-DOS 7.10. Или любой раздел FAT32, в этом отношении! Вы также не сможете получить доступ к большим жестким дискам, так как эти старые версии DOS ничего не знают о LBA (адресация логических блоков ), и они используют старые вызовы прерывания BIOS ПЗУ для дискового ввода-вывода вместо новых " INT 13h Расширения ". Другие мелочи: вам нужна MS-DOS 4.00 (официально, 3.3 неофициально с некоторыми ограничениями) для поддержки FAT16 (ранее поддерживалась только FAT12). @Hashim
Коди Грей
36

Он извлекает версию из файла Windows diskcopy.dll

/* Extract the MS-DOS files contained in the FAT12 1.4MB floppy
   image included as resource "BINFILE" in diskcopy.dll */
static BOOL ExtractMSDOS(const char* path)

Глядя на другие комментарии в dos.c, которые являются файлами DOS из WinME (DOS 8.0), он делает то же самое исправление, как показано здесь :

* COMMAND.COM и IO.SYS из diskcopy.dll из поврежденной версии WinME  
* которые убрали реальный режим DOS => они должны быть исправлены:  
* IO.SYS 000003AA 75 -> EB 
* COMMAND.COM 00006510 75 -> EB 
magicandre1981
источник
Ха-ха, избили до 20 секунд. +1 на детективную работу, заглядывая в исходный код мне даже не пришло в голову. Я посмотрел на странице Википедии в реальном режиме, но мне все еще немного неясно. С практической точки зрения, что делает реальный режим, и восстанавливает ли этот патч все его функциональные возможности?
Хашим
Просто для некоторого интересного фона, я также столкнулся с проблемой, где / разработчик говорит об этом: github.com/pbatard/rufus/issues/545
Хашим
11
Реальный режим - это режим в процессоре x86 с неограниченным прямым программным доступом ко всей адресуемой памяти, адресам ввода-вывода и периферийному оборудованию. Реальный режим не поддерживает уровни защиты памяти, многозадачности или кода. Но это требуется для реального использования DOS, но вызывает проблемы со стабильностью в Win95 и Win98. С этим удалением WinME стал более стабильным
magicandre1981
Хорошо, я все еще использую Windows 8 на моем главном ноутбуке, и здесь файл все еще включен. Так что эта опция предлагается только на старых версиях.
magicandre1981
2
Конечно, реальный режим также ограничен 20-битной адресной шиной 8086/8088, поэтому вы можете адресовать только 1 МБ памяти. 80286 снял это ограничение, расширив его до 24-битной адресной шины и добавив защищенный режим, позволив центральному процессору адресовать 16 МБ памяти (это было огромным объемом оперативной памяти в 1982 году, больше, чем у большинства ПК было фиксированное хранилище ). Код защищенного режима 286 на практике встречался не так часто (я смотрю на вас, OS / 2 и Xenix), и хотя 80386 ввел 32-битный защищенный режим в 1985 году, прошло еще десять лет, прежде чем защищенный режим 32-битный Программное обеспечение стало достаточно распространенным на ПК.
CVn
10

Я решил проверить это сам. Я создал загрузочный USB-диск под управлением MS-DOS, используя Rufus, а затем загрузился в него на своем ноутбуке. Попав в MS-DOS, я запустил verкоманду, чтобы определить ее версию, которая вернула Windows Millennium, или Windows ME.

Я предполагаю, что это означает, что версия MS-DOS, используемая Rufus, взята из Windows ME, а не является одной из более ранних, автономных версий. Чем эта ME-интегрированная версия отличается от более ранних версий, я не совсем уверен.

Хашим
источник
4
смотри мой ответ . Он получает образ DOS из файла Windows
magicandre1981