¿Qué versión de MS-DOS usa Rufus para hacer USB de arranque?

74

Rufus permite la creación de una unidad flash de arranque de MS-DOS. Lo hace fuera de la caja como una opción sin necesidad de especificar una imagen o ISO.

Interfaz principal de Rufus

Sin embargo, la documentación sobre la herramienta es prácticamente inexistente, y no puedo encontrar nada que especifique qué versión de DOS utiliza el programa para este propósito. ¿Alguien sabe?

Hashim
fuente
1
Por curiosidad, ¿por qué necesitas saber eso?
Ooker
44
@Ooker: una mezcla de curiosidad y las razones dadas en mi comentario sobre la respuesta aceptada. Principalmente necesitaba estar seguro de que aún no era DOS 6.22 y que, por lo tanto, no estaba perdiendo el tiempo descubriendo cómo crear un USB de arranque desde 6.22.
Hashim
2
Casi todos los que no entran en conflictos de licencia usan FreeDOS para ese tipo de discos de arranque.
eckes

Respuestas:

197

Desarrollador Rufus aquí.

Como señaló correctamente @ magicandre1981, la versión de MS-DOS proporcionada por Rufus es el MS-DOS de Windows Millenium Edition, "uncrippled" para habilitar el arranque (no inventé este parche, pero lo recogí del HP USB y otros herramientas).

Además, y esta es la parte importante, Rufus NO incrusta los archivos de MS-DOS dentro de la aplicación, sino que los recoge del sistema de Windows desde el que se está ejecutando, ya que, dado que los binarios de MS-DOS son propiedad y están protegidos por derechos de autor de Microsoft, es ilegal para cualquier otra persona que no sea Microsoft distribuir binarios de MS-DOS, ya sea en un archivo zip o en una aplicación (de hecho, parece que HP tuvo problemas legales con Microsoft cuando intentaron producir una versión de su Utilidad HPUSBFW que incrustó los archivos MS-DOS de Windows 98, y Microsoft rápidamente hizo que dejaran de hacerlo).

Entonces, hasta Windows 10, confiamos en el hecho de que los archivos de MS-DOS (de Windows ME) se incluyeron en la DLL ( diskcopy.dll) que Windows usa para crear disquetes de arranque de DOS (que en realidad contiene una imagen FAT de disquete de arranque completa) , y recogió los archivos desde allí, lo que podemos hacer legalmente.

Sin embargo, con la introducción de Windows 10, Microsoft abandonó la capacidad de crear disquetes de arranque (ya que no se espera que nadie que use Windows 10 arranque desde un disquete) y los eliminó diskcopy.dll. Esto significa que ya no tenemos una forma legal de crear unidades flash USB de arranque MS-DOS, y el resultado final es que:

  • Si usa Rufus en Windows XP a Windows 8.1: tiene la capacidad de crear USB de arranque con FreeDOS o MS-DOS (edición WinME).
  • Si usa Rufus en Windows 10 o posterior: tiene la capacidad de crear USB de arranque solo con FreeDOS.

En la práctica, todavía tengo que encontrar un informe tangible de alguien que indique que FreeDOS no funciona donde funciona MS-DOS, por lo que no considero que la pérdida de soporte de MS-DOS en Windows 10 sea una gran pérdida. Además, a diferencia del uso de MS-DOS, que es de código cerrado y que Microsoft dejó de admitir hace mucho tiempo, FreeDOS es de código abierto y es compatible activamente, por lo que generalmente es mucho mejor usar FreeDOS.

