无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 36705|回复: 116
打印 上一主题 下一主题

用grub直接启动xp embedded的sdi成功!

[复制链接]
跳转到指定楼层
1#
发表于 2006-1-15 10:37:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
[这个贴子最后由fujianabc在 2006/02/25 01:29pm 第 3 次编辑]

早在去年某个grub版本之后,grub就加入了启动sdi的功能,但是一直没有成功启动过。今天,经过我的一些尝试之后,终于用grub成功启动了xp embedded的sdi。这样,结合了grub和sdi的优点,启动方法有又多了一种选择。
在测试中,我使用了hnlyzhd在下面帖子中制作的xp embedded(20M的和90多兆的都能成功)
http://bbs.wuyou.net/cgi-bin/top ... topic=57&show=0
sdi的制作和启动方法如下:
1、下载并安装我提供的sdi制作工具精简版,
http://bbs.wuyou.net/cgi-bin/top ... =10744&show=100
如果已安装了xp embedded自定义工具的可以略去此步。
2、请准备三个文件:osloader.exe,ntdetect.com,bootfont.bin(这个文件可以不要)
以上三个文件可以从任意一张xp/2003的安装光盘中获得(光盘中的文件可能是压缩的,请解压),只是要注意文件版本不能比所要引导的xp embedded版本低(对于hnlyzhd的xp embedded,三个文件只要xp sp1以上版本的即可)。
下载并解压startrom.com(此文件来自2003 sp1光盘)下载处在文章末尾。
3、提取hnlyzhd的sdi中的所有文件(关于xp embedded sdi的文件提取方法在后面附注中说)。
以那个20M的sdi为例,就是KERNEL一个文件夹。
4、把提取出来的文件复制到一个空分区下面(如果没有空分区,就用sdi loader制作一个容量适当的虚拟磁盘分区),设这个分区盘符为f:盘。
复制步骤2的ntdetect.com和bootfont.bin至此盘(若原有就覆盖之,以保持步骤2中文件版本的一致性)。
5、在f:盘中创建一个boot.ini(若原有就删除),内容如下:
[boot loader]
timeout=0
default=ramdisk(0)\KERNEL
[operating systems]
ramdisk(0)\KERNEL="Windows XP EMBEDDED" /fastdetect
其中ramdisk(0)\KERNEL是以20M的那个xp embedded为例的,请根据实际路径编写;timeout的值随便。
6、用cmd进入sdimgr.wsf所在目录执行以下命令:
sdimgr /new d:\new.sdi  (创建一个名为d:\new.sdi的新sdi)
sdimgr d:\new.sdi /readpart:f:  (把f:分区加入new.sdi)
sdimgr d:\new.sdi /import:BOOT,0,path\startrom.com
sdimgr d:\new.sdi /import:LOAD,0,path\osloader.exe   (分别把startrom.com和osloader.exe导入new.sdi文件,请在startrom.com和osloader.exe前加上相应路径)
sdimgr d:\new.sdi /pack  (重新排布此sdi的结构)
7、至此sdi制作完成,此sdi文件便可在grub中启动了。在grub中调用的的命令如下:
chainloader --sdi (path)/new.sdi
boot
另外,sdi文件还可以用gzip格式压缩,照样能用grub启动。

附注:提取xp embedded的sdi中文件的方法:
设此sdi文件名为xpe.sdi,执行命令:
sdimgr path\xpe.sdi /export:PART,path\xpe.ima  (path要为指定路径),
生成xpe.ima,用winimage 8.0打开此文件即可提取其中的所有文件了。

[ 本帖最后由 fujianabc 于 2006-8-1 09:11 AM 编辑 ]

startrom.rar

8.99 KB, 下载次数: 793, 下载积分: 无忧币 -2

2#
发表于 2006-1-15 12:30:22 | 只看该作者

用grub直接启动xp embedded的sdi成功!

支持!又多了一个选择!同样用pe生成的SDI应该一样可以用grub启动!!
回复

使用道具 举报

3#
发表于 2006-1-15 14:46:14 | 只看该作者

用grub直接启动xp embedded的sdi成功!

祝贺!!!!!!!!!!!!
回复

使用道具 举报

4#
发表于 2006-1-15 18:37:32 | 只看该作者

用grub直接启动xp embedded的sdi成功!

支持一下,虽然我不懂。
回复

使用道具 举报

5#
发表于 2006-1-16 16:33:13 | 只看该作者

用grub直接启动xp embedded的sdi成功!

好强啊,顶!
回复

使用道具 举报

6#
发表于 2006-1-17 14:25:06 | 只看该作者

用grub直接启动xp embedded的sdi成功!

http://bbs.wuyou.net/cgi-bin/topic.cgi?forum=34&topic=11857&show=0
大侠:
chainloader --sdi (path)/new.sdi
boot
具体怎么写?
我的是
chainloader --sdi (hd0,0)/xpe.sdi
boot
为什么提示找不到xpe.sdi?
回复

