Como formatar uma imagem de disco a ser reconhecida pelo MS-DOS?

2

Estou tentando emular janelas com bochs no meu dispositivo Android. Eu tenho as seguintes unidades: uma imagem de disco vazia para instalar o Windows, uma unidade virtual vvfat com os arquivos de instalação e uma unidade de CD-ROM com a versão mais recente do DOS. Bochs reconhece todas as unidades corretamente.

O problema é que, quando inicializo no DOS, a imagem do disco não é reconhecida. Eu usei o comando vol para identificar as unidades. A foi atribuído ao cdrom, B deu um erro de leitura, C foi designado para o drive vvfat virtual e os outros não foram atribuídos. O erro de leitura B, no entanto, não tem nada a ver com o arquivo de imagem. Se eu desconectei todas as unidades, exceto o cdrom, o erro ainda estaria lá. Provavelmente é um disquete emulado.

Eu acho que o problema está no arquivo de imagem. Eu fiz isso usando o terminal dd in. Eu usei a seguinte configuração:

dd if=/dev/zero of=/sdcard/Win.img bs=64k count=8192

E formatado com:

mkfs.vfat /sdcard/Win.img

Não funcionou. Então eu descobri que versões antigas do windows suportam apenas blocos de até 4 kB ou tamanho de cluster, então eu fiz um novo:

dd if=/dev/zero of=/sdcard/Win.img bs=4k count=131072

E novamente formatado com mkfs.vfat.

Como ainda não funcionou, comecei a experimentar os sistemas de arquivos e partições. Eu usei o fdisk para particionar a imagem:

fdisk /sdcard/Win.img, n, p, 1, 1, 65

Mas ainda não há resultado. Talvez eu tenha feito algo errado aqui porque quando eu imprimi a tabela de partições ele dizia linux no final.

Minha pergunta é: alguém sabe como formatar uma imagem de disco com terminal para que ela seja reconhecida pelo DOS?

    
por Jaïr Paalman 16.07.2015 / 12:25

4 respostas

1

mkfs.vfat -F você pode usar 12 ou 16 APENAS (32 é incompatível com DOS)

mkfs.vfat -F 16 -f 2

Você precisa evitar o método automático, pois ele vai querer usar um sistema de arquivos de 32 bits que será incompatível com qualquer programa DOS.

O sistema de arquivos de 12 bits é tradicionalmente reservado para disquetes. Embora possa ser usado, seu tamanho MAX é 1/4 ou 512mb de FAT16.

Nos discos rígidos do DOS são normalmente FAT16. Isto é especificamente porque eu disse para usar 16 bits e a letra minúscula -f 2 indica 2 cópias, que é a maneira como o DOS funciona.

    
por 17.07.2015 / 06:29
1

Você pode fazer o download de discos rígidos prontos da internet, inclusive os em branco. As pessoas as usam como imagens de inicialização para cdroms.

O DOS tem um tamanho de setor de 512 bytes, e se o Windows 9x for inicializar dualmente com um DOS anterior, faça as partições com menos de 126 MB. Esta é uma partição fat16 que o win9x não converte em fat32.

Quando você obtém uma partição, você precisa usar o fdisk do DOS para criar partições e formatar para formatar as partições. Você pode fazer isso a partir do disquete. vol só vê as partições criadas. Você precisa definir uma partição primária como 'ativa', caso contrário ela não será inicializada.

Uma vez formatado, você pode sys da unidade e instalar o DOS, Windows ..

    
por 17.07.2015 / 07:49
0

Você pode simplificar todo o processo usando mkdosfs , especialmente se você precisar de compatibilidade estrita com o DOS. mkdosfs tem o sinal -C que permite ignorar a etapa dd . Para criar uma imagem de disquete de 1,44 MB chamada Win.img , digite mkdosfs -C /sdcard/Win.img 1440 .

No entanto, duvido que a imagem do disco com problemas seja de variedade de disquetes. Mesmo o Windows 3.0 ocupa entre 6 e 8 MB de espaço em disco quando instalado.

    
por 17.07.2015 / 07:15
0

Por padrão, o fdisk cria partições do tipo "Linux". Você precisa alterá-lo para "Windows". Volte para o fdisk e digite (depois do que você já digitou) "t", "1", "b". Salve e saia.

    
por 18.07.2015 / 21:31