Welche Version von MS-DOS verwendet Rufus, um bootfähige USBs herzustellen?

74

Rufus ermöglicht die Erstellung eines bootfähigen MS-DOS-Flash-Laufwerks. Dies erfolgt standardmäßig als Option, ohne dass ein Image oder eine ISO angegeben werden muss.

Rufus Hauptschnittstelle

Die Dokumentation zu diesem Tool ist jedoch so gut wie nicht vorhanden, und ich kann nichts finden, das angibt, welche DOS-Version das Programm für diesen Zweck verwendet. Weiß jemand?

Hashim
quelle
1
Warum müssen Sie das aus Neugier wissen?
Ooker
4
@Ooker - Eine Mischung aus Neugier und den in meinem Kommentar angegebenen Gründen für die akzeptierte Antwort. Ich musste vor allem sicherstellen, dass es nicht bereits DOS 6.22 war und dass ich daher nicht meine Zeit damit verschwendete, herauszufinden, wie man aus 6.22 einen bootfähigen USB-Stick erstellt.
Hashim
2
Nahezu jeder andere Benutzer, der nicht in Lizenzkonflikte gerät, verwendet FreeDOS für diese Art von Bootdisketten.
Eckes

Antworten:

197

Rufus Entwickler hier.

Wie von @ magicandre1981 richtig angegeben, ist die von Rufus bereitgestellte MS-DOS-Version die MS-DOS-Version von Windows Millenium Edition, die "nicht verkrüppelt" ist, um das Booten zu ermöglichen (ich habe diesen Patch nicht erfunden, aber vom HP USB und anderen abgeholt) Werkzeuge).

Außerdem, und dies ist der wichtige Teil, bettet Rufus die MS-DOS-Dateien NICHT in die Anwendung ein, sondern holt sie von dem Windows-System ab, auf dem sie ausgeführt werden, da die MS-DOS-Binärdateien proprietär und von Microsoft urheberrechtlich geschützt sind. Es ist für andere Personen als Microsoft illegal , MS-DOS-Binärdateien zu vertreiben, sei es in einer Zip-Datei oder einer Anwendung (tatsächlich scheint HP rechtliche Probleme mit Microsoft zu haben, als sie versuchten, eine Version von Microsoft zu erstellen) HPUSBFW-Dienstprogramm, mit dem die MS-DOS-Dateien von Windows 98 eingebettet wurden, und Microsoft brachten sie schnell dazu, dies zu beenden.

Daher haben wir uns bis Windows 10 darauf verlassen, dass die MS-DOS-Dateien (von Windows ME) in der DLL ( diskcopy.dll) enthalten sind, die Windows zum Erstellen von bootfähigen DOS-Disketten verwendet (die tatsächlich ein vollständiges bootfähiges Disketten-FAT-Image enthalten). , und nahm die Dateien von dort, was wir legal tun können.

Mit der Einführung von Windows 10 hat Microsoft jedoch die Möglichkeit aufgegeben, bootfähige Disketten zu erstellen (da erwartet wird, dass niemand, der Windows 10 verwendet, von Diskette bootet) und diese entfernt diskcopy.dll. Dies bedeutet, dass wir keine legale Möglichkeit mehr haben, bootfähige MS-DOS-USB-Flash-Laufwerke zu erstellen. Das Endergebnis ist:

  • Wenn Sie Rufus unter Windows XP bis Windows 8.1 verwenden, können Sie bootfähige USB-Sticks mit FreeDOS oder MS-DOS (WinME Edition) erstellen.
  • Wenn Sie Rufus unter Windows 10 oder höher verwenden: Sie können nur mit FreeDOS bootfähige USB-Geräte erstellen.

In der Praxis muss ich noch auf einen konkreten Bericht von jemandem stoßen, der angibt, dass FreeDOS unter MS-DOS nicht funktioniert, weshalb ich den Verlust der MS-DOS-Unterstützung unter Windows 10 nicht als großen Verlust betrachte. Im Gegensatz zur Verwendung von MS-DOS, das Closed Source ist und von Microsoft seit langer Zeit nicht mehr unterstützt wird, ist FreeDOS Open Source und wird aktiv unterstützt, sodass Sie in der Regel viel besser mit FreeDOS umgehen können.