使用道具 举报

7#
 楼主| 发表于 2006-1-17 19:48:55 | 只看该作者

用grub直接启动xp embedded的sdi成功!

下面引用由plutoshen2006/01/17 02:25pm 发表的内容:
http://bbs.wuyou.net/cgi-bin/topic.cgi?forum=34&topic=11857&show=0
大侠:
chainloader --sdi (path)/new.sdi
boot
...
你可以具体看一下定置的grub使用说明,这是grub的最基本操作。
回复

使用道具 举报

8#
发表于 2006-1-17 20:19:14 | 只看该作者

用grub直接启动xp embedded的sdi成功!

只能启动hnlyzhd制作的那两个XPE.
其它的都没办法
回复

使用道具 举报

9#
 楼主| 发表于 2006-1-17 20:22:05 | 只看该作者

用grub直接启动xp embedded的sdi成功!

xp embedded的都能行的
回复

使用道具 举报

10#
发表于 2006-1-18 08:50:41 | 只看该作者

用grub直接启动xp embedded的sdi成功!

lxl1638做的128MB和256MB算不算是XPE呢.
我试了没有成功过,楼主试试看行不行.研究好了分享一下.
回复

使用道具 举报

11#
 楼主| 发表于 2006-1-18 09:34:27 | 只看该作者

用grub直接启动xp embedded的sdi成功!

lxl1638做的是winpe,不是embedded
回复

使用道具 举报

12#
发表于 2006-1-18 10:02:11 | 只看该作者

用grub直接启动xp embedded的sdi成功!

能不能用grub直接启动winpe的sdi呀?
老大研究一下吧,那个很有前途的。。。
回复

使用道具 举报

13#
 楼主| 发表于 2006-1-18 16:58:16 | 只看该作者

用grub直接启动xp embedded的sdi成功!

下面引用由plutoshen2006/01/18 10:02am 发表的内容:
能不能用grub直接启动winpe的sdi呀?
老大研究一下吧,那个很有前途的。。。
能否用grub启动winpe的sdi,暂时没有答案,主要存在下面这个问题:
启动时所采用的载入程序:
普通的ramdisk启动sdi,xp embedded用ntldr,winpe用setupldr.bin,
grub的ramdisk启动sdi,xp embedded用osloader.exe,winpe由该用哪个呢?
回复

使用道具 举报

14#
发表于 2006-1-27 13:03:31 | 只看该作者

用grub直接启动xp embedded的sdi成功!

我用那个20M的sdi试验,提示boot.ini无效。
我是按照你的写法做的,为什么不行?
回复

使用道具 举报

15#
发表于 2006-1-27 16:00:27 | 只看该作者

用grub直接启动xp embedded的sdi成功!

Error -2147467259 (0x80004005) in "SDIAUT.SDIFile.1": 系统找不到指定的路径。
回复

使用道具 举报

16#
发表于 2006-1-27 16:34:09 | 只看该作者

用grub直接启动xp embedded的sdi成功!

解是可以解开了,用REGEDIT加载SYSTEM出错,提示无法上载配置单元。
回复

使用道具 举报

17#
发表于 2006-1-27 22:18:04 | 只看该作者

用grub直接启动xp embedded的sdi成功!

那个boot.sdi按照此方法转换为IMA文件解出来后,为什么好多文件错误,比如explorer.exe图标没有了。不能正常运行可以执行文件。
回复

使用道具 举报

18#
 楼主| 发表于 2006-1-28 09:45:51 | 只看该作者

用grub直接启动xp embedded的sdi成功!

下面引用由plutoshen2006/01/27 01:03pm 发表的内容:
我用那个20M的sdi试验,提示boot.ini无效。
我是按照你的写法做的,为什么不行?
请执行以下操作,我来分析一下问题所在:
1、假设你的sdi为d:\xpe.sdi
执行sdimgr d:\xpe.sdi
把结果复制到帖子中
2、用grub再次启动这个sdi
在boot命令按回车之后,立即狂按F8,请告诉我出来的菜单是中文的还是英文的(当然,你必须在制作sdi时包含bootfont.bin这个文件)
回复

使用道具 举报

19#
 楼主| 发表于 2006-1-28 09:46:30 | 只看该作者

用grub直接启动xp embedded的sdi成功!

下面引用由wuyouman012006/01/27 04:00pm 发表的内容:
Error -2147467259 (0x80004005) in "SDIAUT.SDIFile.1": 系统找不到指定的路径。
你在做那一步操作时遇到这个错误提示的?
回复

使用道具 举报

20#
 楼主| 发表于 2006-1-28 09:48:03 | 只看该作者

用grub直接启动xp embedded的sdi成功!

下面引用由wuyouman012006/01/27 10:18pm 发表的内容:
那个boot.sdi按照此方法转换为IMA文件解出来后,为什么好多文件错误,比如explorer.exe图标没有了。不能正常运行可以执行文件。
这个问题以及system无法加载,似乎winimage有bug,用winimage挂载此ima为一个盘符,从中把所有文件复制出来。
回复

