xuyingxiao的个人博客分享 http://blog.sciencenet.cn/u/xuyingxiao

博文

沙盒,虚拟机,原生VHD

已有 8906 次阅读 2013-5-21 13:45 |个人分类:技术文章|系统分类:科研笔记| 虚拟机, 沙盒

每次面对干净的系统都很感概:原来电脑运行起来可以这么快。为了保持这种快速流畅的感觉,便很吝啬地不愿安装过多的软件。

 

但随着时间的推移,依旧无可奈何地装着不同的软件,看着系统不断膨胀,看着机器越来越慢,然后软件之间产生一些意想不到的冲突、出现一些莫名的软件故障,得花大量时间去查找解决方案。

 

重装系统?安装这么多软件倒是小事,数据的备份是个梦魇,因为每个软件的数据和设置都需要按照不同的方法来备份。

 

这个梦魇最终还是无法避免,电脑升级换代时,新电脑带来的欣喜不久就会被无休止的装软件导入数据的烦恼而取代。

 

解决方案1:沙盒

 

沙盒在现有系统上建造一个隔离层,就像在一幅画上覆盖一层玻璃板,你可以在玻璃板上任意涂抹,最后,当玻璃板移除,画还是那幅画,一切就像从来没有发生过。

 

装了一个免费的Sandboxie,上课临时用用的软件就装在沙盒里,以后这门课不上了,删除沙盒,系统就像从来没装过这个软件一样。

 

某个软件如果只是装一下体验一下功能,就装在沙盒里,体验完了,一切如初。

 

娱乐性的软件朝三暮四经常换,也装在沙盒里,用腻了就抛弃。

 

有的人在沙盒中测试木马软件,这似乎不够安全,玻璃板拿走时虽然系统一切如初,但在不安全软件运行期间,玻璃板下的内容还是能被不安全的软件窥视到的。

 

解决方案2:虚拟机

 

虚拟机通过软件模拟多台全新的电脑,从BIOS设置到操作系统到各种软件,一切似乎在全新的机器上,但其实都发生在几个文件内部。你的系统其他部分不受影响。你就像上帝一样俯视着它们,把那几个文件删除,就可以让一切烟飞云散,喧闹的世界不复存在。把那几个文件复制一下,又可以瞬间复制几个完全相同的世界。

 

装了老牌的VMWare Player、随着Win7的出现热门起来的Windows Virtual PC,还用过Oracle Virtualbox。

 

不同项目的相关软件装在不同的虚拟机中,复制那几个文件就是复制整台电脑。这样即使项目结束很多年以后想演示一下这个项目或看一下项目中的某些细节,哪怕电脑已经彻底换过,把虚拟机一打开,当年项目中的所有环境、所有设置便奇迹般地完整再现。

 

需要测试一些不安全的软件时,把虚拟机的文件拷贝备份一下,在虚拟机中测试完后将备份的虚拟机文件拷贝回去,便又是一个干净的虚拟机。

 

需要尝试不同的操作系统时,在虚拟机上安装不会对现有系统带来任何混乱。Win7下面也可以体验Win8了。

 

 

解决方案3:原生VHD启动

 

虚拟机和沙盒都要依附在现有操作系统中,如果现有操作系统崩溃了,沙盒也就没了,虚拟机虽然还在但也无法使用,得将当前的操作系统弄好了才行。此外,虚拟机和现有操作系统要共同运行,都要消耗内存等资源,如果内存不够大就会比较慢。

 

原生VHD带来了新的视角。Windows 7出来时,这个功能带给我们无比的激动:一切放在一个VHD文件中,通过Windows 7自带的BCDEdit工具修改一下启动项,就可以把这个VHD文件当作系统盘来使用。像虚拟机一样,启动之后安装的一切软件、做的任何设置都可以只发生在这一个文件中,备份了这个文件就备份了整个电脑。但同时这个系统直接使用各种硬件,不再需要依附于现有的操作系统。这样可以根据不同需要安装N个操作系统,每个系统用于不同的项目或其他目的,开机时选择不同的启动项就可以进入不同的系统环境。

 

这个梦想几年前尝试了一下没成功,搁置了几年再翻出来试了一下,终于成功。原来VHD中安装的系统必须是企业版或旗舰版,通过imageX从系统安装盘中把安装文件灌入VHD文件,这个VHD文件备份好以后可以在不同电脑上重复使用。开机选择通过这个VHD文件启动电脑后,会进行一系列初始化工作完成最终安装。一个具备几个相同或不同的操作系统的电脑就安装好了。

 

附带的收获:C盘空间不足时,除了通过一些软件调整C盘分区大小外,在其他空间比较大的盘存放原生VHD也是一种做法。

 

几个失败的试验

 

梦想:原生VHD每次更换系统需要退出系统重新启动,这一点不如虚拟机方便。如果能把两者结合起来就好了。同一个虚拟硬盘,平时挂在虚拟机上使用并安装各种软件,随用随关,既方便又不影响在现有系统中做其他事情。现有系统出故障或需要较高性能时又可以退出当前系统选择直接原生启动。

试验1:将Imagex灌装好的VHD挂在虚拟机上进行初始化,然后作为原生启动盘。在Windows Virtual PC 上失败,VMWare Player上用了点技巧成功进行初始化并能在VMWare Player中运行,但将其作为原生VHD启动时中途出现蓝屏。

试验2:将 Imagex灌装好的VHD用于原生启动,成功初始化好并正常原生启动,然后后挂在虚拟机上,在VMWare Player上运行出现蓝屏。Windows Virtual PC 上也失败。

试验3:VMWare Player或Windows Virtual PC 上 虚拟机上安装好Windows 7,再作为原生VHD启动,失败。

试验4:通过Disk2VHD将现有操作系统系统所在分区生成VHD文件,然后将该文件挂在VMWare虚拟机上,以前用针对华硕笔记本windows XP系统试验成功,Windows 7未试过。Windows 7试验了将该VHD文件作原生启动,未成功。

试验5:使用Winimage将现有操作系统Windows 7整个硬盘制作成VHD,挂Windows Virtual PC 和VMWare Player上都出现蓝屏。原生启动尚未尝试。




https://blog.sciencenet.cn/blog-504160-692051.html

上一篇:借书生涯中最贵的一本“书”
下一篇:万花筒
收藏 IP: 211.95.61.*| 热度|

2 刘洋 李学宽

该博文允许注册用户评论 请点击登录 评论 (4 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-10 09:43

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部