无忧启动论坛

标题: 关于wimboot的指针文件装入vhd后的启动 [打印本页]

作者: sztopms1    时间: 2015-7-12 21:32
标题: 关于wimboot的指针文件装入vhd后的启动
本帖最后由 sztopms1 于 2015-7-14 10:01 编辑

在论坛贴子的帮助下:
windows 8.1 with update,32位。
做成 wimboot 启动, wim 文件和指针文件分开放,其中指针文件放到 vhd 中。
进行bcdedit 操作,添加wimboot启动菜单,成功。

现在想把放在vhd中的指针文件部分做成RAM,于是在正常的wimboot后,加入了firadisk驱动。

copy了 grldr、grldr.mbr 文件,做了个 menu.lst 文件,内容如下:

find --set-root /win81up.vhd
map --mem --top /win81up.vhd (hd0)
map (hd0) (hd1)
map --hook
root (hd0,0)
chainloader (hd0)+1

启动,根据屏幕提示看,map --mem 等执行都正常,但在 chainloader 后就出现 : a disk read error occurred

似乎是vhd有问题? 查了vhd文件的 MBR、分区表等,都没有错误。

各位有遇到过这情况的吗? 可否指点一二?

---- 已经解决。不知在操作的过程中哪一步出错(怀疑是工具软件的bug),VHD在重新格式化时显示格式是FAT,而不是 NTFS。修改后,问题解决。谢谢大家 !
作者: ducs    时间: 2015-7-12 22:01
好象要加入nt6boot的文件
作者: sztopms1    时间: 2015-7-12 22:28
谢谢楼上回复!

之前这样操作过:
      单独用win8.1 with update 的ISO光盘进行完整安装,然后将启动盘目录下的 Boot目录及其中的文件复制出来,再放到了 wim 文件中 或 直接放到指针文件中。
       我觉得应该是放在wim中才对,不过 DISM /Apply-Image 操作后,指针文件中也会有Boot这个目录。

       但两种操作的结果一样,还是出同样的错。

作者: 2012liujingxion    时间: 2015-7-12 23:07
我个人觉得应该是VHD里面的分区没有激活,所以引导错误。我以前就碰过一次。
作者: sztopms1    时间: 2015-7-12 23:32
本帖最后由 sztopms1 于 2015-7-12 23:50 编辑

回楼上,是激活的。

不知道是不是 firadisk 与 wimboot 启动的冲突。



作者: 2012liujingxion    时间: 2015-7-12 23:34
sztopms1 发表于 2015-7-12 23:32
回楼上,是激活的。

不知道是不是 firadisk 与 wimboot 启动的冲突。

firadisk 与 wimboot 启动 并没有冲突,我测试过的,启动正常。
作者: x9tian    时间: 2015-7-13 00:58
要个屁的firadisk驱动,直截bootmgr按正常的VHD引导配置bcd就行了
作者: yueyezhan    时间: 2015-7-13 01:38
你先把firadisk驱动离线安装后,再用dism /wimboot参数capture ,然后再用wimboot参数释放指针部分到vhd,分别测试map 和map --mem模式启动这个vhd
作者: yueyezhan    时间: 2015-7-13 01:40
我的过程是这样的,64位的vhd
map或者map --mem启动wimboot的vhd

建立vhd之后,用diam /apply-image 释放wim到vhd
Dism /Apply-Image /ImageFile:"i:\images\81up32.wim" /ApplyDir:"k:" /Index:1


64位用dism /image /add-driver /ForceUnsigned 参数添加未签名的firadisk驱动
dism /image:k: /add-driver /driver:"I:\FiraDisk\AMD64\FIRADISK.INF" /ForceUnsigned

挂载vhd的注册表system 补全注册表
reg load hklm\tttt "k:\Windows\System32\config\SYSTEM"
psexec64 -i -d -s regedit "I:\fira64.reg"
reg unload hklm\tttt

用dism /capture-image /wimboot 参数捕获这个vhd的wim

Dism /Capture-Image /WIMBoot /ImageFile:"d:\Windows images\system.wim" /CaptureDir:"g:" /Name:"WIMBoot System"

分离vhd,然后建立一个固实的vhd,用Dism /Apply-Image释放捕获的wim到这个vhd
Dism /Apply-Image /ImageFile:"i:\images\81up32.wim" /ApplyDir:"k:" /Index:1 /WIMBoot

用bcdboot建立vhd的启动
bcdboot k:\windows /s k:

用bcdedit打开这个vhdbcd的测试模式
bcdedit /store k:\boot\bcd /set {default} testsigning on

用grub4dos以map模式启动此vhd,设置完毕后关闭此vhd系统


回到主系统后,挂载这个vhd,然后用/Capture-CustomImage将刚才的wim文件的增量文件更改捕获到新文件 custom.wim
Dism /Capture-CustomImage /CaptureDir:G:

格式化这个vhd或者分离后建立一个更小的固实vhd


用 dism /apply-image将custom.wim释放到这个vhd
dism /apply-image /imagefile:d:\WindowsImages\custom.wim /swmfile:d:\WindowsImages\wimboot.wim /applydir:k: /index:1 /wimboot

删除此vhd的bcd,然后再用bcdboot建立bcd后,打开测试模式

最后以map --mem模式启动



作者: fanggong    时间: 2015-7-13 07:03
不错,持续关注中!
作者: sztopms1    时间: 2015-7-14 09:28
yueyezhan 发表于 2015-7-13 01:40
我的过程是这样的,64位的vhd
map或者map --mem启动wimboot的vhd

总算解决了! 问题还是出的vhd的格式上。

不知道什么原因,我的VHD在格式化成NTFS,然后放指针文件上去之后,居然是FAT格式的!NTFS居然“自动”变了,百思不得其解!
谢谢大家!

另外,你能否提供一下fira64.reg 和 fira32.reg? 有这个就可以做离线安排了。
作者: yueyezhan    时间: 2015-7-15 12:43
32和64位应该是通用的

fira64.zip

1.39 KB, 下载次数: 21, 下载积分: 无忧币 -2






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