无忧启动论坛
标题:
win7子母vhd分离一法
[打印本页]
作者:
2012wuzhong
时间:
2013-10-18 18:46
标题:
win7子母vhd分离一法
首先声明:
1、涉及到磁盘操作,请提前做好数据备份!
2、部分驱动包括注册表system文件更改后需要手工进行更新。但对于家庭版、专业版绝对是个福音,只需要修改一次"ProductPolicy"就可以永久启动vhd。
主要原理来源于“基于primo差分vhd-win7-ramos v1.1”,
http://user.qzone.qq.com/1543764 ... &pos=1351430770
先作如下假设:
1、vhd虚拟盘盘符为"C"
2、分区1,//盘符为"D"
└─vhdos //此目录可随自己喜好取名,可以是实体目录也可以junction到其它分区,包括内存盘。
└─w7_child.vhd //真正的子盘,内容会更新,体积会增大
3、分区2,//盘符为"E"
└─vhdos //此目录必须与上述同名
├─w7_mother.vhd //母盘,动态扩展模式
└─w7_child.vhd //仅用于启动,内容、体积不会变,名字必须与上述同名
主要步骤:
1、创建VHD差分磁盘:
打开"cmd"命令提示符窗口键入"diskpart",再键入:
create vdisk file="E:\vhdos\w7_child.vhd" parent="E:\vhdos\w7_mother.vhd"
将"E:\vhdos\w7_child.vhd"拷入到"D:\vhdos\w7_child.vhd"。
需要特别注意,系统启动以后子vhd是通过创建时键入母盘路径("E:\vhdos\w7_mother.vhd")来寻找母盘的,而创建时分区2如果不为"E",就需要有一个"E"盘来进行中转。
2、使用bootice分区管理功能查看硬盘分区1和2的起始扇区号。将两者相减得到一个值,如"125843697";同时记录分区2的总扇区数,如"251672400";备份硬盘的主引导记录mbr为文件(只需备份1个扇区)。
3、为了能够使分区2模拟分区1,需要在分区2的前几个扇区(=分区1的起始扇区号,如"63")写入硬盘mbr,可以用最新版本的bootice来实现。参见“给分区2添加mbr.jpg”
如果分区1与分区2之间没有足够空隙,可以使用DiskGenius专业版来调整分区1大小,修改终止扇区号(原值-分区1的起始扇区号)。
4、拷贝boot启动目录以及启动文件bootmgr到第2分区,使用bootice处理镜像文件boot目录中的bcd文件,需要有一个基于vhd的启动项,启动磁盘选"BOOT",设备文件项填"\vhdos\w7_child.vhd"。
5、需要使用grub4dos启动,编辑menu.lst文件添加一个启动菜单:
title w7_child.vhd
map --sectors-per-track=63 --heads=255 (hd0)125843697+251672400 (hd0)
map --hook
chainloader (hd0,0)/bootmgr
说明:
1、涉及到驱动安装以及system文件的更改,需要在另一个系统下将"E:\vhdos\w7_child.vhd"中相关内容手工更新到"D:\vhdos\w7_child.vhd",更新目录列表:
└─windows
└─system32
├─drivers //重点关注早于vhdmp.sys加载的驱动
└─config //只需要更新system,对于家庭版、专业版,需要再次修改"ProductPolicy"
2、通过修改注册表,可以阻止系统启动后vhd文件占用最大体积。
reg add hklm\system\ControlSet001\services\FsDepends\Parameters /v VirtualDiskExpandOnMount /t REG_DWORD /d 4 /f >nul 2>nul
给分区2添加mbr.jpg
(406.52 KB, 下载次数: 90)
下载附件
2013-10-18 18:46 上传
作者:
freesoft00
时间:
2013-10-18 19:04
看一下方法,谢谢分享
欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/)
Powered by Discuz! X3.3