Recientemente he retomado un pequeño OS-de-cero-en-la Asamblea proyecto que comenzó hace varios meses en Lion. Parte del proyecto consiste en la compilación de un archivo binario con NASM (la que se pre-incluido), a continuación, crear una imagen de disco basado en ese binario. El punto importante viene del hecho de que el binario se escribe en el primer sector de la imagen de arranque de otro hardware (el binario compilado con FAT16 BPB), que puedo probar con VirtualBox.
Por desgracia, cada vez que me compile y pruebe a montar la imagen en Mountain Lion, me sale un cuadro de diálogo que dice:"El siguiente disco no podía ser de apertura: de arranque.img - no montar los sistemas de ficheros". Pensé que esto era algo de rareza en mi código, así que he hecho un espacio en blanco FAT16 imagen de disco con la Utilidad de Disco, a continuación, en comparación con mi disco con el creado en un editor hexadecimal, luego modificado mi código en consecuencia. Desafortunadamente, mientras que se hizo gestionar para montar después, mi código ya no funcionaba después de hacer dichos cambios.
Así que, sabiendo que me las arreglé para compilar correctamente el código de antes (y que no había tocado desde hace poco), que apareció en la Máquina del Tiempo y tiró de mi viejo directorio de trabajo. He probado la imagen en VirtualBox, y funciona. Sin embargo, me sale el mismo error de montaje. Me pareció muy peculiar, así que he copiado la imagen de disco en una unidad física, está enchufado a una vieja de Ubuntu, y es, de hecho, el monte. Incluso me envió la imagen de disco a un amigo (que todavía se está ejecutando la última versión de Lion), y él fue capaz de montar la imagen de disco.
TL;DR: ¿por Qué un FAT16 imagen de disco tengo correctamente monte en Lion, pero no en Mountain Lion? Traté de montaje tratando open boot.img
, hdid boot.img
, mount boot.img some_folder
y mount -t msdos boot.img some_folder
, ninguno de los cuales trabajó. He adjuntado la imagen de disco en cuestión a través de Droplr.