Quale versione di MS-DOS utilizza Rufus per creare USB avviabili?


74

Rufus consente la creazione di un'unità flash MS-DOS avviabile. Lo fa fuori dalla scatola come opzione senza la necessità di specificare un'immagine o ISO.

Interfaccia principale di Rufus

Tuttavia, la documentazione sullo strumento è praticamente inesistente così com'è, e non riesco a trovare nulla che specifichi quale versione di DOS il programma utilizza a questo scopo. Qualcuno sa?


1
Per curiosità, perché devi saperlo?
Ooker

4
@Ooker - Un mix di curiosità e le ragioni fornite nel mio commento sulla risposta accettata. Avevo principalmente bisogno di essere sicuro che non fosse già DOS 6.22 e che quindi non stavo sprecando il mio tempo a scoprire come creare un USB avviabile da 6.22.
Hashim,

2
Quasi tutti gli altri utenti che non entrano in conflitto di licenza usano FreeDOS per quel tipo di dischi di avvio.
Devo dire che il

Risposte:


197

Sviluppatore Rufus qui.

Come correttamente indicato da @ magicandre1981, la versione di MS-DOS fornita da Rufus è MS-DOS di Windows Millenium Edition, "non corrugato" per abilitare l'avvio (non ho inventato questa patch, ma l'ho presa da HP USB e altri utensili).

Inoltre, e questa è la parte importante, Rufus NON incorpora i file MS-DOS all'interno dell'applicazione, ma li preleva dal sistema Windows da cui è in esecuzione, poiché, poiché i binari MS-DOS sono proprietari e protetti da copyright di Microsoft, è illegale per chiunque, tranne Microsoft, distribuire file binari MS-DOS, sia esso in un file zip o in un'applicazione (è un dato di fatto, sembra che HP abbia avuto problemi legali con Microsoft quando hanno provato a produrre una versione del loro Utilità HPUSBFW che incorporava i file MS-DOS di Windows 98 e Microsoft li ha costretti a smettere di farlo).

Quindi, fino a Windows 10, abbiamo fatto affidamento sul fatto che i file MS-DOS (da Windows ME) erano inclusi nella DLL ( diskcopy.dll) che Windows utilizza per creare floppy disk avviabili DOS (che in realtà contiene un'immagine FAT floppy avviabile completa) e ho raccolto i file da lì, cosa che possiamo legalmente fare.

Tuttavia, con l'introduzione di Windows 10, Microsoft ha abbandonato la possibilità di creare floppy di avvio (dal momento che nessuno che utilizza Windows 10 dovrebbe avviarsi da floppy) e rimosso diskcopy.dll. Ciò significa che non abbiamo più un modo legale per creare unità flash USB avviabili MS-DOS e il risultato finale è che:

  • Se usi Rufus da Windows XP a Windows 8.1: hai la possibilità di creare USB avviabili con FreeDOS o MS-DOS (edizione WinME).
  • Se usi Rufus su Windows 10 o versioni successive: hai la possibilità di creare USB avviabili solo con FreeDOS.

In pratica, devo ancora incontrare un rapporto tangibile da parte di qualcuno che indica che FreeDOS non funziona dove MS-DOS funziona, motivo per cui non considero la perdita del supporto MS-DOS in Windows 10 una grande perdita. Inoltre, a differenza dell'utilizzo di MS-DOS, che è un codice chiuso e che Microsoft ha smesso di supportare molto tempo fa, FreeDOS è Open Source e attivamente supportato, quindi di solito stai molto meglio usando FreeDOS.


4
Ehi amico. Apprezzo il tuo peso e grazie per l'ottimo strumento. Ti dispiacerebbe spargere un po 'di luce qui: superuser.com/questions/1228065/… . Non riesco a convincere Rufus a installare MS-DOS 6.22 da un ISO, e da quello che stai dicendo, questo non sembra essere un problema legale. Ho bisogno di DOS 6.22 perché non posso rischiare di usare un'alternativa dato che l'utilità che eseguirò è incredibilmente di nicchia e ha il potenziale per rompere cose costose se non al 100%, quindi apprezzerei molto il tuo aiuto laggiù.
Hashim,

2
Non sono stato in grado di utilizzare FreeDOS per eseguire il flashing del BIOS sul mio laptop, ma sono stato in grado di utilizzare un disco di avvio di Windows 98. Detto questo, tutto quello che dovevo fare era uscire e trovare un'immagine del disco di avvio online. Non è come se invii avvisi DMCA su di esso.
sinceramente il

7
Sarebbe bene menzionare esplicitamente che questa versione di DOS da Windows ME è contrassegnata come MS-DOS 8.0. Quelli di Windows 95a e 95OSR / 98 / 98SE erano rispettivamente MS-DOS 7.0 e 7.1. Alcune persone faranno riferimento a un MS-DOS 7.11, ma non sono sicuro che cosa succederebbe se aggiungesse 7.1
underscore_d

3
MS-DOS 7.10 aggiunge il supporto FAT32, @underscore_d. Questa è la grande differenza tra 7.10 e 7.00. Si noti inoltre che non esiste "DOS 7.1". I numeri di versione di MS sono sempre X.YY. Le copie di DOS 7.1 che circolano sul web sono qualcosa che un individuo ha messo insieme, prendendo una copia della versione DOS fornita con 95OSR2 / 98 / 98SE e hackerando il COMMAND.COM con un editor di testo per farlo riportare la versione 7.1. E, naturalmente, solo per completezza, DOS 8.00 è quello fornito con WinME che ha rimosso il supporto in modalità reale, quindi DOS si avvia in modalità protetta, con HIMEM integrato.
Cody Gray,

2
Corretta. Nessuna partizione di avvio FAT32 precedente a MS-DOS 7.10. O qualsiasi partizione FAT32, del resto! Inoltre, non sarai in grado di accedere a grandi dischi rigidi, poiché queste versioni precedenti di DOS non sanno nulla di LBA ( indirizzamento dei blocchi logici ) e usano le chiamate di interrupt BIOS ROM precedenti per l'I / O del disco, anziché le più recenti " Estensioni INT 13h ". Altre curiosità: è necessario MS-DOS 4.00 (ufficialmente 3.3 non ufficiale con alcune limitazioni) per supportare FAT16 (in precedenza era supportato solo FAT12). @Hashim
Cody Grey,

36

Estrae la versione dal file 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)

