页面

2011年1月26日

用Ghost将Windows7装到差分VHD里

前言

VHD(Virtual Hard Disks),虚拟磁盘文件格式,关于VHD的介绍,网上一大把,我就不写了(偷懒),其实也就和Ubuntu里的wubi差不多,顺便一说,支持从VHD启动的只有企业版和旗舰版。

VHD的缺点

  1. 安装麻烦
  2. 无法使用Windows7自带的体验指数,因为无法测量磁盘性能
  3. 无法使用休眠功能,可以使用睡眠

准备工作

  1. 一个Ghost32,也就是在Windows上运行的Ghost
  2. 一个可以使用的Windows7或WinPE3.0
  3. 本文以差分VHD为例,所以有主VHD和子VHD,下文将以D:\win7-ultima-32bit-main.vhd表示主VHD,D:\win7-ultima-32bit-child.vhd表示子VHD

开始实践

一、安装一个新的Windows7

首先用喜欢的方法(例如光盘安装或硬盘安装)将Win7安装到物理磁盘上,推荐关闭虚拟内存,或将虚拟内存设置到非系统盘。此步只是为了得到一个Ghost镜像文件,如果已经有Windows7的gho备份文件可以直接跳到第三步

二、生成gho备份文件

启动到Ghost32下,对第一步安装的Windows7进行备份,得到一个gho文件

三、创建主VHD

启动到Windows7或WinPE3.0下,去到控制面板——系统和安全——管理工具——计算机管理,右键点击磁盘管理,选创建VHD
32位版的Windows7旗舰版推荐大小为15G,64位的推荐20G以上,保存位置随便填,需要注意是由于用到差分VHD,磁盘剩余空间需要有两倍于vhd文件容量,比如创建一个15G大小的vhd并放到D盘,那么D盘需要有30G的剩余空间,因为用到Ghost,必须使用固定大小格式。等待创建完成,在磁盘管理里为VHD分区和格式化,对其分配盘符,我分了个W盘给这个vhd,然后可以在我的电脑里看到这个vhd磁盘了。

四、还原Ghost镜像到主VHD里

再次启动到Ghost32下,用第一步制作的gho还原到W盘里。

五、分离主VHD

去到磁盘管理里,分离这个vhd(类似于Linux下的umount)


六、创建子VHD

用系统管理员打开命令提示符,输入下面命令
# 运行diskpart工具
diskpart

# 创建一个基于D:\win7-ultima-32bit-main.vhd的子vhd,命名为win7-ultima-32bit-child.vhd
create vdisk file=D:\win7-ultima-32bit-child.vhd parent=D:\win7-ultima-32bit-main.vhd

# 为子vhd分配一个盘符
select vdisk file=D:\win7-ultima-32bit-child.vhd
attach vdisk
assign letter=w

七、生成启动信息

继续用系统管理员打开命令提示符,定位到 W:\Windows\System32 下,运行下面的命令
bcdboot W:\Windows /S C: /L zh-cn
解析一下
  • W:\Windows 为vhd里的windows根目录位置。
  • /S C: 指定启动文件位置(也就是那个BCD文件所在的盘符),一般指向物理磁盘的活动分区。
  • /L zh-cn 指定启动语言为简体中文。

八、重启

确认完成上面七个步骤并且没有出现错误后,可以重启进这个VHD里的Windows7了。

备份还原VHD

对于差分VHD来说,备份还原也就是复制粘贴(或者压缩与解压缩),都是对子VHD进行操作。例如备份,先启动到WinPE下,对D:\win7-ultima-32bit-child.vhd进行压缩,还原也就是解压缩。我的3.16G的子VHD,用7z.exe -mx9 -m0=lzma2压缩后只有658M。

参考资料


全文完

2011年1月23日

关于Win7“无法度量视频播放性能”的解决方法

不知从什么时候开始,我的Win7里那个体验指数一直显示为“未分级”,记得刚开始用Win7时是显示的,然而手动点击分级,会出现下面这样的提示。

在Google搜,找到的基本都是说显卡驱动的问题,不过我试了几个版本的驱动(nvidia 186.18260.99),问题依旧,今天有空,又搜了下,终于给我找到解决的方法了,原来问题出在TEMP文件夹的容量上

由于有8G的内存,之前曾将Windows的TEMP文件夹设置到内存上,不过当时只设置了512M给TEMP用,然后一直都没什么问题,也就忘记了。然而今天搜到一篇文章说这个问题和系统盘空间不够有关,我的系统盘有5G剩余,应该不是空间大小的问题,然后我突然想起我的TEMP是设在内存上的,难道是这个问题?于是马上将TEMP设回硬盘上,再一次系统分级,这次成功了!粗略的看了下TEMP下文件的变化,Win7在系统分级时会在TEMP下生成了两个文件,有1G左右的大小,而我之前的TEMP只有512M,空间不够自然就出现“无法度量视频播放性能”这个错误了。

下面是正在评估磁盘性能时TEMP下文件的变化,两个文件加起来有1G了。

最后来一张体验指数截图 (^_^)/~~

全文完