I want to load an ISO into my RAM from an USB flash drive. Included in that ISO should be a running MS-DOS (which version doesn't matter at first).
O MS-DOS usa chamadas de BIOS de 16 bits em modo real para enumerar e acessar discos, bem como qualquer coisa que DEVICE=
ou DEVICEHIGH=
linhas em seu CONFIG.SYS
possa instalar.
Você pode pensar que pode encontrar algum disco RAM baseado em DOS ( RAMDRIVE.SYS
? Já faz muito tempo ...) O problema é que, quando o DOS é inicializado, ele precisa carregar IO.SYS
e MSDOS.SYS
, então CONFIG.SYS
e quaisquer arquivos CONFIG.SYS
apontam para, e ele usará as rotinas do BIOS para fazer isso. Nenhuma unidade RAM pode estar disponível até que pelo menos IO.SYS
e MSDOS.SYS
esteja carregado - e ela tentará carregá-lo no mesmo local em que foi inicializado pela AFAIK.
Não há como "pré-carregar" as coisas de CONFIG.SYS
para contornar isso.
Então - a menos que seu BIOS (nada mais) suporte o carregamento de um .ISO na RAM e faça com que ele se pareça com outro disco rígido conectado ao sistema (o que nenhum deles faz - mas há alguns BIOS no final dos anos 80 que tinham DOS ROM e tal), ou você executa um carregador de sobreposição que faz isso antes de inicializar o MS-DOS (não sei de nenhum ou se isso funcionaria mesmo), você não pode fazer isso.