Akeo
fuente
44
Oye, amigo. Le agradezco su peso y gracias por una gran herramienta. ¿Te importaría arrojar algo de luz aquí: superuser.com/questions/1228065/… . Parece que no puedo lograr que Rufus instale MS-DOS 6.22 desde un ISO, y por lo que dices, esto no parece ser un problema legal. Necesito DOS 6.22 porque no puedo arriesgarme a usar una alternativa dado que la utilidad que ejecutaré es increíblemente nicho y tiene el potencial de romper cosas costosas si no es 100% correcta, por lo que realmente agradecería su ayuda allí.
Hashim
2
No pude usar FreeDOS para actualizar mi BIOS en mi computadora portátil, pero pude usar un disco de arranque de Windows 98. Dicho esto, todo lo que tenía que hacer era salir y encontrar una imagen de disco de arranque en línea. No es como si enviara avisos DMCA sobre él.
Trlyly
77
Sería bueno mencionar explícitamente que esta versión de DOS de Windows ME está marcada como MS-DOS 8.0. Los de Windows 95a y 95OSR / 98 / 98SE eran respectivamente MS-DOS 7.0 y 7.1. Algunas personas se referirán a un 7.11 de MS-DOS, pero no estoy seguro de qué, si es que algo, se agregó a 7.1
underscore_d
3
MS-DOS 7.10 agrega compatibilidad con FAT32, @underscore_d. Esa es la gran diferencia entre 7.10 y 7.00. Tenga en cuenta, además, que no existe tal cosa como "DOS 7.1". Los números de versión de MS son siempre X.YY. Las copias de DOS 7.1 que circulan en la web son algo que un individuo reunió, tomando una copia de la versión de DOS suministrada con 95OSR2 / 98 / 98SE y pirateando el COMMAND.COM con un editor de texto para que informe la versión 7.1. Y, por supuesto, solo para completar, DOS 8.00 es el que viene con WinME que eliminó la compatibilidad en modo real para que DOS arranque en modo protegido, con HIMEM integrado.
Cody Gray
2
Correcto. No hay partición de arranque FAT32 anterior a MS-DOS 7.10. ¡O cualquier partición FAT32, para el caso! Tampoco podrá acceder a discos duros grandes, ya que estas versiones anteriores de DOS no saben nada sobre LBA ( direccionamiento de bloque lógico ) y utilizan llamadas de interrupción de BIOS ROM antiguas para E / S de disco, en lugar de las más nuevas " INT 13h Extensiones ". Otras curiosidades: necesita MS-DOS 4.00 (oficialmente, 3.3 extraoficialmente con ciertas limitaciones) para admitir FAT16 (anteriormente, solo se admitía FAT12). @Hashim
Cody Gray
36

Extrae la versión del archivo de 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)

mirando otros comentarios en dos.c que son los archivos de DOS de WinME (DOS 8.0), hace el mismo parche que se muestra aquí :

* COMMAND.COM e IO.SYS de diskcopy.dll son de la versión WinME paralizada  
* que eliminó el modo real DOS => deben ser parcheados:  
* IO.SYS 000003AA 75 -> EB 
* COMMAND.COM 00006510 75 -> EB 
magicandre1981
fuente
Jaja, derrotado por 20 segundos. +1 en el trabajo de detective, ni siquiera se me ocurrió mirar el código fuente. He echado un vistazo a la página de Wikipedia en modo real, pero aún no estoy claro. En términos prácticos, ¿qué hace el modo real, y este parche restaura toda su funcionalidad?
Hashim
Solo por algunos antecedentes interesantes, también me encontré con un problema en el que el desarrollador habla sobre esto: github.com/pbatard/rufus/issues/545
Hashim
11
El modo real es un modo en x86 cpus con acceso directo ilimitado del software a toda la memoria direccionable, direcciones de E / S y hardware periférico. El modo real no brinda soporte para los niveles de protección de memoria, multitarea o privilegios de código. Pero esto es necesario para el uso real de DOS, pero causó problemas de estabilidad en Win95 y Win98. Con esta eliminación, WinME fue más estable
magicandre1981
ok, todavía uso Windows 8 en mi computadora portátil principal y aquí el archivo todavía está incluido. Por lo tanto, esta opción solo se ofrece en versiones anteriores.
magicandre1981
2
Por supuesto, el modo real también está limitado al bus de direcciones de 20 bits de 8086/8088, por lo que solo puede direccionar 1 MiB de memoria. El 80286 eliminó esa restricción al expandirse a un bus de direcciones de 24 bits y agregar un modo protegido, lo que permitió a la CPU abordar 16 MiB de memoria (que era una gran cantidad de RAM en 1982, más de lo que la mayoría de las PC tenían almacenamiento fijo ). El código del modo protegido 286 no era tan común en la práctica (te estoy mirando, OS / 2 y Xenix), y aunque el 80386 introdujo el modo protegido de 32 bits en 1985, tardó otra década antes del modo protegido de 32 bits El software se volvió razonablemente común en las PC.
un CVn
10

Decidí probarlo yo mismo. Creé un USB de arranque con MS-DOS usando Rufus y luego lo inicié en mi computadora portátil. Una vez en MS-DOS, ejecuté el vercomando para determinar su versión, que devolvió Windows Millennium, también conocido como Windows ME.

Supongo que esto significa que la versión de MS-DOS utilizada por Rufus se extrae de Windows ME, en lugar de ser una de las versiones independientes anteriores. No estoy completamente seguro de cómo esta versión integrada de ME difiere de las versiones anteriores.

Hashim
fuente
44
ver a mi respuesta . Obtiene la imagen de DOS del archivo de Windows
magicandre1981