VHD进阶:差分VHD备份系统

一、创建虚拟磁盘

方法1:图形界面创建

1、打开磁盘管理器(运行diskmgmt.msc),在“磁盘管理”上点击右键,“创建VHD”,类型选择VHD,动态扩展或者固定大小随意,两种类型性能一样。比如,我们在D盘建立一个大小20G的名为WIN8.VHD的虚拟磁盘镜像。加载刚才创建的VHD,初始化磁盘并分区,设定盘符为F:(如果要安装系统,别忘了激活,如果在UEFI下启动,一定要初始化为GPT磁盘)。

方法2:命令行创建(不推荐)

管理员打开CMD,输入下列指令(仅供参考)

diskpart
create vdisk file=D:\win8.vhd maximum=25600 type=fixed
select vdisk file=D:\win8.vhd
attach vdisk
create partition primary
assign letter=F
format quick label=WIN8
exit

二、把系统灌入VHD

步骤1:释放镜像。虚拟光驱加载win8.1 ISO镜像为光驱G,用管理员权限打开cmd,输入imagex.exe /apply G:\sources\install.wim 4 f:,等待将近5-10分钟后显示100%,win8的系统就释放到了F盘。建议使用图形软件如Gimagex,wimtool,winnt 6.x setup等进行操作;

步骤2、修改启动菜单。win7的bootmgr无法引导win8.1,所以要把win8.1的bootmgr复制过来。继续在管理员权限的cmd里输入:bcdboot F:\windows /s c: /l zh-cn,这里的C:是指活动分区的位置,到了这一步,就已经升级了BOOTMGR并且添加了win8.vhd,这种方法不需要手动复制win8.1的bootmgr。建议使用图形软件Bootice操作。

三、VHD差分硬盘实现秒备份、秒恢复、分支多系统

首先介绍一下差分硬盘。这个概念最早出现在虚拟机里,比如我们刚才创建了一个win8.vhd,如果我们对他进行了使用,则一切更改将实时的写入win8.vhd。但如果我们创建一个差分硬盘,指向win8.vhd,比如,命名为win8L1.vhd。这时我们挂载win8L1.vhd(注意不是win8.vhd),我们仍然能够看到一个和刚才一样的f盘,里面的内容和刚才一模一样,但是此时所做的一切更改都将保存在win8L1.vhd里,而不会修改win8.vhd,保证了win8.vhd的只读性。做个实验,把这时通过win8L1.vhd挂载的f盘格式化,f盘空了,但是如果你删除chafen.vhd,再挂载回win8.vhd,会发现文件完好无损。

于是基于此衍生了以下的应用方式。

差分硬盘——可以实现秒备份、秒恢复,完美的保护了系统盘并且免于重装系统,完胜ghost。

分支硬盘——原理也是基于差分硬盘,可以在随意扩展系统的数目,扩充为N个独立的win7/8,执行不同的任务。

下面开始:

第一招,创建差分硬盘并备份:现在你应该已经有了一个d:\win8.vhd,并已经在里面安装好了win8,能够顺利启动,并且安装好了驱动。现在我们重启进入PE或者双系统的win7里,将win8.vhd改名为win8.base0.vhd,然后进入cmd,输入diskpart,用命令create vdisk file=d:\win8.vhd parent=d:\win8.base0.vhd再创建一个链接到win8.base0.vhd的差分硬盘win8.vhd。现在这个差分硬盘只有80kb(以后会随着使用逐渐增大),现在可以备份一个方便以后还原(命名为backup.vhd)

因为之前启动菜单已经链接到的就是win8.vhd,所以不用再修改启动菜单了。

秒恢复:当你想还原系统时,只需要进入PE或双系统的win7,删掉现在在用的win8.vhd,将backup.vhd改名为win8.vhd,然后重启即可。

当你想要再次备份目前的系统时,只需要加入第三层差分硬盘即可,方法和之前一样,将win8.vhd改名为win8.base1.vhd,创建一个指向win8.base1.vhd的新的差分硬盘win8.vhd。可以无限叠加下去,笔者试验过最多7层,用HDTUNE测试了每一层的读取速度后,都为70m/s,不用担心性能问题。

如果你觉得层数太多占用空间且不好看,可以在diskpart 里使用merge参数向下合并一定的层数。具体可以在diskpart里查看help merge vdisk。

第二招:创建多分枝硬盘。比如我们将win8.base0.vhd作为模版系统了。我们可以分别创建N个指向他的差分硬盘(对,可以一对多),并且用bcdboot命令分别添加启动菜单(方法如前述),这样瞬间就多了N个win8了,而且都不占空间,还互相不受约束,特别适合家里爸爸妈妈公用一台电脑的娃哦!你可以在自己的系统里换上MM的桌面,可以加密码,等等都行。爸妈的系统里就给他们装上什么360啊,qq游戏啊,你自己也免得看的心烦了。

