Saltar al contenido

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

Solución:

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 permitir el arranque (no inventé este parche, pero lo recogí del HP USB y otros instrumentos).

Además, y esta es la parte importante, Rufus no NO incrustar los archivos de MS-DOS dentro de la aplicación, pero los recoge del sistema Windows desde el que se está ejecutando, porque, dado que los archivos binarios de MS-DOS son propiedad de Microsoft y están protegidos por derechos de autor, es ilegal para que cualquier otra persona que no sea Microsoft distribuya archivos 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 de Windows 98 MS-DOS, y Microsoft rápidamente logró que dejaran de hacerlo).

Entonces, hasta Windows 10, confiamos en el hecho de que los archivos de MS-DOS (de Windows ME) estaban incluidos 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 seleccionó los archivos de allí, lo que podemos hacer legalmente.

Sin embargo, con la introducción de Windows 10, Microsoft eliminó la capacidad de crear disquetes de arranque (ya que se espera que nadie que use Windows 10 arranque desde un disquete) y eliminó diskcopy.dll. Esto significa que ya no tenemos una forma legal de crear unidades flash USB de arranque de 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 no he encontrado un informe tangible de alguien que indique que FreeDOS no funciona donde lo hace MS-DOS, por lo que no considero que la pérdida del soporte de MS-DOS en Windows 10 sea una gran pérdida. Además, a diferencia de usar MS-DOS, que es de código cerrado y que Microsoft dejó de admitir hace mucho tiempo, FreeDOS es de código abierto y se admite activamente, por lo que generalmente es mucho mejor usar FreeDOS.

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 and IO.SYS from diskcopy.dll are from the WinME crippled version  
* that removed real mode DOS => they must be patched:  
* IO.SYS            000003AA          75 -> EB 
* COMMAND.COM       00006510          75 -> EB 

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 ver comando 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. En qué se diferencia esta versión integrada de ME de las versiones anteriores, no estoy del todo seguro.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *