无忧启动论坛

标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下 [打印本页]

作者: fujianabc    时间: 2005-9-17 20:46
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
[这个贴子最后由fujianabc在 2005/10/02 09:40pm 第 9 次编辑]

最近看到很多人都对ramdisk启动winpe有着浓厚兴趣,相比起ramdisk+iso/is_而言,ramdisk+sdi启动则更加灵活(ramdisk可读写)而且节省内存,但是经常看到有人说sdi启动不成功,我想rdimageoffset设置不正确可能是其中的一个原因:
比如这个winnt.sif
[SetupData]
BootDevice = "ramdisk(0)"
BootPath = "\i386\System32\"
OsLoadOptions = "/noguiboot /fastdetect /minint /rdimageoffset=36352 /rdpath=multi(0)disk(0)rdisk(0)partition(2)\WINPE.sdi"
其他就不说了,就说一下这个rdimageoffset=xxxxx这个参数的意义,rdimageoffset参数字面意思是是"ramdisk映像偏移量",也就是指定ramdisk再入开始的位置。这个36352说明从sdi文件的第36353个字节开始载入,sdi文件的前面36352个字节都是一些其他信息,如果把sdi的前36352字节除掉,那这个文件就是一个winimage的ima文件,或者说就是一个分区镜像。
但是,请注意,并不是每个sdi文件前都有36352个字节的其它信息,这个数值与sdi大小直接有关,我也碰到过24xxx和5120的多种情况。
由此,我又试了peldr+ramdisk甚至可以加载winimage的ima/img文件,只需把rdimageoffset=36352改成rdimageoffset=0即可
再来讲一讲rdexportascd的意义,在ramdisk+iso/is_启动时一般要用rdexportascd,字面意思是"rd export as cd",也就是 "把 ramdisk 内容汇出成 CD" 的意思,加了它之后,ramdisk.sys驱动就把此映像的文件系统作为iso文件系统来处理。

sdi制作工具精简版下载帖:
http://bbs.wuyou.net/cgi-bin/topic.cgi?forum=34&topic=10744&show=100
作者: wuyouman01    时间: 2005-9-18 07:44
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
ramdisk+sdi启动有时蓝屏怎么回事?SATA上的。
作者: fujianabc    时间: 2005-9-18 09:40
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
sata蓝屏是因为没有加载sata的驱动
作者: wuyouman01    时间: 2005-9-18 10:03
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
可用ISO可以启动(sata上的).
作者: fujianabc    时间: 2005-9-18 10:08
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
wuyouman01,你的sdi文件中有的内容是什么?
并请你贴一下你启动sdi的winnt.sif
作者: lxl1638    时间: 2005-9-18 16:59
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
下面引用由fujianabc2005/09/18 10:08am 发表的内容:
wuyouman01,你的sdi文件中有的内容是什么?
并请你贴一下你启动sdi的winnt.sif
有同感,刚下了搞了一次,说 TXTSETUP.SIF Missing ,没时间搞了,老豆叫过去吃饭了,
饭后再来看帖,希望有人帖出答案。
作者: fujianabc    时间: 2005-9-18 17:47
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
txtsetup.sif missing一般就是由rdimageoffset=xxxxx设置错误造成的,一般来说,这个数值是36352,但也有例外,你可以用16进制编辑器打开sdi看一下,是不是从36352字节以后就是一个分区镜像,如果不是,参数就要更改了
作者: lxl1638    时间: 2005-9-18 19:29
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
下面引用由fujianabc2005/09/18 05:47pm 发表的内容:
txtsetup.sif missing一般就是由rdimageoffset=xxxxx设置错误造成的,一般来说,这个数值是36352,但也有例外,你可以用16进制编辑器打开sdi看一下,是不是从36352字节以后就是一个分区镜像,如果不是,参数就要 ...
我那个SDI是128M,只有一个主分区,活动的。另用Hex编辑器打开Sdi文件时,分区镜像起始的标志有什么特征。我打开了一个Sdi文件36352处(8E00)为 EB 52 90 4E 54 46 53 ...
,明显 4E 54 46 53 表示NTFS ,就是不明白镜像起始的标志是什么?
作者: fujianabc    时间: 2005-9-18 20:06
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
用winhex的首扇区末班可以查看,EB 52 90 4E...是分区起始处,贴一下你的winnt.sif
作者: lxl1638    时间: 2005-9-18 20:15
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
丢,别说了,我不记起改Winnt.sif文件了,心太急了,哈哈。
作者: lxl1638    时间: 2005-9-18 20:16
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
好了,启动了,还得多谢你啊。
作者: wuyouman01    时间: 2005-9-18 21:43
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
winnt.sif
[SetupData]
BootDevice = "ramdisk(0)"
BootPath = "\I386\system32\"
OsLoadOptions = "/noguiboot /fastdetect /minint /rdimageoffset=36352 /rdpath=multi(0)disk(0)rdisk(0)partition(1)\Winpe.sdi"
作者: lxl1638    时间: 2005-9-18 23:15
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
我把那个PE改了,系统变量和环境变量基本改得正确,不加载那个RamDisk即B: ,
Sdi盘是128M ,压缩后还有37M自由空间,180M内存的虚拟机即可启动,比原来的256M
内存要求低了很多,呵呵。若就只用这些工具的话,做一个96M的Sdi盘足够了,估计
160M内存就能启动,问题不知在哪里我改错了,任务管理器中的性能这一项不见了,
虽不影响使用,总觉不爽。
[UploadFile=XPESDI_1127056512.png]
作者: fujianabc    时间: 2005-9-19 09:22
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
任务管理其性能项不见了?这应该不是sdi的问题吧,这可能是做pe时,误删了某文件。
作者: fujianabc    时间: 2005-9-19 09:25
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
wuyouman01,你ramdisk.sys是否替换了win 2003 sp1的,如果替换了,我怀疑还是sata驱动的问题,用此sdi试一下非sata的电脑,如果能启动成功,就是sata驱动的问题了
作者: tsunami    时间: 2005-9-19 09:44
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
下面引用由fujianabc2005/09/19 09:25am 发表的内容:
wuyouman01,你ramdisk.sys是否替换了win 2003 sp1的,如果替换了,我怀疑还是sata驱动的问题,用此sdi试一下非sata的电脑,如果能启动成功,就是sata驱动的问题了
你说的那种有没有详细教材啊?要哪些文件?
我找不到啊
作者: fujianabc    时间: 2005-9-19 13:30
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
下面引用由tsunami2005/09/19 09:44am 发表的内容:
你说的那种有没有详细教材啊?要哪些文件?
我找不到啊
看看这个帖子的7楼
http://bbs.wuyou.net/cgi-bin/topic.cgi?forum=34&topic=10056&start=0&show=25
作者: wuyouman01    时间: 2005-9-19 20:47
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
fujianabc大大:谢谢您热心帮助,要试SDI(SATA)上的要在本机才可以,这两天都在下载没什么时间,过两天再试试。
lxl1638:你的超悍小PE发现一个很奇怪的问题,我把 .IS_  放在VM虚拟硬盘的SCSI主分区启动,启动后C:正常,D:为可移动硬盘(卷标注释),狂晕!VM只有一个SCSI硬盘一个分区,没用什么优盘,是用PELDR+RAMDISK+.IS_启动的。
我把128M的PE和54M的PE整合在一张小光盘上很好玩,128M内存正常启动PE,256M内存启动RAMPE,哈哈,想不到我也这么高明,高实在是高。

作者: dfowe    时间: 2005-9-19 22:05
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
问题不知在哪里我改错了,任务管理器中的性能这一项不见了,
虽不影响使用,总觉不爽。
lxl1638,恭喜你制作SDI成功!我的任务管理器一直没问题。Sherpya的XPE说明说要把c:\windows\system32\emptyregdb.dat加到\i386\system32,你做了吗?
看你的图显示只有\programs被压缩了(蓝色),整个硬盘都可压缩的。
另外diskpart字母显示有问题。
作者: lxl1638    时间: 2005-9-20 01:54
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
下面引用由dfowe2005/09/19 10:05pm 发表的内容:
lxl1638,恭喜你制作SDI成功!我的任务管理器一直没问题。Sherpya的XPE说明说要把c:\windows\system32\emptyregdb.dat加到\i386\system32,你做了吗?
看你的图显示只有\programs被压缩了(蓝色),整个硬盘都可 ...
我现在还是在虚拟机中试的,在虚拟机中不要那个emptyregdb.dat ,任务管理器的问题我搞定了,我是去掉了那个Ramdisk即B: ,因为以SDI + Ram启动,它显得多余。基本问题已搞定,但还有不少工作要做。
作者: wellion888    时间: 2005-10-2 11:10
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
本人的128m_xpe.sdi安装过程及相关探讨:
1、先将准备安装的硬盘第一分区数据作好备份,在win2000以上系统中将其格式化为fat32文件系统
2、将工具目录下的全部文件复制到C:的根目录下(此处跳过教程中的3、4步),估计其中的bootpart.exe不复制也可,因为它的用途可能就是在本分区的操作系统引导扇区中写入win2000/xp/2003类系统的引导程序,这个工作步骤1也可完成。
3、在C:建立BOOT\GRUB这样的目录,并把工具目录下的BOOT\GRUB\MENU.LST
   复制到C:\BOOT\GRUB目录中
