FAT16磁盘拒绝在Mountain Lion中安装


1

我最近恢复了几个月前在Lion开始的一个小型的OS-to-scratch-in-Assembly项目。该项目的一部分涉及使用NASM(预先包含的)编译二进制文件,然后基于该二进制文件创建磁盘映像。重要的一点是,二进制文件被写入图像的第一个扇区,可以从其他硬件启动(二进制文件是用 FAT16 BPB),我用VirtualBox测试。

不幸的是,每当我编译并尝试在Mountain Lion中安装映像时,我都会看到一个对话框,“ 无法打开以下磁盘:boot.img - 无可安装的文件系统 “我认为这在我的代码中有点奇怪,所以我用磁盘工具制作了一个空白的FAT16磁盘映像,然后将我的磁盘与在十六进制编辑器中创建的磁盘进行比较,然后相应地修改了我的代码。不幸的是,虽然它 没有 之后设法安装,我的代码在进行所述更改后不再有效。

因此,知道我之前成功编译了代码(并且最近没有触及它),我弹出了Time Machine并将我的旧工作目录拉出来。我在VirtualBox中测试了图像,它可以工作。然而, 我得到了相同的安装错误 。我发现这非常奇怪,所以我将磁盘映像复制到一个物理驱动器,将其插入一个旧的Ubuntu盒子,事实上它确实安装了。我甚至将磁盘映像发送给朋友(他仍在运行最新版本的Lion),以及 他能够装载磁盘映像

TL; DR :为什么FAT16磁盘映像我已正确安装在Lion中,而不是Mountain Lion?我试着尝试安装 open boot.imghdid boot.imgmount boot.img some_folder,和 mount -t msdos boot.img some_folder,没有一个奏效。我已经附上了 有问题的磁盘映像通过Droplr

Answers:


0

我最终安装了磁盘,同时保持与我的引导程序的兼容性。对于任何想知道的人,兼容性冲突都在FAT BPB(BIOS参数块)中。基本上,BPB有一个字段用于指定组成FAT簇的扇区数,我手动提供的值为1.但是,将其更改为4可解决问题。有关BPB的更多信息,您可以看到 这个参考页面 (你想看看字节13)。

对于任何随机绊倒这个答案的人来说,这基本上意味着一些旧磁盘(例如复制的软盘) dd )OS X Mountain Lion可能无法再安装。这只是基于对我自己的项目的观察的假设,但希望这有助于其他人遇到这个牵强附会的问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.