标签归档:Windows

让 Hyper-V 和 VMware 虚拟机软件共存

在 Windows Server 2008 R2、Windows server 2012 以及最新的 Windows 8 中都已经支持微软的服务器虚拟化技术 Hyper-V,只需要在功能中启动即可创建并运行需要的的虚拟机实现操作系统测试或服务器虚拟化的工作。

但有的时候除了 Hyper-V 之外,还需要运行 VMware 的虚拟机,但如果在系统中同时安装着两个虚拟机平台, VMware 虚拟机将不能运行:

1

这是因为,两者都是基于 CPU 等底层硬件的 Hypervisor 机制来实现的,而他们必须独占管理 Hypervisor,因此不能在一台电脑中同时运行。

如果实在需要在一个系统中安装和使用这两种虚拟机平台,我们暂时只能使用折中的办法,那就是为 Windows 创建两个启动菜单,在启动时可以选择是否要运行 Hyper-V。实现方法很简单,只需在 Windows 中以管理员身份运行命令提示符 cmd,然后:

1、运行 bcdedit /copy {current} /d “Windows 8 (关闭 Hyper-V)” 命令,随后会提示已经创建了另外一个启动菜单项,记下 { } 中的一串代码。

2、运行 bcdedit /set {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} hypervisorlaunchtype OFF 命令,将上面的代码替换掉这里的红色XXX代码即可,如下图:

image

再次启动 Windows 8 即可手动选择是否要启用 Hyper-V,在“关闭 Hyper-V”的模式中,即可运行 Vmware 虚拟机,而另一个选项则可以运行 Hyper-V 虚拟机,这样就可以避免为了运行 VMware 虚拟机而卸载 Hyper-V 功能了:

image

UEFI系统安装U盘的制作方式

使用Windows7 USB download Tool利用Windows7 Ultimate x64 SP1的iso制作了启动用的U盘, 并删除source/ei.cfg文件, 这样安装的时候就会询问需要安装的系统版本了.
但是这样做完的U盘不支持EFI启动, 无法安装在GPT分区上. 所以需要处理一下.
首先, 把U盘上的所有文件复制出来, 放到硬盘上.
然后格式化U盘, 选FAT32.
之后把文件全部复制回去.
然后使用7z或者好压, 打开U盘\sources\install.wim文件, 注意不要修改此文件! 打開压缩文件中的 \1\Windows\Boot\EFI\ 这个目录, 找到bootmgfw.efi, 复制出来, 并重命名为bootx64.efi.
之后在U盘里找到\efi\Microsoft这个目录, 把boot文件夹复制到上一级目录去, 也就是\efi\boot, 并把bootx64.efi也放进这个boot文件夹.
完成了, 现在这个U盘就可以被主板认为是UEFI启动设备了. 
安装过程中系统会自动创建MSR-GPT保护分区, 这就没问题了. 

Windows 7设置由VHD启动系统

VHD Native Boot作为Windows 7和Windows Server 2008 R2新增重要功能之一,它支持系统直接从VHD启动。

1. 说明

系统要求:Windows 7 Enterprise 或 Ultimate版,其它版本不支;Windows Server 2008 R2 除 Foundation Edition版本不支持外,其它版本都支持

磁盘要求:系统必须有两个分区,System分区必须有Windows 7 Boot environment Files和BCD存储。如果VHD文件类型为动态扩展,必须确保磁盘有足够的磁盘空间。最多支持挂接 512 个VHD文件。

另外,从VHD启动的系统,不支持系统休眠和Over SMB 共享;保存VHD文件的分区不支持Bit-locker加密,VHD文件的父分区不支持Volume Snaphot功能;VHD不能配置为动态磁盘,也不支持建立软件Raid。相比物理硬盘,VHD没有CACHE,所以在写数据时,VHD硬盘相比物理硬盘有些差异,但读性能基本上和物理硬盘相近。

2. 必备工具

(1) bcdboot - bcd 启动文件创建和修复工具。

bcdboot.exe 命令行工具用于将关键启动文件复制到系统分区以及创建新的系统 BCD 存储。

bcdboot <source> [/l <locale>] [/s <volume-letter>] [/v] [/m [{OS Loader ID}]]

source——指定 windows 系统根目录的位置。