Akeo
quelle
4
Hey Kumpel. Ich weiß es zu schätzen, dass Sie sich eingemischt haben, und danke für ein großartiges Werkzeug. Würde es Ihnen etwas ausmachen, hier etwas Licht zu werfen : superuser.com/questions/1228065/… . Ich kann Rufus scheinbar nicht dazu bringen, MS-DOS 6.22 von einem ISO zu installieren, und was Sie sagen, scheint dies kein rechtliches Problem zu sein. Ich benötige DOS 6.22, da ich es nicht riskieren kann, eine Alternative zu verwenden, da das von mir ausgeführte Dienstprogramm eine unglaubliche Nische darstellt und das Potenzial hat, teure Dinge zu zerstören, wenn nicht zu 100%, und ich würde Ihre Hilfe dort wirklich schätzen.
Hashim
2
Ich konnte mit FreeDOS mein BIOS auf meinem Laptop nicht flashen, aber ich konnte eine Windows 98-Bootdiskette verwenden. Das heißt, alles, was ich tun musste, war rauszugehen und ein Boot-Image online zu finden. Es ist nicht so, als ob DMCA-Benachrichtigungen darüber gesendet würden.
Trlkly
7
Es wäre gut, ausdrücklich zu erwähnen, dass diese DOS-Version von Windows ME als MS-DOS 8.0 eingestempelt ist. Diejenigen von Windows 95a und 95OSR / 98 / 98SE waren MS-DOS 7.0 bzw. 7.1. Einige Leute werden sich auf MS-DOS 7.11 beziehen, aber ich bin mir nicht sicher, ob irgendetwas zu 7.1 hinzugefügt wurde
underscore_d
3
MS-DOS 7.10 fügt FAT32-Unterstützung @underscore_d hinzu. Das ist der große Unterschied zwischen 7.10 und 7.00. Beachten Sie auch, dass es kein "DOS 7.1" gibt. Die Versionsnummern von MS lauten immer X.YY. Die Kopien von DOS 7.1, die im Web verbreitet werden, sind etwas, das einige zusammenstellen, indem sie eine Kopie der mit 95OSR2 / 98 / 98SE gelieferten DOS-Version nehmen und die Datei COMMAND.COM mit einem Texteditor hacken, um die Version 7.1 zu melden. Der Vollständigkeit halber wird DOS 8.00 mit WinME ausgeliefert, das die Real-Mode-Unterstützung entfernt hat, sodass DOS mit HIMEM im geschützten Modus startet.
Cody Grey
2
Richtig. Keine FAT32-Startpartition vor MS-DOS 7.10. Oder eine beliebige FAT32-Partition! Sie können auch nicht auf große Festplatten zugreifen, da diese älteren DOS-Versionen nichts über LBA ( Logical Block Addressing ) wissen und alte ROM-BIOS-Interrupt-Aufrufe für Festplatten-E / A anstelle der neueren verwenden. " INT 13h Extensions ". Weitere Kleinigkeiten: Sie benötigen MS-DOS 4.00 (offiziell, 3.3 inoffiziell mit bestimmten Einschränkungen), um FAT16 zu unterstützen (zuvor wurde nur FAT12 unterstützt). @Hashim
Cody Grey
36

Er extrahiert die Version aus der Windows-Datei 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)

Wenn er sich andere Kommentare in dos.c ansieht , bei denen es sich um DOS-Dateien von WinME (DOS 8.0) handelt, führt er dasselbe Patching wie hier gezeigt aus :

* COMMAND.COM und IO.SYS von diskcopy.dll stammen aus der WinME-Version  
* die real mode DOS entfernt haben => sie müssen gepatcht sein:  
* IO.SYS 000003AA 75 -> EB 
* COMMAND.COM 00006510 75 -> EB 
magicandre1981
quelle
Haha, 20 Sekunden geschlagen. +1 auf die Detektivarbeit, in den Quellcode zu schauen, ist mir nicht einmal eingefallen. Ich habe mir die Wikipedia-Seite über den Real-Modus angesehen, bin aber immer noch ein wenig unklar. Was macht der Real-Modus in der Praxis und stellt dieser Patch seine gesamte Funktionalität wieder her?
Hashim
Nur wegen einiger interessanter Hintergründe bin ich auch auf ein Problem gestoßen,
Hashim
11
Der Real-Modus ist ein x86-CPU- Modus mit unbegrenztem direktem Software-Zugriff auf alle adressierbaren Speicher, E / A-Adressen und Peripheriegeräte. Der Real-Modus bietet keine Unterstützung für Speicherschutz, Multitasking oder Codeberechtigungsstufen. Dies ist jedoch für eine echte DOS-Nutzung erforderlich, führte jedoch zu Stabilitätsproblemen in Win95 und Win98. Mit dieser Entfernung war WinME stabiler
magicandre1981
ok, ich benutze immer noch Windows 8 auf meinem Haupt-Laptop und hier ist die Datei immer noch enthalten. Diese Option wird daher nur bei älteren Versionen angeboten.
magicandre1981
2
Natürlich ist der Real-Modus auch auf den 20-Bit-Adressbus des 8086/8088 beschränkt, sodass Sie nur 1 MB Speicher adressieren können. Der 80286 hob diese Einschränkung auf, indem er auf einen 24-Bit-Adressbus erweiterte und einen geschützten Modus hinzufügte, der es der CPU ermöglichte, 16 MiB Speicher zu adressieren (was 1982 eine enorme Menge an RAM darstellte, mehr als die meisten PCs über festen Speicher verfügten ). Geschützter Modus 286-Code war in der Praxis nicht allzu verbreitet (ich sehe Sie, OS / 2 und Xenix), und während der 80386 1985 den geschützten 32-Bit-Modus einführte, dauerte es ein weiteres Jahrzehnt, bis der geschützte 32-Bit-Modus einsetzte Software wurde auf PCs einigermaßen verbreitet.
einen Lebenslauf vom
10

Ich habe beschlossen, es selbst zu testen. Ich habe mit Rufus einen bootfähigen USB-Stick erstellt, auf dem MS-DOS ausgeführt wird, und ihn dann auf meinem Laptop gebootet. Einmal in MS-DOS, habe ich den verBefehl ausgeführt, um die Version zu bestimmen, die Windows Millennium, auch bekannt als Windows ME, zurückgab.

Ich vermute, dass dies bedeutet, dass die von Rufus verwendete MS-DOS-Version aus Windows ME stammt und keine der früheren eigenständigen Versionen ist. Inwiefern sich diese in ME integrierte Version von früheren Versionen unterscheidet, ist nicht ganz sicher.

Hashim
quelle
4
Siehe meine Antwort . Er bekommt das DOS-Image aus der Windows-Datei
magicandre1981