VHD进阶:差分VHD备份系统的更多相关文章

  1. 使用差分VHD启动Win7

    平台:windows 8.1 目的:在VHD里装个Win7 介绍:建立VHD装系统姑且不表,比较有意思的是用差分VHD备份系统这点. 差分硬盘这个概念在虚拟机里常用,类似VM中的快照,不过差分硬盘更灵 ...

  2. win7挂载VHD文件,模拟多系统并存

    挂载vhd是win7 一个很特殊的功能,xp不能支持,一些服务器版的系统 像2008.2008R2这些可能也是支持的,只是没有测试过. 提前的准备: Win7  wim 镜像文件 Imagex.exe ...

  3. Linux 中我该如何备份系统

    系统备份概述 在前面的一些文章中,我反复提到经常会把系统搞崩溃,所以备份系统就是一件不容忽视的事情.由于 Linux 系统本身的优越性,系统的备份和还原还是比较容易的.主要表现在以下方面: Linux ...

  4. ghoest32 不重启电脑手动备份系统为.gho

    备份系统我们一般使用DOS之家的ghoest备份工具,但备份必须是重启电脑在DOS命令行下,其实,可以不重启电脑备份系统,也就是手动备份系统.DOS之家用的ghoest本质也是赛门铁克公司出的ghoe ...

  5. AWIT DBackup 0.0.20 发布,备份系统

    AWIT DBackup 0.0.20 修复了几个小 bug. AllWorldIT DBackup 是一个备份系统,为每个目录创建一个独立的压缩包,这更便于搜索. 特点: 使用 xz, bzip2, ...

  6. 通过rsync搭建一个远程备份系统(一)

    前言 我公司是电子商务公司,全部是linux系统,每天的网站数都在增加,为了保证安全,需要建立一个远程容灾系统,将网站数据每天凌晨1点备份到远程服务器上,由于数据量大,每天进行进行增量备份,仅仅备份当 ...

  7. tar备份系统

    一.概述 前几天我通过SSH正在调戏汤姆猫(tomcat)的时候,服务器上CentOS突然挂了.开机grub,使用光盘linux rescue修复提示找不到linux分区,然后想mount硬盘备份系统 ...

  8. tar备份系统的方法

    下面是备份系统的方法: 然后打开终端,输入以下命令: 1.成为根用户:   sudo su 2.转到根目录:   cd / 然後,下面就是我用来备份我的系统的完整的命令:tar -cvpzf /med ...

  9. 基于HBase的手机数据备份系统 .

    基于HBase实现的手机数据备份系统,实现了手机关键信息的备份,如短信.联系人等. 包括服务器端(Server)和客户端(Client) Server运行环境:Hadoop+HBase+Tomcat ...

随机推荐

  1. PHP文本路径转换为链接文字

    <?php /** * 文本路径转换为有链接的文字 * @param string $str 转换内容 * @return string */ function urlToLink($str) ...

  2. java中的字符编码方式

    1. 问题由来 面试的时候被问到了各种编码方式的区别,结果一脸懵逼,这个地方集中学习一下. 2. 几种字符编码的方式 1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符 ...

  3. 线程的实现方法以及区别 extends Thread、implements Runable

    /** 线程存在于进程当中,进程由系统创建. 创建新的执行线程有两种方法 注意:   线程复写run方法,然后用start()方法调用,其实就是调用的run()方法,只是如果直接启动run()方法, ...

  4. python初识1

    作者:武沛齐 出处:http://www.cnblogs.com/wupeiqi/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接. 安装Pyt ...

  5. iosOC不可变字典和可变字典

    //key 和 value 都属于(id)对象类型 //key常用字符串NSString来表示 //存储数值型 一般可用 NSString //int  age ->@(age) //  [di ...

  6. 转 s3c2440硬件学习----内存管理单元MMU

    本篇基本是韦东山书上的 一.内存管理单元MMU介绍 内存管理单元简称MMU,它负责虚拟地址到物理地址的映射,并提供硬件机制的内存访问权限检查.MMU使得每个用户进程拥有自己独立的地址空间,并通过内存访 ...

  7. Sublime Text: [Decode error - output not utf-8]

    今天编译Python时, 输出窗口信息出现: [Decode error - output not utf-8][Decode error - output not utf-8]   发现是print ...

  8. H5的新应用-在地图上标识附近加油站的地址

    ------------------------ <style type="text/css">          html{height:100%}         ...

  9. java fork-join框架应用和分析

    http://shmilyaw-hotmail-com.iteye.com/blog/1897636 java fork-join框架应用和分析 博客分类: concurrency multithre ...

  10. LD_LIBRARY_PATH vs LIBRARY_PATH

    LIBRARY_PATH is used by gcc before compilation to search for directories containing libraries that n ...