当前位置:文档之家› Dos引导VxWorks

Dos引导VxWorks

CF卡上引导VxWorks的三种方法
方法一. 直接引导:
引导扇区
>> bootrom.sys
>> VxWorks
这种方法最快,但要求bootrom.sys保持连续性(可用chkdsk检查)。

方法二. FreeDOS引导:
引导扇区
>> FreeDOS
>>
>> bootrom.sys
>> VxWorks
这种方法牺牲少量启动时间换取灵活性,因为你可以为FreeDOS增加菜单实现选择性启动,而且许多维护性工作也可在DOS下进行。

方法三. GRUB引导:
引导扇区
>> GRUB
>> FreeDOS启动盘映像
>> FreeDOS
>>
>> bootrom.sys
>> VxWorks
这种方法比上一种更进一步,你可以利用GRUB的强大功能实现多系统引导,不过不是所有的主板都支持GRUB。

grub> kernel --type=netbsd /vxWorks
一共两个分区,都是主分区。

C盘为Fat32格式,设为活动分区。

D盘为Fat格式,设为非活动分区。

C盘装的Winxp,用XP引导Grub4DOS。

把DOS的系统文件(IO.sys,MSDOS.sys,)拷贝到D盘根目录。

修改menu.lst如下:
title DOS6.22
root (hd0,1)
chainloader (hd0,1)/IO.SYS
title DOSDOS
find --set-root (hd0,1)/io.sys
chainloader (hd0,1)/io.sys
title FINDDOSACT
find --set-root (hd0,1)/io.sys
makeactive
chainloader (hd0,1)/io.sys
title HD0
rootnoverify (hd0,0)
makeactive
chainloader +1
title HD1HD1
rootnoverify (hd0,1)
makeactive
chainloader (hd0,1)/io.sys
都不能成功,显示错误为Error 13:Invalid or unsupported executable format。

请问这是为什么。

我能用什么方法实现双启动?另外还有一个问题,Grub4DOS能引导Vxworks的bootrom 吗?如果可以怎么做?谢谢各位了!
作者: realstephen 时间: 2009-12-2 21:56
看来我提的这个问题太幼稚。

DOS6.22只能安装在硬盘第一主分区吧。

呵呵
作者: fujianabc 时间: 2009-12-3 17:24
ms-dos 6.22不支持直接用chainloader io.sys方式启动,必须chainloader启动扇区才能启动,因为msdos 6.22的io.sys与msdos.sys两个文件都是核心文件
[ Last edited by fujianabc on 2009-12-3 at 17:26 ]
作者: realstephen 时间: 2009-12-4 23:20
原来如此。

谢谢。

已经用chainloader(0,0) + 1的方法启动成功。

我后来试着用grub4dos引导Vxworks的bootrom.sys,得到的也是Error 13:Invalid or unsupported executable format,请问是grub4dos不支持这种格式吗?
作者: fujianabc 时间: 2009-12-5 19:50
Quote:
Originally posted by realstephen at 2009-12-4 11:20 PM:
原来如此。

谢谢。

已经用chainloader(0,0) + 1的方法启动成功。

我后来试着用grub4dos引导Vxworks的bootrom.sys,得到的也是
Error 13:Invalid or unsupported executa ...
bootrom.sys是什么东西?你为什么直接用chainloader来加载?
作者: realstephen 时间: 2009-12-5 23:14
bootrom.sys是Vxwroks系统的boot loader。

我以前是用DOS6.22来引导它,由它引导Vxworks 的真正IMG。

现在想尝试用Grub4DOS来直接引导它,这样我就可以摆脱DOS6.22了。

作者: realstephen 时间: 2009-12-5 23:18
是否应该用
kernel (hd0,0)/boot/grub/memdisk.gz
initrd (hd0,0)/boot/grub/bootrom.sys
这种方式?
作者: fujianabc 时间: 2009-12-6 18:29
Quote:
Originally posted by realstephen at 2009-12-5 11:14 PM:
bootrom.sys是Vxwroks系统的boot loader。

我以前是用DOS6.22来引导它,由它引导Vxworks的真正IMG。

现在想尝试用Grub4DOS来直接引导它,这样我就可以摆脱DOS6.22了。

grub又不是操作系统,grub只支持直接加载两类格式:
1、chainloader命令能直接加载bootsect类的文件以及ntldr和io.sys
2、kernel命令能直接加载linux内核类的文件
你的bootrom.sys显然不属于上面两类之一,所以grub不能直接加载。

你dos下是怎样加载bootrom.sys的?
作者: realstephen 时间: 2009-12-6 22:53
Vxworks提供了一个DOS6.22调用的程序,DOS6.22启动后通过引导bootrom.sys,这个时候DOS就把控制权交给Vxworks的bootrom了,然后bootrom.sys 初始化基本的硬件信息(包括IO系统,网络等),将真正的操作系统映像Vxworks加载到内存,并把控制权交给Vxworks。

这样就完成了启动。

当然Vxworks也有其他的启动模式,比如利用vxsys将Vxworks的引导信息写到硬盘的引导扇区,然后上电后引导信息直接加载bootrom.sys。

作者: fujianabc 时间: 2009-12-7 02:33
Quote:
Originally posted by realstephen at 2009-12-6 10:53 PM:
当然Vxworks也有其他的启动模式,比如利用vxsys将Vxworks的引导信息写
到硬盘的引导扇区,然后上电后引导信息直接加载bootrom.sys
那你就按照此方法,用vxsys将Vxworks的引导信息写到硬盘的引导扇区,然后用grub chainloader加载引导扇区
作者: ZhiChaoC 时间: 2009-12-18 10:36 标题: 能DOS与PE双启动共存吗?
能DOS与PE双启动共存吗???
如果可以的话,用什么工具,如何制作!!!???请帮助,求教,谢谢!!!????
作者: realstephen 时间: 2009-12-19 20:39
问题已解决。

作者: turkeycq 时间: 2010-1-11 11:11
你的DOS是怎么引导的?还是这样吗?chainloader(0,0) + 1
括号里的(0,0)是什么意思。

相关主题