/l    ——指定在初始化 BCD 存储时使用的可选区域设置参数。默认值为“简体中文”。

/s   ——指定一个可选的卷号参数,该参数用于指定要将启动环境文件复制到的目标系统分区。默认值为固件标识的系统分区。

/v   ——启用详细模式。

/m   ——如果提供了操作系统加载器 GUID,则此选项可以将给定的加载器对象与系统模板合并起来,以产生可启动条目。否则,只合并全局对象。

(2) Bcdedit

Bcdedit.exe 命令行工具用于修改启动配置数据存储。启动配置数据存储包含启动配置参数并控制操作系统的启动方式。

(3) diskpart

磁盘分区管理工具。在本例中,它用来在命令行状态产生VHD文件,分区,格式化等

(4) imagex

WIM映像管理工具,它包含在微软AIK工具包中。本例中,用它来释放安装映像Install.WIM文件到VHD文件。

(5) Windows Deployment Services部署服务

3. 部署

用VHD启动计算机,有以下两种场景,一是将VHD部署在已有OS的计算机上,二是裸机的部署。两者的最大区别是对裸机,由于硬盘上没有OS,也就没有Windows 7的启动文件和MBR,所以必须首先产生一个系统分区,并使用Bcdboot将Windows 7启动文件写入这个分区;同时也必须产生一个主分区,用来存放VHD文件。对于在已有OS的计算机上部署,主要是要产生VHD文件,并将Windows 7或Windows 2008 R2映像释放到VHD硬盘,并使用BCDEDIT工具增加启动项目。

由于VHD文件有动态,固定,差异这三种类型,为了保证性能,推荐使用固定尺寸大小的VHD文件。

在已有OS的计算机上部署

实验环境:使用Microsoft Virtual Server 2005 SP1产生一台虚拟机Windows 7并安装好WINDOWS 7 7600操作系统和AIK工具包,这台虚拟机有两块虚拟硬盘,一块c:,已安装好Windows 7;另一块e:,用来产生VHD文件;光驱为D:

启动计算机,进行如下操作(注意以下操作均以管理员BILL.xu进行操作)

(1) 以管理员身份进入命令提示符状态,运行DISKPART

(2) 依次输入以下命令:

Create vdisk file=e:\win2007.vhd maximum=10000 type=fixed(在e盘产生名为win2007.vhd,大小为10000MB,类型为固定尺寸的VHD硬盘),等待一段时间完成。

Select vdisk file=e:\win2007.vhd(选择e:\win2007.vhd磁盘文件)

Attach vdisk(连接到虚拟磁盘文件)

Create Partition Primary(产生主分区)

Assign Letter R(分配盘符为R)

Format Quick Fs=ntfs(以NTFS文件系统快速格式磁盘),此时在我的电脑会多出一块盘符为R的硬盘。

(3) 打开虚拟服务器管理网站,编辑虚拟机Windows 7设置,在光驱中加载windows 7安装光盘ISO文件。

(4) 以管理员身份运行AIK工具包中的Deployment Tools Command Prompt,运行以下命令

imagex /info d:\sources\install.wim(显示安装映像文件的信息,主要是查找映像文件中各个版本的image index号)

imagex /apply d:\sources\install.wim 5 r:\(将安装映像中image index=5映像释放到r:盘,即释放到VHD文件上,image index=5这旗舰版),等待完成。

(5) 回到第二步的窗口,输入以下命令

detach vdisk(分离虚拟磁盘文件)

exit(退出DISKPART命令)

(6) 在命令提示符状态下,输入以下命令

bcdedit /copy {current} /d "Starting From VHD"(编辑BCD数据库,将{current}复制为副本,注释为Starting From VHD。执行后会返回新项目的GUID)。在本操作中返回的GUID为 {91efbc47-7796-11de-8788-b469c8eae731}

bcdedit /set {91efbc47-7796-11de-8788-b469c8eae731} device vhd=[e:]\win2007.vhd(编辑BCD数据库,修改guid为{91efbc47-7796-11de-8788-b469c8eae731}的device值修改为[e:]\win2007.vhd,注意[])

bcdedit /set {91efbc47-7796-11de-8788-b469c8eae731} osdevice vhd=[e:]\win2007.vhd

