在不格式化原有系统盘的情况下,利用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

在不格式化原有系统盘的情况下,利用grub4dos+firadisk制作RamOS VHD Win7总结的更多相关文章

  1. 平板不能设置代理的情况下利用随身wifi进行http代理访问

    需求来源:平板或手机是个封闭系统无法给wifi设置代理,需要利用filllder进行抓包,内容篡改等实验 拥有硬件资源:PC机器 + 小米随身wifi 方案1: NtBind Dns + Nginx ...

  2. Windows8.1 安装SQL Server2012——部分组件安装不成功!(提示安装.NET 3.5时出错,无Internet情况下利用win8.1安装镜像安装.NET 3.5)

    虽然从事着与开发毫无关系的工作,但却也断断续续维持了近6年的WEB开发,有时因为其它工作原因,可能每做一个项目的时间间隔比较大,有时甚至在做的一个项目因为其他事情而停滞几个月之久(有些项目是自己兴趣或 ...

  3. Centos文本方式安装情况下lvm分区的创建

    作者:马 岩(Furzoom) (http://www.cnblogs.com/furzoom/)版权声明:本文的版权归作者与博客园共同所有.转载时请在明显地方注明本文的详细链接,未经作者同意请不要删 ...

  4. 迁移/home目录至新硬盘分区总结--无备份情况下

    搞了一天,终于成功迁移.由于一开始就没备份过程实在很曲折. 希望本篇对那些没有备份习惯的朋友们有所帮助. 准备工作: sudo vim /etc/fstab 在文件中加入: /dev/sdb8     ...

  5. 在高并发、高负载的情况下,如何给表添加字段并设置DEFAULT值?

    在高并发.高负载的情况下,如何给表添加字段并设置DEFAULT值? 在Oracle 12c之前,当Oracle表数据量上亿时,对表执行“ALTER TABLE XXX ADD COLUMN_XX VA ...

  6. 在不重装系统的情况下创建Linux的Swap分区

    本文由荒原之梦原创,原文链接:http://zhaokaifeng.com/?p=649 操作环境: CentOS 7 操作背景: 本文中使用的CentOS Linux系统在安装的时候没有创建Swap ...

  7. Linux,在不使用U盘的情况下使用wubi.exe程序在Win7上安装ubuntu-14.04.3版系统

    本文介绍如何在不使用U盘的情况下使用wubi.exe程序在Win7上安装ubuntu-14.04.3版系统. 花了一天的时间终于安装上了Ubuntu14.04,过程坎坷,是血泪史,开始报“cannot ...

  8. Solaris10镜像情况下如何修复boot archive

    在某些情况下(比如:异常宕机)solaris10的boot archive可能会损坏,导致solaris无法启动,此时需要手工修复boot archive. 本文通过模拟boot archive损坏, ...

  9. Linux 在不重启的情况下识别新挂载的磁盘

    在使用 Linux 时,有时候会因为初始时磁盘空间分配估计不足,使用中需要将挂载点扩容的情况,这就需要我们挂载新的磁盘.但是如果我们在 Linux 运行过程中挂载磁盘, Linux 又不能在不重启的情 ...

随机推荐

  1. NSString(或者说是UILabel)加入 “行间距” 之后的 “高度”计算

    一.首先,写一个工具类(NSString的分类,增加两个功能,计算高度宽度) #import "NSString+Extension.h" @implementation NSSt ...

  2. 两种方法解决tomcat的 Failed to initialize end point associated with ProtocolHandler ["http-apr-8080"]

    出现这种原因主要是8080端口被占用了. 解决1: 打开任务管理器看看里面有没有javaw的线程,把它关了再重新启动tomcat看看. 解决2: 修改tomcat /conf /server.xml ...

  3. ASP.NET 5

    docs.asp.net installing on windows Choosing the Right .NET For You on the Server DotNetCore: DotNetC ...

  4. 一种构造WEB服务器端recv和send接口阻塞现象的方法

    send阻塞 socket recv send接口阻塞,会导致服务器端不在响应客户端任何请求,所以一般情况, 会将socket设置为非阻塞状态, 但是有些场景,例如ssl_accept就需要使用阻塞的 ...

  5. startup.c

    在Startup.s文件中包含一个startup的入口函数,该函数为EBOOT的最开始的入口.在系统上电或者冷启动的时候,这是第一个被执行的函数.该函数都是由汇编语言编写的,完成基于硬件平台的最初的初 ...

  6. Idea 常用快捷键列表

    Idea 常用快捷键列表 Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L 格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Insert ...

  7. C#.NET 字符串转数组,数组转字符串

    string str = "1,2,3,4,5,6,7";            string[] strArray = str.Split(','); //字符串转数组      ...

  8. AJAX-----05XMLHttpRequest对象的用post方式进行ajax请求

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. bug检测报告---礼物挑选小工具--飞天小女警

    飞天小女警----礼物挑选小工具 测试产品链接:http://123.207.159.79:8088/giving_gifts/ 发布在作者的博客里面:http://www.cnblogs.com/s ...

  10. [2]R语言在数据处理上的禀赋之——可视化技术

    本文目录 Java的可视化技术 R的可视化技术 二维做图利器plot的参数配置 *权限机制 *plot独有的参数 *plot的type介绍 *title介绍 *公共参数集合--par *par的权限机 ...