Estoy intentando emular Windows con bochs en mi dispositivo Android. Tengo las siguientes unidades: una imagen de disco vacía para instalar Windows, una unidad virtual vvfat con los archivos de instalación y una unidad de cdrom con la última versión de DOS. Bochs reconoce correctamente todos los accionamientos.
El problema es que cuando inicio en DOS, no se reconoce la imagen del disco. Utilicé el comando vol para identificar las unidades. A fue asignado al cdrom, B dio un error de lectura, C fue asignado a la unidad virtual vvfat y los demás fueron desasignados. Sin embargo, el error de lectura que dio B no tiene nada que ver con el archivo de imagen. Si desconectara todas las unidades excepto el cdrom, el error seguiría ahí. Probablemente sea un disquete emulado.
Creo que el problema está en el archivo de imagen. Lo hice usando dd en la terminal. Usé la siguiente configuración:
dd if=/dev/zero of=/sdcard/Win.img bs=64k count=8192
Y lo formateé con:
mkfs.vfat /sdcard/Win.img
No funcionó. Luego descubrí que las versiones antiguas de Windows solo admiten un tamaño de bloque o clúster de hasta 4 kB, así que creé una nueva:
dd if=/dev/zero of=/sdcard/Win.img bs=4k count=131072
Y nuevamente lo formateé con mkfs.vfat.
Como todavía no funcionaba, comencé a experimentar con los sistemas de archivos y las particiones. He usado fdisk para particionar la imagen:
fdisk /sdcard/Win.img, n, p, 1, 1, 65
Pero todavía no hay resultado. Quizás hice algo mal aquí porque cuando imprimí la tabla de particiones decía linux al final.
Mi pregunta es: ¿alguien sabe cómo formatear una imagen de disco con terminal para que DOS la reconozca?
Respuesta1
mkfs.vfat -F puedes usar12odieciséisSOLAMENTE.(32 es incompatible con DOS)
mkfs.vfat -F 16 -f 2
Debe evitar el método automático, ya que querrá utilizar un sistema de archivos de 32 bits y será incompatible con cualquier programa de DOS.
El sistema de archivos de 12 bits está tradicionalmente reservado para disquetes. Aunque se puede utilizar su tamaño MÁXIMO es 1/4 o 512 MB de FAT16.
En DOS los discos duros normalmente son FAT16. Esta es específicamente la razón por la que dije usar 16 bits y minúsculas.-f 2indica 2 copias que es la forma en que funciona DOS.
Respuesta2
Puede agilizar todo el proceso utilizando mkdosfs
, especialmente si necesita una compatibilidad estricta con DOS. mkdosfs
tiene la -C
bandera que te permite omitir el dd
paso. Para crear una imagen de disquete de 1,44 MB llamada Win.img
, ingrese mkdosfs -C /sdcard/Win.img 1440
.
Sin embargo, dudo que la imagen del disco problemática sea del tipo disquete. Incluso Windows 3.0 ocupa entre 6 y 8 MB de espacio en disco cuando se instala.
Respuesta3
Puede descargar discos duros ya preparados de Internet, incluidos los que están en blanco. La gente los usa como imágenes de arranque para cdroms.
DOS tiene un tamaño de sector de 512 bytes, y si Windows 9x va a realizar un arranque dual con un DOS anterior, haga que las particiones tengan menos de 126 MB. Esta es una partición fat16 que win9x no convertirá a fat32.
Cuando pone en marcha una partición, debe usar fdisk de DOS para crear particiones y formatear para formatear las particiones. Puedes hacer esto desde el disquete. vol solo ve las particiones creadas. Debe configurar una partición primaria como "activa", de lo contrario no arrancará.
Una vez formateado, puede sys
la unidad e instalar DOS, Windows...
Respuesta4
Por defecto, fdisk crea particiones de tipo "Linux". Debes cambiarlo a "Windows". Vuelve a fdisk y escribe (después de lo que ya has escrito) "t", "1", "b". Guardar y Salir.