利用winre在windows的32位的硬盘安装64位系统

利用winre在windows的32位的硬盘安装64位系统,最常见的是下面几个场景

1 在32位的xp/">2003下安装64位的vista/2008/win7/2008r2
   a:多启动
   b:单启动,不保留原有的xp/2003

2 在32位的vista/2008下安装64位的vista/2008/win7/2008r2
   a:多启动
   b:单启动,不保留原有的vista/2008/

3 在32位的win7下安装64位的vista/2008/win7/2008r2
   a:多启动
   b:单启动,不保留原有的win7

之所以单独列出win7的32位硬盘安装64位,是因为win7默认就安装了winre,也就是启动按f8后的"修复计算机"选项,我们如果在这三种场景下只是选择a,直接用32位的setup /installfrom参数就可以安装64位的系统了(不包括2008r2,因为r2只有64位版本,使用2008或者win7的setup在复制完文件重新启动后会抱错,无法完成安装),装完就是多启动,但是如果在这三种场景都选择b,那这种方法是无法实现的,因为你不能在一个运行setup的系统下把当前的系统分区格式化.最简便的方法就是借助winre,通过我们简单的配置,可以使32位的系统在重新启动后进入64位的winre修复环境,来达到安装64位单系统的目的.

至于winre其实就是一种特殊的pe,关于它的资料网络上随处都可以搜索到,这里不再多说了,我们在后面用到的启动后载入内存的winre其实就是安装光盘sources下的boot.wim文件.

先说第一种情况,在32位的xp/2003下安装64位的系统,这个在网络上最为泛滥,但是很多都是ctrl+c然后ctrl+v,有些甚至说得有些离谱,例如:使用bootsect配置完之后不能关闭cmd,否则会失效等等.其实是错的,当你在cmd下运行一个命令,没有错误信息能正确返回提示符,说明命令以及正确执行完毕了

假设磁盘分为三个分区,c是xp,d是准备安装vista/08/win7/08r2的分区,e是放置解压完毕的64位的安装文件的分区在c盘新建一个sources目录,将64位的sources下的boot.wim复制过去,然后将32位的boot目录和bootmgr文件复制到c盘根目录下,在cmd下运行

c:\boot\bootsect /nt60 c:

命令执行完毕后,重新启动计算机,如果复制的boot.wim是vista/2008,依次点击下一步,打开cmd,删除c盘下的boot目录,sources目录和bootmgr文件后运行e盘64位的sources下的setup即可,如果复制过去的十win7或者r2的boot.wim,在语言选择界面直接shift+f10打开cmd即可,根据我的测试,r2的boot.wim复制过去后在重新启动后的 winre里可以安装从vista-r2的所有64位版本,但是vista/08/win7的winre环境下安装r2有时却会出现问题.

第二种情况,在32位的vista/08下安装64位的vista/08/win7/r2,这个时候用上面的方法就不可以了,而vista/08在默认安装时并不像win7那样带有winre的修复环境,我们需要手动将winre安装到硬盘。

为2008添加修复环境

在win7下有一个隐藏得目录recovery,启动的时候按f8就可以进入winre的修复环境,2008默认从安装光盘安装时是没有winre的,我们可以自己添加,在2008aik中有一个为系统添加winre的批处理,默认是在分区的根目录,我修改了一下,可以从建立的recovery来启动这个修复环境
附件的cp.bat是把安装光盘的boot.wim,boot.sdi复制到c盘新建目录的recovery的,自己替换光驱的盘符就可以也可以手动复制后改名为winre.wim,然后为recovery目录添加隐藏和系统属性,然后运行修改过的SetAutoFailover.cmd

SetAutoFailover.cmd /target c:\recovery /wim /nohide

重新启动后,敲几下空格,按f8,选择"修复计算机",就可以进入winre了

略微不同的是,我们要把64位的sources下的boot.wim复制过去,然后启动到修复计算机,在64位的winre下硬盘安装对于安装win7和r2,因为win7和r2内置了一个bcdboot工具来配置初始化的启动环境,也可以采用imagex+bcdboot的方法来快速安装

第三种情况,因为win7安装完已经默认带有winre的修复环境,我们只需在win7的系统分区显示系统和隐藏文件,找到recovery目录,将这个目录下的以随机数字命名的目录下的32位的winre.wim删除,然后将win764位安装目录sources目录下的boot.wim复制过去,改名为winre.wim,重新启动后即可进入64位win7的winre,从硬盘安装64位的系统,但是有一点需要注意,如果我们想安装64位的vista/2008,也需要复制64位win7安装目录的boot.wim,如果复制过去的是vista/2008的,启动后会提示版本不符,不能进入cmd,当然如果我们复制过去的是2008r2的boot.wim,是可以通吃的.

至于在64位的系统下安装32位的版本,如果想只安装一个系统的话,反过来做,在64位的系统下配置32位的winre就可以了,这里不再赘述了.

