Recientemente he reanudado un pequeño proyecto de sistema operativo desde cero en la Asamblea que comencé hace varios meses en Lion. Parte del proyecto consiste en compilar un archivo binario con NASM (el que se incluye previamente) y luego crear una imagen de disco basada en ese binario. El punto importante proviene del hecho de que el binario se escribe en el primer sector de la imagen para que se pueda iniciar desde otro hardware (el binario se compila con un FAT16 BPB), que pruebo con VirtualBox.
Desafortunadamente, cada vez que compilo e intento montar la imagen en Mountain Lion, aparece un cuadro de diálogo que dice " No se pudo abrir el siguiente disco: boot.img - no hay sistemas de archivos montables ". Pensé que esto era algo extraño en mi código, así que hice una imagen de disco FAT16 en blanco con la Utilidad de Disco, luego comparé mi disco con el creado en un editor hexadecimal, y luego modifiqué mi código en consecuencia. Desafortunadamente, aunque sí logró montar después, mi código ya no funcionó después de realizar dichos cambios.
Entonces, sabiendo que logré compilar con éxito el código antes (y no lo había tocado desde hace poco), entré en Time Machine y saqué mi antiguo directorio de trabajo. Probé la imagen en VirtualBox, y funciona. Sin embargo, obtengo el mismo error de montaje . Encontré esto muy peculiar, así que copié la imagen del disco en una unidad física, la enchufé en una vieja caja de Ubuntu y, de hecho, se montó. Incluso envié la imagen del disco a un amigo (que todavía está ejecutando la última versión de Lion), y pudo montar la imagen del disco .
TL; DR : ¿Por qué una imagen de disco FAT16 que tengo montada correctamente en Lion, pero no en Mountain Lion? Intenté el montaje intentando open boot.img
, hdid boot.img
, mount boot.img some_folder
y mount -t msdos boot.img some_folder
, ninguno de los cuales funcionó. He adjuntado la imagen del disco en cuestión a través de Droplr .