我有一个.bat (批处理)文件,用来编译我在Windows7中开发的一个操作系统。我使用nasm编译代码,然后使用dd和imdisk。虽然可能不值得一提,但在编译之后,我使用mkisofs来创建.iso,然后使用VirtualBox进行测试。
当超过“将内核和文件复制到磁盘”时,它(提示符中的输出)显示为The volume does not contain a recognized file system. Please make sure that all required file system drivers are loaded and that the volume is not corrupted. 0 file(s) copied.
它以前编译过,我可以在其中正确地测试操作系统,然后会出现一些文本,然后我注意到屏幕上没有任何东西,所以我进一步查看了提示输出和批处理文件,并意识到这一点。
有人能帮我一下吗?我真的希望它能被编译。
下面是我的批处理文件中出现错误的主要部分:
echo Adding boot to disk
cd build
dd if=..\src\boot\boot.bin bs=512 of=myos.flp
cd ..
echo Mounting disk image
imdisk -a -f build\myos.flp -s 1440K -m B:
echo Copying kernel and files to disk
copy src\kernel.bin b:\
echo Dismounting disk image
imdisk -D -m B:我能够用几乎相同的命令(我将MikeOS buildwin.bat修改为使用dd)成功编译MikeOS (这是我的灵感),所以我不知道发生了什么。
编辑:我甚至用dd在Ubuntu中尝试了一下,但它不起作用!当我到达挂载部分时,它显示了一些关于文件系统的信息……我想我的dd命令是错误的,但是由于某些原因,我可以正确地编译MikeOS。呃。
发布于 2016-01-24 15:58:25
引导文件应始终位于第一个扇区中。试试这个:
dd seek=0 if=..\src\boot\boot.bin bs=512 of=myos.flpseek=0将引导文件复制到第一个扇区。如果不放入,dd命令可能会将文件复制到其他地方。
https://stackoverflow.com/questions/30387427
复制相似问题