bcdedit /set {91efbc47-7796-11de-8788-b469c8eae731} detecthal on(允许启动时硬件抽像层检测)完成后,将e:\win2007.vhd备份到其它位置,备用。

(7)重新启动计算机,选择“Starting From VHD”,出现安装界面,安装操作系统,完成。

在裸机上的部署

实验环境:使用Microsoft Virtual Server 2005 SP1产生一台虚拟机Win7VHD,一块硬盘c:,光驱为D:。

(1) 打开虚拟服务器管理网站,编辑虚拟机Win7VHD设置,在光驱中加载WINPE的ISO文件。WINPE光盘的ISO文件可以在装好AIK的文件夹下找到。

(2) 用WINPE光盘启动计算机,选择命令提示符

(3) 依次输入以下命令

create partition primary size=200

format quick fs=ntfs

assign letter=s

active

产生个尺寸大小为200M的文件,以NTFS格式化,并指定盘符为S,激活这个分区

create partition primary

format quick fs=ntfs

assign letter=c

exit

将其它的空间产生一个主分区,以NTFS格式化这个分区,分配盘符为C。

(4) 将我们上例中第6步产生的备份的文件复制到c盘

(5) 在命令提示符状态使用Diskpart,连接虚拟磁盘文件win2007.vhd

Diskpart

select vdisk file=c:\win2007.vhd

attach vdisk

exit

(6) cd f:\windows\system32  (F:为虚拟磁盘文件加载后产生的盘符)

bcdboot f:\windows /s s: 将系统文件复制到系统盘(即前面产生200M的系统分区)

(7) 以硬盘启动计算机,完成安装。

Windows 8 实现文件拖拽打开功能。

首先你的程序用管理员权限运行,然后只要能使资源管理器在管理员权限下运行即可

定位到HKEY_CLASSES_ROOT\AppID\{CDCBCFCA-3CDC-436f-A4E2-0E02075250C2}
右键〉权限〉高级〉更改(在最上面,有个拥有者的地方),将原来的TrustedInstaller更改为Administrtors
然后将Administrtors这个用户的权限改为完全控制
最后,把{CDCBCFCA-3CDC-436f-A4E2-0E02075250C2}右边展开的里面的RunAs项删除或者重命名,即时生效。 

然后在C:\windows下explorer.exe的右键菜单里就可以看到以管理员权限运行了(当是普通的管理员账户时,explorer.exe右键是没有的)

以上就解决了任务管理器同时存在普通管理员权限的explorer.exe,和超级管理员权限的explorer.exe(原先未修改注册表时,RunAs的键值是Interactive User,意为不活动的用户,所以原先是不可能同时存在两种权限的explorer.exe的)

最后,新建一个快捷方式,定义目标位置为%SystemRoot%\explorer.exe ,::{20D04FE0-3AEA-1069-A2D8-08002B30309D},重命名之为“高权限explorer”(或者你喜欢的名字),右键属性里,快捷方式选项卡,高级按钮,选择以管理员权限运行。以后当你需要拖拽文件操作时,运行这个快捷方式方式即可,或者把它固定到任务栏替换原来的那个,因为低权限的explorer.exe基本没什么用了,同时开机自动运行的explorer是普通的权限,于是就实现了既可以管理员权限运行资源管理器同时又不影响Metro应用的运行。

Windows 8 安装Visual studio 2008的方法

WIN8下也能运行VS2008软件,但是如果直接安装VS2008的话是不能成功的,必须首先手动安装NET Framework 3.5,然后才能成功地安装VS2008。下面是在WIN8下安装NET Framework 3.5的方法:
WIN8下面安装.NET3.5,即便是离线安装包,整个安装过程还是需要联网验证,安装速度超级慢。我们改为离线安装,步骤如下:
1、解压WIN8的ISO安装包到F盘根目录下(存放目录随意,但是下面的目录需要相同)
2、按键Win+X,选择命令提示符(管理员)
3、输入以下命令:(F为步骤1所解压的WIN8文件)
dism.exe /online /enable-feature /featurename:NetFX3 /Source:F:\sources\sxs
点击查看原图

4、然后进入控制面板-》程序-》启用或关闭Windows功能,看第一项已经勾选上,安装成功。

点击查看原图
5、按正常方式安装VS2008,下面的图表示我安装成功了。

点击查看原图