2024年6月12日发(作者:)

CF卡上引导VxWorks的三种方法

方法一. 直接引导:

引导扇区

>>

>> VxWorks

这种方法最快,但要求保持连续性(可用chkdsk检查)。

方法二. FreeDOS引导:

引导扇区

>> FreeDOS

>>

>>

>> VxWorks

这种方法牺牲少量启动时间换取灵活性,因为你可以为FreeDOS增加菜单实现选择性

启动,而且许多维护性工作也可在DOS下进行。

方法三. GRUB引导:

引导扇区

>> GRUB

>> FreeDOS启动盘映像

>> FreeDOS

>>

>>

>> VxWorks

这种方法比上一种更进一步,你可以利用GRUB的强大功能实现多系统引导,不过不

是所有的主板都支持GRUB。

grub> kernel --type=netbsd /vxWorks

一共两个分区,都是主分区。C盘为Fat32格式,设为活动分区。D盘为Fat格式,设

为非活动分区。C盘装的Winxp,用XP引导Grub4DOS。把DOS的系统文件(,

,)拷贝到D盘根目录。

修改如下:

title DOS6.22

root (hd0,1)

chainloader (hd0,1)/

title DOSDOS

find --set-root (hd0,1)/

chainloader (hd0,1)/

title FINDDOSACT

find --set-root (hd0,1)/

makeactive

chainloader (hd0,1)/

title HD0

rootnoverify (hd0,0)

makeactive

chainloader +1

title HD1HD1

rootnoverify (hd0,1)

makeactive

chainloader (hd0,1)/

都不能成功,显示错误为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 方式启动,必须chainloader启动扇区才能启动,

因为msdos 6.22的与两个文件都是核心文件

[ Last edited by fujianabc on 2009-12-3 at 17:26 ]

作者: realstephen 时间: 2009-12-4 23:20

原来如此。谢谢。已经用chainloader(0,0) + 1的方法启动成功。我后来试着用grub4dos引导

Vxworks的,得到的也是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的,得到的也是

Error 13:Invalid or unsupported executa ...

是什么东西?你为什么直接用chainloader来加载?

作者: realstephen 时间: 2009-12-5 23:14

是Vxwroks系统的boot loader。我以前是用DOS6.22来引导它,由它引导Vxworks

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

作者: realstephen 时间: 2009-12-5 23:18

是否应该用

kernel (hd0,0)/boot/grub/

initrd (hd0,0)/boot/grub/

这种方式?

作者: fujianabc 时间: 2009-12-6 18:29

Quote:

Originally posted by realstephen at 2009-12-5 11:14 PM:

是Vxwroks系统的boot loader。

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

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

grub又不是操作系统,grub只支持直接加载两类格式:

1、chainloader命令能直接加载bootsect类的文件以及ntldr和

2、kernel命令能直接加载linux内核类的文件

你的显然不属于上面两类之一,所以grub不能直接加载。你dos下是怎样加载

的?

作者: realstephen 时间: 2009-12-6 22:53

Vxworks提供了一个DOS6.22调用的程序,DOS6.22启动后通过引

导,这个时候DOS就把控制权交给Vxworks的bootrom了,然后

初始化基本的硬件信息(包括IO系统,网络等),将真正的操作系统映像Vxworks加载到

内存,并把控制权交给Vxworks。这样就完成了启动。当然Vxworks也有其他的启动模式,

比如利用vxsys将Vxworks的引导信息写到硬盘的引导扇区,然后上电后引导信息直接加载

作者: fujianabc 时间: 2009-12-7 02:33

Quote:

Originally posted by realstephen at 2009-12-6 10:53 PM:

当然Vxworks也有其他的启动模式,比如利用vxsys将Vxworks的引导信息写

到硬盘的引导扇区,然后上电后引导信息直接加载

那你就按照此方法,用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)是什么意思