guardando altri commenti in dos.c che sono i file DOS da WinME (DOS 8.0), esegue la stessa patch mostrata qui :

* COMMAND.COM e IO.SYS da diskcopy.dll provengono dalla versione paralizzata di WinME  
* che ha rimosso la modalità reale DOS => devono essere patchati:  
* IO.SYS 000003AA 75 -> EB 
* COMMAND.COM 00006510 75 -> EB 

Haha, battuto per 20 secondi. +1 sul lavoro investigativo, guardando nel codice sorgente non mi è nemmeno venuto in mente. Ho dato un'occhiata alla pagina di Wikipedia in modalità reale, ma non sono ancora chiaro. In termini pratici, cosa fa la modalità reale e questa patch ripristina tutte le sue funzionalità?
Hashim,

Solo per uno sfondo interessante, ho anche riscontrato un problema in cui lo / a sviluppatore parla di questo: github.com/pbatard/rufus/issues/545
Hashim

11
la modalità reale è una modalità in cpus x86 con accesso diretto illimitato al software a tutta la memoria indirizzabile, agli indirizzi I / O e all'hardware periferico. La modalità reale non fornisce supporto per i livelli di protezione della memoria, multitasking o privilegi di codice. Ma questo è necessario per un reale utilizzo del DOS, ma ha causato problemi di stabilità in Win95 e Win98. Con questa rimozione WinME era più stabile
magicandre1981,

ok, uso ancora Windows 8 sul mio laptop principale e qui il file è ancora incluso. Quindi questa opzione è disponibile solo su versioni precedenti.
magicandre1981

2
Naturalmente, la modalità reale è anche limitata al bus di indirizzo a 20 bit dell'8086 / 8088, quindi è possibile indirizzare solo 1 MiB di memoria. L'80286 ha eliminato tale restrizione espandendosi a un bus di indirizzo a 24 bit e aggiungendo modalità protetta, consentendo alla CPU di indirizzare 16 MiB di memoria (che era un'enorme quantità di RAM nel 1982, più di quanto la maggior parte dei PC avesse una memoria fissa ). Il codice 286 in modalità protetta non era poi così comune nella pratica (ti sto guardando, OS / 2 e Xenix), e mentre l'80386 ha introdotto la modalità protetta a 32 bit nel 1985, ci sono voluti un altro decennio prima della modalità protetta a 32 bit il software è diventato ragionevolmente comune sui PC.
un CVn

10

Ho deciso di provarlo da solo. Ho creato un dispositivo USB avviabile con MS-DOS utilizzando Rufus e quindi ho avviato il programma sul mio laptop. Una volta in MS-DOS, ho eseguito il vercomando per determinare la sua versione, che ha restituito Windows Millennium, noto anche come Windows ME.

Immagino che questo significhi che la versione di MS-DOS utilizzata da Rufus viene estratta da Windows ME, piuttosto che essere una delle versioni precedenti e autonome. In che modo questa versione integrata di ME differisce dalle versioni precedenti non sono del tutto sicuro.


4
vedi la mia risposta . Ottiene l'immagine DOS dal file di Windows
magicandre1981,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.