首页 > 技术文章 > 在不格式化原有系统盘的情况下,利用grub4dos+firadisk制作RamOS VHD Win7总结

liuzhaoyzz 2016-11-15 16:39 原文

在不格式化原有系统盘的情况下,利用grub4dos+firadisk制作RamOS VHD Win7总结
在不格式化原有系统盘的情况下,用grub4dos+firadisk安装WIN7到VHD,内存大的可以启动RamOS,步骤如下:
1、工具:grub4dos,firadisk驱动包,bootice,苏博论坛prosen精简的32位WIN7_7658,WIN7或WIN7PE,WinContig软件,Ghost32.11.0。推荐内存大小≥8G。
2、进入WIN7或WIN7PE,右击我的电脑→管理→磁盘管理,创建一个固定容量VHD虚拟硬盘文件,以E:\RAMOS\win77658.vhd为例,在虚拟磁盘上选初始化,并创建简单卷,格式化为ntfs默认格式,【启用NTFS压缩】,同时设为活动分区。一般地vhd容量要足够大,确保大于gho解压后体积+临时解压文件+物理内存*1.5(虚拟页面文件),有的系统会根据内存大小自动取消虚拟页面文件,这里以4G为例,以后可以关闭虚拟内存采用NTFS压缩减小vhd体积。给vhd虚拟磁盘重新指定一个盘符,以A:盘为例。
3、运行WIN7LITE7658EX.exe,目标盘选择A:盘,如果是ghostWIN7,用ghost32.11.0把WIN7.gho镜像文件灌入虚拟磁盘A:盘。必要时用wincontig整理下E:\RAMOS\win77658.vhd确保里面的文件连续存放。
4、因为bootmgr原生支持VHD启动,为了方便,把原有的操作系统改成bootmgr引导,用bootice把MBR和PBR改成windows NT6.X,把bootmgr拷贝到C:\根目录,编辑C:\BOOT\BCD,添加两项:①添加VHD启动项Boot from VHD,选择好启动磁盘和启动分区,设备文件填写\RAMOS\win77658.vhd,注意不要带盘符,因为盘符在前面已经选择过了,勾上禁用数字签名认证。②添加grub4dos启动项Boot from grub4dos,启动磁盘选择真实硬盘,分区选择C:,设备文件手工输入\grldr或者\grldr.mbr都可以,timeout设置为2秒。再把glrdr和grldr.mbr拷贝到C:\根目录下。
5、重启电脑,选择Boot from VHD,E:\RAMOS\win77658.vhd第一次启动,顺利启动后,打开设备管理器,单击本机,然后单击【操作】下拉菜单→添加过时硬件→从磁盘安装,选择firadisk.ini安装好firadisk驱动,根据提示禁用驱动签名,然后安装好主板网卡声卡显卡驱动,根据需要重启,然后安装必要的软件。安装好prosen精简的32位WIN7_7658后C盘占用780MB,装了驱动和几个软件后占用1.3GB。
6、在grldr.mbr同目录建立menu.lst菜单文件,选择RamOS(win7)就可以启动RAMOS VHD WIN7,选择WIN7VHD+firadisk Modify可以进入修改模式,当然从bootmgr启动→BCD选择Boot from VHD也能修改VHD系统。
menu.lst菜单如下:
#font (bd)/boot/grub/unifont.hex
color border=0xEEFFEE
#graphicsmode -1
color white/blue blue/yellow light-red/blue 10
#color white/black light-gray /black white/magenta white/magenta
#color black/cyan yellow/cyan
#color dark-gray/blue black/light-gray white/black green/black
foreground FFFFFF
background 0000AD
timeout 3
default 0

title boot Windows by zhaohj
find --set-root --devices=h /ntldr || find --set-root --devices=h /bootmgr
map () (hd0)
map (hd0) ()
map --rehook
find --set-root --devices=h /ntldr || find --set-root --devices=h /bootmgr
#rootnoverify (hd0,0)
chainloader /ntldr || chainloader /bootmgr

title RamOS(win7)
find --set-root /RAMOS/win77658.vhd
map --mem --top /RAMOS/win77658.vhd (hd0) || map --top /RAMOS/win77658.vhd (hd0)
map (hd0) (hd1)
map --hook
chainloader (hd0,0)/bootmgr

title WIN7VHD+firadisk Modify
password=123
find --set-root /RAMOS/WIN7LITE.vhd
map --heads=2 --sectors-per-track=18 --mem (md)0x800+4 (99)
map /RAMOS/WIN7LITE.vhd (hd0)
map (hd0) (hd1)
map --e820cycles=-1
#进入grub4dos后按e键按要求修改为1-4防止蓝屏。
map --harddrives=1
map --hook
write (99) [FiraDisk]\nStartOptions=disk,vmem=find:/RAMOS/WIN7LITE.vhd;\n\0
chainloader (hd0,0)/bootmgr
7、第一次启动RAMOS VHD WIN7,系统会提示找到firadisk内存盘,提示需要重启,这时候先不要重启,在运行里输入regedit,打开注册表编辑器,导出HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\FIRADISKA项另存为一个注册表文件,如:f1.reg,查看FIRADISKA项下的ClassGUID项的值,按ClassGUID项的值找到HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class项下的对应FIRADISKA的ClassGUID值,并导出其主键,另存为f2.reg。关闭注册表,分别编辑f1.reg及f2.reg,把其中的"\SYSTEM\”替换为"\ttt\",搜索注意加上前后的"\"。
8、重启电脑进win7pe,附加虚拟硬盘文件E:\RAMOS\win77658.vhd为A:盘。打开注册表编辑器,鼠标选中HKEY_LOCAL_MACHINE项,选上面的文件-加载配置单元,浏览虚拟的A:\WINDOWS\SYSTEM32\CONFIG里的SYSTEM文件,加载为"ttt",然后导入f1.reg及f2.reg,再选中注册表中的ttt项,选文件-卸载配置单元。就可把firadisk驱动虚拟的ram盘信息保存到E:\RAMOS\win77658.vhd了,再从系统磁盘管理中分离vhd文件,重启再从grub4dos进ramwin7就ok了。
参考:以VHD方式制作Win7-RAMOS - VHD系统区 - 无忧启动论坛 - Powered by Discuz!
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=310280&extra=page%3D7

 

推荐阅读