无忧启动论坛

标题: gpt单硬盘win7x86差分vhd系统 [打印本页]

作者: 2012wuzhong    时间: 2014-2-17 22:08
标题: gpt单硬盘win7x86差分vhd系统
本帖最后由 2012wuzhong 于 2014-2-17 22:09 编辑

首先声明:
1、bios启动而不是efi
2、只在虚拟机中实现,实体机未测试

大致原理:
bios启动->xorboot主引导(位于0号磁盘)->xorboot辅助代码(位于某2个分区之间)->grldr(位于系统分区)->g4d模拟primo内存盘mbr(位于系统分区前的63个扇区)->BOOTMGR启动系统分区中的差分vhd系统->primo驱动载入镜像文件生成primo内存盘->系统从primo内存盘中加载差分vhd系统(primo内存盘中使用junction链接,真正的文件位于系统分区)
参考:“基于primo差分vhd-win7-ramos v1.1”,http://user.qzone.qq.com/1543764927

主要步骤:
1、安装u盘vhd系统,安装primo内存盘,确保如下注册表操作:
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

2、用bootice查看系统分区(我的系统分区为2号分区)前63扇区位置是否未被占用,如果占用请使用dg软件进行分区调整。并记录起始扇区号,如467104,虚拟mbr的位置为467104-63=467041

3、用bootice查看是否存在某2个分区之间有间隙,用于存放xorboot辅助代码(可能需要100个以上的扇区)。如2号与3号之间留有2000个左右的扇区,存放位置应>467104+41942920,如42410032

4、布置xorboot,修改或添加菜单项:搜索并启动grldr,辅助扇区设为42410032

5、用bootice将内存盘mbr复制到系统分区前63个扇区处,如467041。修改终止位置信息为fe ff ff(位于01c3),修改总扇区数为ff ff ff ff(位于01ca)

6、primo内存盘中建立junction链接(g盘为内存盘,d盘为系统分区)
junction g:\vhdos d:\vhdos

7、修改menu.lst

作者: yang77    时间: 2014-2-18 23:49
江湖大佬的技术总是这么深奥而玄妙!
作者: fujianabc    时间: 2014-2-19 12:20
bios+gpt方式意义不大:小于2TB的硬盘,一般没必要用GPT。大于2TB的硬盘,bios访问大多会出问题,所以大于2T的硬盘启动一般用EFI+GPT。




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