无忧启动论坛

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

[原创] fira+primo构建u盘win7x86差分vhd系统

[复制链接]
跳转到指定楼层
1#
发表于 2013-6-10 11:46:07 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 2012wuzhong 于 2013-6-10 13:31 编辑

主要思路:
1、使用g4d模拟一个scsi虚拟内存盘,后续由fira驱动。该虚拟盘用于充当差分vhd的宿主。
2、由于启动的时候子母vhd需要在同一个目录下,因此启动盘必须打上vhd宿主盘的烙印。这里将借用u盘1号扇区,将vhd宿主盘的磁盘签名及分区表信息拷贝到1号扇区,使用g4d从u盘的1号扇区开始虚拟,这种虚拟盘既具有vhd宿主盘的烙印又具有u盘原有的vhd文件。
3、启动以后为了让子vhd文件取之于primo内存盘,需要对vhd宿主盘进行junction操作,将vhd目录链接到primo内存盘。

限制说明:
1、需要使用相关的量产工具将u盘类型改为“本地盘”。
2、primo镜像文件需要放置在本地硬盘上。如果将镜像文件放置到g4d虚拟的内存盘上则出现12f蓝屏。

主要步骤:
1、使用相关的量产工具将u盘类型改为“本地盘”。

2、处理u盘:
     //使用bootice处理mbr,安装g4d引导grldr.mbr
     //使用bootice编辑1号扇区,按vhd宿主盘的mbr更改磁盘签名和分区表信息,参见图例。
   |  bootmgr,grldr,menu.lst //拷入启动文件       
   |--boot //拷入win7启动目录
       |  bcd //使用bootice处理,需要有一个基于vhd的启动项,启动磁盘选"BOOT",设备文件项填"\vhdos\w7636_child.vhd"       
   |--vhdos //按自己喜好建一个放置vhd文件的目录
       |  w7636.vhd,w7636_child.vhd //子母vhd文件,动态模式,按自己喜好取名
       |  b_link.img //完全镜像,大小9M,g4d模拟fira驱动

3、安装primo内存盘,盘符设为"B",io模式,智能镜像,镜像文件设置在硬盘某个分区
   |--temp //系统所有的临时目录,设置环境变量temp到此
   |--vhdos //
       |  w7636_child.vhd //与u盘对应目录中的文件相同

4、fira内存盘,vhd的宿主,镜像文件为u盘/vhdos/b_link.img
   |--vhdos //junction目录,链接到"b:\vhdos"

5、menu.list
title fira+primo w7636_vhd_u
map --mem (hd0,0)/vhdos/b_link.img (hd1)
map --hook
dd if=(hd1) of=(hd1) count=1 seek=1
# 设置vhd宿主盘的磁盘签名为940061ce,这里可以根据自己喜好更改,但需要注意必须与u盘1号扇区中的一样,另外与其他盘不能一样
write --offset=952 (hd1) \x94\x00\x61\xce
write --offset=959 (hd1) \x00\x3f
write --offset=966 (hd1) \x3e
map --heads=255 --sectors-per-track=63 (hd1)1+8353737 (hd1)
# 这里8353737代表4G优盘的总扇区,需要相应更改,可使用bootice“分区管理”查看
map (hd0)1+8353737 (hd0)
map --hook
chainloader (hd0,0)/bootmgr

6、注册表操作:
rem 设置u盘启动标志
reg add hklm\system\ControlSet001\Control /v BootDriverFlags /t REG_DWORD /d 4 /f >nul 2>nul
reg add hklm\system\ControlSet001\Control\PnP /v PollBootPartitionTimeout /t REG_DWORD /d 30000 /f >nul 2>nul
rem 去除vhd固定占用最大空间
reg add hklm\system\ControlSet001\services\FsDepends\Parameters /v VirtualDiskExpandOnMount /t REG_DWORD /d 4 /f >nul 2>nul

1号扇区修改.jpg (300.47 KB, 下载次数: 62)

1号扇区修改.jpg
2#
发表于 2013-6-12 09:15:58 | 只看该作者
牛逼!!!!复杂!!!!
回复

使用道具 举报

3#
发表于 2013-6-12 09:46:41 | 只看该作者
扇区修改能否再详细些?怕搞错了。搞错可有办法恢复?

点评

扇区修改确实需要格外谨慎,建议恶补一下相关知识。 对硬盘mbr的操作更要慎之又慎,建议备一个u盘启动的win7pe,在操作前先备份,出问题后在win7pe下进行恢复。  详情 回复 发表于 2013-6-12 10:17
回复

使用道具 举报

4#
 楼主| 发表于 2013-6-12 10:17:47 | 只看该作者
wanghh 发表于 2013-6-12 09:46
扇区修改能否再详细些?怕搞错了。搞错可有办法恢复?

扇区修改确实需要格外谨慎,建议恶补一下相关知识。
对硬盘mbr的操作更要慎之又慎,建议备一个u盘启动的win7pe,在操作前先备份,出问题后在win7pe下进行恢复。
回复

使用道具 举报

5#
发表于 2013-6-12 19:51:48 | 只看该作者
看蒙圈了,负责啊,唉,懒的折腾了,ibm g40.攒钱配电脑
回复

使用道具 举报

6#
发表于 2013-10-16 11:33:37 | 只看该作者
本帖最后由 念青 于 2013-10-16 11:41 编辑

Gurb4dos中哪一句是用于启动差分硬盘的?撇开内存盘不谈,G4D启动差分硬盘是通过什么?firadisk是不支持差分VHD的,是不是primo支持差分VHD?primo 不是内存盘吗?

另外,WinVBlock是不是支持差分VHD?

我的需求其实是启动差分VHD XP,firadisk似乎不能做到,VBOOT可以做到,但VBOOT在H61主板上仅支持504MB内存,只能放弃。




PS:看明白了,

bcd //使用bootice处理,需要有一个基于vhd的启动项,启动磁盘选"BOOT",设备文件项填"\vhdos\w7636_child.vhd"  

原来是用BCD启动差分硬盘。那这个XP就不通用了。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-2-23 13:10

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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