使用道具 举报

21#
发表于 2006-1-29 00:59:53 | 只看该作者

用grub直接启动xp embedded的sdi成功!

可以了,谢谢。
春节愉快!
回复

使用道具 举报

22#
发表于 2006-1-29 07:30:16 | 只看该作者

用grub直接启动xp embedded的sdi成功!

请问楼主: 支持启动sdi功能的 GRLDR (GRUB Loader) 版本号是什么? 在那里下载? 我使用 0.95 和 0.97 (从 Grub_for_dos-0.4.1 取出) 试过都没有成功, 其中 0.97 版本更是GRUB菜单也没能进入, 不知道是什么原因.
回复

使用道具 举报

23#
 楼主| 发表于 2006-1-29 09:43:20 | 只看该作者

用grub直接启动xp embedded的sdi成功!

0.95的不行,用这个
http://sarovar.org/projects/grub4dos/
回复

使用道具 举报

24#
发表于 2006-1-30 20:30:26 | 只看该作者

用grub直接启动xp embedded的sdi成功!

请教用ramdisk启动方式始终存在的一个问题:
    hnlyzhd制作的embedded xp用ramdisk启动方式,不会把SDI的分区信息覆盖到物理第一分区,我制作的embedded xp,用ramdisk启动方式启动,SDI的分区信息覆盖到物理第一分区,这个问题;老是解决不了,不知缺少什么组件,试了n次,好象有一次成功过,不过没有保留slx文件很是遗憾,恳请赐教!
   
回复

使用道具 举报

25#
发表于 2006-2-13 16:12:21 | 只看该作者

用grub直接启动xp embedded的sdi成功!

下面引用由fujianabc2006/01/18 04:58pm 发表的内容:
能否用grub启动winpe的sdi,暂时没有答案,主要存在下面这个问题:
启动时所采用的载入程序:
普通的ramdisk启动sdi,xp embedded用ntldr,winpe用setupldr.bin,
grub的ramdisk启动sdi,xp embedded用osloader. ...
osloader.exe就是ntldr或setupldr.bin的后半部分
可以试一下这样的方法:
用Ultraedit截取setupldr.bin中';MZ';以后的部分重命名为osloader.exe
回复

使用道具 举报

26#
 楼主| 发表于 2006-2-13 20:32:28 | 只看该作者

用grub直接启动xp embedded的sdi成功!

下面引用由Rinrin2006/02/13 04:12pm 发表的内容:
osloader.exe就是ntldr或setupldr.bin的后半部分
可以试一下这样的方法:
用Ultraedit截取setupldr.bin中';MZ';以后的部分重命名为osloader.exe
谢谢你的建议。我发现还有一个setupldr.exe,它类似于osloader.exe,这个文件又是干什么的?
回复

使用道具 举报

27#
发表于 2006-2-13 21:08:44 | 只看该作者

用grub直接启动xp embedded的sdi成功!

试了一下使用setupldr.exe启动时提示
SETUPLDR: Couldn';t open drive ramdisk(0)  
看来再加把劲应该就可以使用SDI来启动PE或WINDOWS XP安装程序了.
回复

使用道具 举报

28#
 楼主| 发表于 2006-2-14 10:17:29 | 只看该作者

用grub直接启动xp embedded的sdi成功!

[这个贴子最后由fujianabc在 2006/02/14 03:02pm 第 1 次编辑]

我试过了,setupldr.exe不行。
至于sdi启动故障恢复控制台,这个早就实现了,做法基本上与iso启动cmdcons相同,只是最后的rdimageoffset要另设一下。
可以参看以下两贴:
用ramdisk启动故障恢复控制台成功!
http://bbs.wuyou.net/cgi-bin/topic.cgi?forum=34&topic=10056&show=0
推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
http://bbs.wuyou.net/cgi-bin/topic.cgi?forum=34&topic=10738&show=0
回复

使用道具 举报

29#
发表于 2006-2-15 15:04:47 | 只看该作者

用grub直接启动xp embedded的sdi成功!

这个使用方法不太方便.
若是能够做成像XPE那个直接.
chainloader --sdi (hd0,0)/cmdcons.sdi
来启动就比较完美了.
因为不需要WINNT.SIF
当然了若是做成这样子.
就可以使用SDI文件来启动PE了.
回复

使用道具 举报

30#
 楼主| 发表于 2006-2-15 15:32:28 | 只看该作者

用grub直接启动xp embedded的sdi成功!

下面引用由chenall2006/02/15 03:04pm 发表的内容:
这个使用方法不太方便.
若是能够做成像XPE那个直接.
chainloader --sdi (hd0,0)/cmdcons.sdi
来启动就比较完美了.
...
目前grub似乎只能启动winxp embedded的sdi,winpe和cmdcons的sdi还无法启动。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-27 17:58

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表