首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OSDev: Windows 7的“”copy“”命令不会从ImDisk复制到b:\

OSDev: Windows 7的“”copy“”命令不会从ImDisk复制到b:\
EN

Stack Overflow用户
提问于 2015-05-22 10:26:15
回答 1查看 155关注 0票数 1

我有一个.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.

它以前编译过,我可以在其中正确地测试操作系统,然后会出现一些文本,然后我注意到屏幕上没有任何东西,所以我进一步查看了提示输出和批处理文件,并意识到这一点。

有人能帮我一下吗?我真的希望它能被编译。

下面是我的批处理文件中出现错误的主要部分:

代码语言:javascript
复制
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。呃。

EN

回答 1

Stack Overflow用户

发布于 2016-01-24 15:58:25

引导文件应始终位于第一个扇区中。试试这个:

代码语言:javascript
复制
dd seek=0 if=..\src\boot\boot.bin bs=512 of=myos.flp

seek=0将引导文件复制到第一个扇区。如果不放入,dd命令可能会将文件复制到其他地方。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30387427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档