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

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

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 vvfat virtual com os arquivos de configuração e uma unidade de cdrom 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. Usei o comando vol para identificar as unidades. A foi atribuído ao cdrom, B deu um erro de leitura, C foi atribuído ao drive virtual vvfat e os outros não foram atribuídos. O erro de leitura que B deu, entretanto, não tem nada a ver com o arquivo de imagem. Se eu desconectasse todas as unidades, exceto o cdrom, o erro ainda estaria lá. Provavelmente é um disquete emulado.

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

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

E formatei com:

mkfs.vfat /sdcard/Win.img

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

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

E novamente formatei-o com mkfs.vfat.

Como ainda não funcionou, comecei a fazer experiências nos 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 sem resultado. Talvez eu tenha feito algo errado aqui porque quando imprimi a tabela de partições dizia linux no final.

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

Responder1

mkfs.vfat -F você pode usar12ou16SOMENTE.(32 é incompatível com DOS)

mkfs.vfat -F 16 -f 2

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

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

No DOS, os discos rígidos são normalmente FAT16. É especificamente por isso que eu disse para usar 16 bits e letras minúsculas-f2indica 2 cópias, que é a forma como o DOS funciona.

Responder2

Você pode agilizar todo o processo usando o mkdosfs, especialmente se precisar de compatibilidade estrita com o DOS. mkdosfstem o -Csinalizador que permite pular a ddetapa. 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 problema seja do tipo disquete. Até o Windows 3.0 ocupa entre 6 e 8 MB de espaço em disco quando instalado.

Responder3

Você pode baixar discos rígidos prontos da Internet, inclusive os vazios. As pessoas os usam como imagens de inicialização para cdroms.

O DOS tem um tamanho de setor de 512 bytes e, se o Windows 9x tiver inicialização dupla com um DOS anterior, torne as partições menores que 126 MB. Esta é uma partição fat16 que o win9x não converte para fat32.

Ao iniciar uma partição, você deve usar o DOS fdisk para criar partições e formatar para formatar as partições. Você pode fazer isso a partir do disquete. vol vê apenas as partições criadas. Você deve definir uma partição primária como 'ativa', caso contrário ela não inicializará.

Uma vez formatado, você pode sysinstalar a unidade e instalar DOS, Windows.

Responder4

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". Salvar e sair.

informação relacionada