4、把128m_xpe.sdi文件也复制到C:的根目录下
5、编辑winnt.sif文件,将OsLoadOptions = "/noguiboot /minint /fastdetect /rdexportascd /rdpath=multi(0)disk(0)rdisk(0)partition(1)\XPE.ISO"中的“xpe.iso”更换为“128m_xpe.sdi”
6、重启。启动失败,提示找不到txtsetup.sif文件。估计这是在ramdik中未能正确加载sdi盘
7、编辑winnt.sif文件,将OsLoadOptions = "/noguiboot /minint /fastdetect /rdexportascd /rdpath=multi(0)disk(0)rdisk(0)partition(1)\128m_xpe.sdi"中加入“/rdimageoffset=36352”参数,变成OsLoadOptions = "/noguiboot /minint /fastdetect /rdimageoffset=36352 /rdexportascd /rdpath=multi(0)disk(0)rdisk(0)partition(1)\128m_xpe.sdi"
8、重启。启动失败,出现蓝屏和大半屏的英文出错提示。
9、编辑winnt.sif文件,将OsLoadOptions = "/noguiboot /minint /fastdetect /rdimageoffset=36352 /rdexportascd /rdpath=multi(0)disk(0)rdisk(0)partition(1)\128m_xpe.sdi"中的参数“/rdexportascd”去掉,变成OsLoadOptions = "/noguiboot /minint /fastdetect /rdimageoffset=36352 /rdpath=multi(0)disk(0)rdisk(0)partition(1)\128m_xpe.sdi"
10、重启。成功
/rdimageoffset=36352 、/rdexportascd这两个参数在分别用iso和sdi方式下,但其具体含意不清楚,请高人指点。
机器内存640M。
作者: lxl1638    时间: 2005-10-2 13:44
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
下面引用由wellion8882005/10/02 11:10am 发表的内容:
.....
/rdimageoffset=36352 、/rdexportascd这两个参数在分别用iso和sdi方式下,但其具体含意不清楚,请高人指点。
这个本身我也不明,管它的,知道这么回事能用就行了,如同 Format C: 能格C: 一样,至于它为什么能格C: ,只能MS才知道。
作者: fujianabc    时间: 2005-10-2 16:46
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
rdimageoffset参数的含义已在第一楼中说了,字面意思是也就是"ramdisk映像偏移量";rdexportascd字面意思我不懂,但加了它之后,ramdisk.sys驱动就把此映像的文件系统作为iso文件系统来处理。
作者: wellion888    时间: 2005-10-2 20:34
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
所以建议 lxl1638 大大在一楼的安装教程对这两个参数作个明确说明,以免后面来的人象我一样走弯路
作者: khauyeung    时间: 2005-10-2 21:02
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
下面引用由fujianabc2005/10/02 04:46pm 发表的内容:
....rdexportascd字面意思我不懂,但加了它之后,ramdisk.sys驱动就把此映像的文件系统作为iso文件系统来处理。
"rdexportascd" 应该读成 "rd export as CD", 也就是 "把 ramdisk 内容汇出成 CD" 的意思。
作者: fujianabc    时间: 2005-10-2 21:36
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
下面引用由wellion8882005/10/02 08:34pm 发表的内容:
所以建议 lxl1638 大大在一楼的安装教程对这两个参数作个明确说明,以免后面来的人象我一样走弯路
在一楼增加了rdexportascd参数的说明,还做了些小改动
作者: 天风    时间: 2005-12-1 14:13
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
请FUJIANABC详细说一下如何获取SDI的启动参数,做了个标准电源的XP EMBEDDED,可以在任何X86机子上启动,但是做SDI后用RAMDISK竟然启动不成功。
请指教!
作者: fujianabc    时间: 2005-12-1 18:23
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
[这个贴子最后由fujianabc在 2005/12/01 06:28pm 第 2 次编辑]
下面引用由hnlyzhd2005/12/01 02:13pm 发表的内容:
请FUJIANABC详细说一下如何获取SDI的启动参数,做了个标准电源的XP EMBEDDED,可以在任何X86机子上启动,但是做SDI后用RAMDISK竟然启动不成功。
请指教!
能不能帖一下你启动不成功的boot.ini文件,我来看一下。
需要注意的地方:
启动xp embedded时一般用rdimageoffset=4096
启动pe时一般用rdimageoffset=36352
sdi启动xp embedded时,不要用2003 sp1的ramdisk.sys来替换,保留本来的ramdisk.sys
作者: 天风    时间: 2005-12-1 22:29
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
ramdisk(0)\embedded="Windows XP Embedded" /fastdetect /rdpath=multi(0)disk(0)rdisk(0)partition(1)\xpe.sdi /rdimageoffset=4096
就是启动不了,郁闷!
作者: lxl1638    时间: 2005-12-1 22:42
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
下面引用由hnlyzhd2005/12/01 10:29pm 发表的内容:
ramdisk(0)\embedded="Windows XP Embedded" /fastdetect /rdpath=multi(0)disk(0)rdisk(0)partition(1)\xpe.sdi /rdimageoffset=4096
就是启动不了,郁闷!
老大,2K3或喂死它的Loader支持[color=#B22222]embedded这个参数?
我知道2K3的Loader支持I386这个参数,喂死它的Loader支持Windows这个参数。
你象WinDir做好Windows,看看2K3的Loader能不能加载。
作者: 天风    时间: 2005-12-2 12:41
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
不好意思我还以为启动目录能用呢,原来如此,我再重新生成XPE测试一下!
用不同的启动目录是好让其他朋友方便直接在C盘启动!
作者: fujianabc    时间: 2005-12-2 12:54
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
同意lxl1638的观点,ramdisk(0)后的路径不能随便改
作者: gege    时间: 2005-12-3 18:07
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
没有太看懂。收下看看
作者: 天风    时间: 2005-12-3 22:57
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
RAMDISK启动EMBEDDED的SDI镜像成功,下面把SDILOADER和SDIMGR的用处写出来大家共同学习它,同时感谢 GANDALF的指点和支持,在此表示感谢 !
1.Create a new sdi file
sdimgr /new image.sdi
创建一个SDI文件
2.Import the partition into SDI
sdimgr image.sdi /readpart:x:
必须先用SDILOADER.EXE虚拟一个目标盘来做
为读取的分区,把所以加的内容先写入到虚拟
分区中然后用上面的命令来加载到SDI中。
3.Import STARTROM.COM into the SDI BOOT blob
sdimgr image.sdi /import:BOOT,0,startrom.com
写入STARTROM.COM引导文件
4.Import NTLDR into the SDI LOAD blob
sdimgr image.sdi /import:LOAD,0,ntldr
写入NTLDR引导区
5.Pack the SDI to move the boot blob to tha front
sdimgr image.sdi /pack
打包SDI文件
6.Verify that the SDI contains the BOOT,LOAD,and PART blob
sdimgr image.sdi
校验SDI文件
++++++++++++++++++++++++++++
PART 0X00000000.000070000
LOAD 0X00000000.000070000
换算7000为10进制得到的数据就是RAMDISK启动SDI的启动参数。
作者: 天风    时间: 2005-12-3 23:11
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
同时咨询FUJIANABC另外二个问题。
第一打包后的SDI空间能不能扩大些或者直接删除里面的一些文件呢?
第二EMBEDDED开发时哪个组件添加时可以加入RAMDISK呢,实在找不到!
作者: 天风    时间: 2005-12-3 23:49
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
X86通用的 EMBEDDED
http://download.zol.com.cn/detail/10/95241.shtml
大家玩玩测试吧!
作者: 天风    时间: 2005-12-4 08:33
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
下面引用由lxl16382005/12/01 10:42pm 发表的内容:
老大,2K3或喂死它的Loader支持embedded这个参数?
我知道2K3的Loader支持I386这个参数,喂死它的Loader支持Windows这个参数。
你象WinDir做好Windows,看看2K3的Loader能不能加载。
事实证明用EMBEDDED参数是可以的也可以是任意参数只要不超过八个字符就行.
我已经启动成功,大家只要在检验SDI镜像时注意启动参数把它换算成十进制就行了.
作者: laohuya    时间: 2005-12-4 08:49
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
sdi启动有时蓝屏怎么回事
作者: fujianabc    时间: 2005-12-4 12:15
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
[这个贴子最后由fujianabc在 2005/12/04 12:16pm 第 1 次编辑]
下面引用由hnlyzhd2005/12/03 11:11pm 发表的内容:
同时咨询FUJIANABC另外二个问题。
第一打包后的SDI空间能不能扩大些或者直接删除里面的一些文件呢?
第二EMBEDDED开发时哪个组件添加时可以加入RAMDISK呢,实在找不到!
我来回答一下第一个问题,我曾经用十六进制编辑器研究过sdi文件的结构,发现sdi其实是一个分区镜像文件,只是在文件头上附加了几十KB的其它信息,打包之后,sdi的结构会发生变化,但是分区镜像部分依旧是连续的,只不过位置和原来相比发生了变化,因此sdi loader无法挂载打包后的sdi文件了,理论上可以想办法通过挂载那一部分镜像文件来修改,但是目前我还不知道有和软件可以达到此目的。当然,通过一些磁盘编辑软件可以修改镜像文件,但很麻烦。至于扩大或缩小镜像,这应该是不行的。
至于第二个问题,由于我很久没用embedde开发工具了,以前用时也没专门研究过ramdisk,因此回答不了这个问题。
作者: Gandalf    时间: 2005-12-4 17:46
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下

    - 路过。
    - 我就回答第一个问题。第二个问题,没有问题。^_^
对于此时的 SDI 可以增容和修改内容。不过,如果有 Embedded 的开发环境、
工具这样的离线修改,有点技术炫耀的嫌疑。“自然喜欢简单化,少作一点就
成了,多做却是无用。” :)    当然,诚如 Mr. Fujianabc 所言,我们可
以使用工具将这个分区提取出来,就像去年修改 Mr. hlk94 的 XP EMbedded
ISO 为硬盘版一样。
在 Windows 开发中,我们通常将一个分区、一个设备、一个硬盘当作一个文件
来读取,那么,从这个技术角度来说,这个 sdi 里面的 partiton 是逃不出
这个宿命的。我们可以开发一个工具来实现这种“离线”编辑,尽管意义不大。
--------------------------------------
Bl, 你看我都说了些什么,Amen. ^_^