时间: 2024-11-08 17:43:59

利用winre在windows的32位的硬盘安装64位系统的相关文章

32位Linux下安装64位Hadoop的问题

问题描述 32位Linux下安装64位Hadoop的问题 本人最近在学习Hadoop, 使用的版本为2.5.2,目前已经在Linux环境下搭建好了. 但是现在在hadoop中建立上传文件目录时,碰到如下问题: 在/hadoop-2.5.2/bin下执行: ./hdfs dfs -mkdir -p ~/hdfile 之后报出错误提示信息: Java HotSpot(TM) Client VM warning: You have loaded library /home/wluser/hadoop-

在64位Windows7上安装64位Oracle11g

 我一直在用Oracle10g数据库,最近想看看11g怎么样,就试着装了一下,在安装过程中遇到的麻烦还不少,幸好有搜索引擎,根据前辈的指点,磕磕绊绊地也将Oracle装上了,作一下记录,以后也许能用得着,如果能帮到别人那就更好了. 我的环境: 操作系统:windows7旗舰版(64位) 数据库:64位Oracle11g(win64_11gR2) PL/SQL:PL/SQL developer v9.0.1 准备工作: 1.下载Oracle11g( Microsoft Windows (x64))

在32位Windows XP的VMWare里安装64位Ubuntu Linux/JDK1.6

http://yulimin.javaeye.com/blog/298383    1.CPU AMD系列的CPU略过 Intel系列的CPU芯片需要支持EM64T和VT技术才行,并且BIOS也要支持才可以. 为了确定你的Intel CPU是否支持VT,请查看: http://compare.intel.com/pcc/default.aspx?familyid=5&culture=en-US 我的笔记本CPU是:Intel Mobile Core 2 Duo T7300支持EM64T,如下图

edge获取地址 msa-使用MSA技术获取MS Edge浏览器的输入地址,为什么win10 32位能够获取而64位无法获取?

问题描述 使用MSA技术获取MS Edge浏览器的输入地址,为什么win10 32位能够获取而64位无法获取? #include #pragma comment(lib, "comsuppw.lib") #include #include #include #pragma comment( lib, "Oleacc.lib") // -------------------------------------------------------------------

如何在32位系统下安装64位系统

  在论坛看到很多网友提问说32位系统下无法安装64位Windows7系统,这里推荐一个很简单的方法来在32位系统下安装64位系统. 32位系统可以是任意,比如XP,Vista,Windows7的32位. 64位系统同样可以是任意. 安装方法就是我们一直推荐的NT6安装,安装前请先检验文件的MD5值. 如今,估计只有用XP的才用GHOST版系统了吧?对于windows7与windows8我想大多数都是用原版了,不管怎么说官方的还是最干净最放心的,更何况安装速度也不慢了. 而32位与64位,32位

32bit-JNative的问题,提示32位DLL不能再64位平台上运行

问题描述 JNative的问题,提示32位DLL不能再64位平台上运行 我使用JNative调用的C++自己写的DLL动态库文件,我在测试项目中运行的毫无问题 ,使用语句输出位数信息是32位 Properties props = System.getProperties(); String bits=String.valueOf(props.get("sun.arch.data.model")); 但放到我的项目中报32位DLL不能在64位平台下运行 输出位数信息却变成了64 以下是错

十万火急 关于32位com组件在64位系统运行的问题

问题描述 十万火急 关于32位com组件在64位系统运行的问题 我用com组件实现的类似于WinRAR右键菜单的功能 编译了一个32位的版本,在64位的机器上,注册完了,右键菜单没效果 同样的代码编译成64位的版本,在64位的机器上,注册完了,可以看到预期的效果 现在的问题是:不编译成64位的版本,直接用32位的版本,在64位系统中运行.(领导是这么要求的) 有什么方法可以解决32位的com在64位系统中运行(能显示右键菜单) 用的VS2012编译器 C++语言 解决方案 这么做没有什么意义吧?

32位VS连接能否64位ODBC数据源

问题描述 环境:64位win8.1:64位Oracle11g服务器端,没装客户端:32位VS2015以上环境运行在同一台机器上配置64位的ORACLEODBC数据源并连接成功以后,想在VS2015里面配置"项目数据源"进行连接,但vs里面显示不了先前配置的ORACLEODBC数据源.请问各位大神,是不是因为用32位VS的原因?要怎么解决这个问题呢? 解决方案

jcom-利用Jcom在用java程序中调用windows Com组件,Jcom.dll是不是支持64位操作系统?

问题描述 利用Jcom在用java程序中调用windows Com组件,Jcom.dll是不是支持64位操作系统? 利用Jcom在用java程序中调用windows Com组件,Jcom.dll是不是支持64位操作系统?我发现在32位机器上是可以调用成功的,为什么切换到64为机器上就调用不成功,有谁了解这个Jcom的,谢谢给个解答.