Como carregar um arquivo ISO na RAM e inicializar o MS-DOS dele?

2

Eu não tenho muita experiência em fazer isso, então estou aqui para pedir ajuda.

Meu problema é:

Eu quero carregar um ISO na minha RAM a partir de uma unidade flash USB. Incluído nesse ISO deve ser um MS-DOS em execução (qual versão não importa no início).

Eu também quero ter um segundo ISO montado na RAM, mas esses arquivos também podem ser carregados na primeira imagem, se necessário. (Eu apenas me importo com o máximo de 1,44 MB de um disquete, que não caberia.)

Então, quando eu desconectar o pen drive, todos os dados devem ser acessados via RAM.

Meu primeiro pensamento foi usar o GRUB para carregá-lo na RAM e iniciá-lo. Infelizmente, se eu editar o ISO do MS-DOS (de qualquer forma, por exemplo, alternando o layout do teclado ou incluir outro arquivo pequeno), ele se recusará a inicializá-lo.

Eu preciso ter um MS-DOS editado, pois quero incluir arquivos de comando como xcopy , net use , NTFS4DOS e assim por diante.

Assim, ao inicializar, quero que o MS-DOS seja iniciado com o acesso aos outros dados. Se estiver na mesma "unidade" (digamos ISO) ou em uma segunda, não importa.

Como faço para carregar o MS-DOS e arquivos adicionais na RAM e inicializá-lo?

O GRUB não é obrigatório, é apenas o que eu encontrei por tanto tempo em minhas pesquisas na Internet.

    
por Trollwut 06.08.2015 / 17:21

3 respostas

1

O projeto Syslinux contém um gerenciador de inicialização chamado memdisk , que pode inicializar discos rígidos virtuais. Portanto, se você colocar a instalação do MS-DOS em um disco rígido, ele carregará o disco na memória e inicializará a partir dele. Você também pode carregar várias imagens do disco rígido para ver vários discos.

No entanto, as unidades só funcionam se o software usar o int13 para acessar discos e não funcionar em todos os BIOSes. Além disso, essa solução não usa imagens ISO, mas se funcionar no seu sistema, isso pode resolver o problema.

    
por 07.08.2015 / 01:56
0

Você pode usar o Rufus ou outros utilitários semelhantes para criar um pendrive MS-DOS inicializável, conforme descrito aqui .

Então você precisa criar um ramdisk e transferir os arquivos do sistema para lá.

O disco de recuperação do Windows 98 usou a mesma abordagem, extraindo o conteúdo de um arquivo cab com utilitários no disco virtual.

    
por 06.08.2015 / 17:33
0

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.

    
por 06.08.2015 / 18:11