作者: lxl1638    时间: 2005-12-4 21:03
标题: 推荐:ramdisk+sdi启动winpe不成功的可以到这来看一下
下面引用由useronce2005/12/04 05:46pm 发表的内容:
    - 路过。
    - 我就回答第一个问题。第二个问题,没有问题。^_^
对于此时的 SDI 可以增容和修改内容。不过,如果有 Embedded 的开发环境、
工具这样的离线修改,有点技术炫耀的嫌疑。“自然喜欢简单化 ...
useronce老大终于露面了,好几天不见你出来了,一定又是搞新作吧?
作者: 01032051    时间: 2008-2-24 14:30
正是要找这些资料
作者: lxl7161    时间: 2017-11-24 22:51
老师你好,看到你发的这篇帖子特来请教,我用通用PE映像中的WINPE.IS_解压添加boot.sdi文件打包为WIM格式,然后替换深度PE4.2映像中的Boot.wim,测试出现loading ramdisk image进度条走完100后停止不动,怀疑winnt.xpe中参数可能不对,但不懂这个偏移量和长度的意思,所以请老师指点迷津,我打包用的boot.sdi文件是原来深度PE映像boot.wim中的,是否这样做的方法不对,原深度PE的winnt.xpe中代码如下:
[SetupData]
BootDevice = "ramdisk(0)"
BootPath = "\WXPE\System32\"
OsLoadOptions="/fastdetect /minint /rdimageoffset=8192 /rdimagelength=3161088 /rdpath=MINIPE\Boot.WIM"
问度娘也找不到很多相关的资料,走投无路请老师百忙中不吝赐教




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3