在ubuntu的环境下,使用dd命令进行磁盘文件的拷贝,貌似与bochs交互有问题(很有可能需要额外配置什么),目前存在的障碍是使用LBA28模式进行读数据的时候,会出现一直读不出来的问题,导致一直在等待读数据。代码走读后感觉没有问题,最大的嫌疑就是dd命令使用与bochs的交互上存在问题。该问题阻塞了2天,无解,holly shit
转战在win系统下,使用一个叫做vhd-writer的软件进行虚拟磁盘文件的写入工具,目前上述问题解决。不过每次使用磁盘控制端口0x1f7进行读写完成表示位判断的时候,发现最高位(hard忙)一直为1,不知为何。目前将代码改成不再判断这个最高位,直接只判断第四位是否已经准备就绪。 整个过程持续了2小时,搞定。
明天要开始调试“将100号扇区的client 代码拷贝到指定内存块,以及跳转到该内存执行代码段指令”的这部分代码了。
---------------任何复杂的事物都是由无数的简单元素组合而成的。