电子技术论坛

 找回密码
 快速注册

QQ登录

只需一步,快速开始

搜索
下载方法|用单线程|避免多扣帖子规范|求助必读|发帖建议积分策略|勋章介绍|新人必读获取金币|推广论坛|出售帖子基本礼节|致会员信|版规总则
禁涉政治|反对低俗|举报专帖征集相片|留下足迹|推荐精华上传附件|制作分卷|使用网盘禁发qq群|恶意灌水|纯表情帖加入团队|监督机制|安全上网
查看: 22322|回复: 8

硬盘安装Windows7新方法(nt6 hdd installer v2.8.5)

[复制链接]
发表于 2010-3-12 11:47:15 | 显示全部楼层 |阅读模式

注册家电维修技术论坛,与同行畅聊维修技术,享更多技术论坛功能。

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
硬盘安装VISTA/2008/WIN7方法(nt6 hdd installer v2.8.5)

对于没刻录机的朋友,硬盘安装系统是一个必谈话题,不过一些简单的安装方法就不再谈了:如在原32位XP/VISTA上装32位VISTA、64位XP/VISTA上装64位VISTA,有相应的PE系统直接安装同位的VISTA系统。这些都可以直接安装。
本方法针对的对象是32位系统上新装64位VISTA/2008/WIN7的情况、硬盘安装且要格式化活动分区(C盘)的情况,有刻录机的朋友也可以用这个方法省一张光盘。

本方法特点:
nt6 hdd installer v2.x开始,不再局限于grub4dos,grub4dos的方式为程序中的模式1;新增模式2,属于MS自带的引导进行加载安装程序,使极少数不兼容grub4dos的机器有了第二种解决方案。详见附件readme文件

前期准备:
系统ISO文件用虚拟光驱加载后复制或UltraISO/WINRAR解压至硬盘一非系统分区的根目录
(也可以依照附件中的图示操作)
注意:是复制或解压至根目录,而不是某文件夹,这一点和传统硬盘安装方法不同

下载并安装 nt6 hdd installer
见附件: nt6 hdd installer v2.8.5.rar (990.24 KB, 下载次数: 628)
 楼主| 发表于 2010-3-12 11:48:46 | 显示全部楼层
两种硬盘安装思路都为原创首发并集成在首发工具nt6 hdd installer中,如果基于这两种思路修改本工具界面,可以不注明作者,但请在readme或界面帮助中注明基于“nt6 hdd installer 模式1”或“nt6 hdd installer 模式2”,基于思路修改请认真阅读源程序中的cmd文件并了解nt6 hdd installer的处理流程,以免遗失本工具考虑到的种种可能性使而修改后的工具兼容降低,希望看到的修改版本功能更强。近期发现了一些同类工具,但不同机器不同系统情况存在的多种可能性考虑并不全面,其他朋友无论参照模式1还是将来参照模式2重新自编软件,希望开发人员重注重的是兼容更多的机器,而不是停留在漂亮的界面上

nt6 hdd installer v2.x两种模式简介:
A.两种模式安全性和可靠性区别:
模式1为grub4dos方式,不排除小部分机器不兼容grub4dos;模式2为微软自带的引导方式,进系统安装界面的可靠性理论为100%。
当源系统为2000/XP/2003时模式1添加启动项的安全性高于模式2,但可以进系统安装界面的比例稍低于模式2,从安全性上考虑优先,当前系统为2000/XP/2003时推荐使用模式1,当模式1不能进安装界面时才更换使用模式2。
当源系统为vista/2008/win7/2008r2时,模式2的启动项安全性=模式1,进入系统安装界面的可靠性高于模式1,所以推荐使用模式2
B.安装上的区别:
安装模式1时“安装模式1”和“解压系统安装文件至根目录”的操作没有先后之分,而安装模式2时需要先“解压系统安装文件至某分区根目录”后才可以“安装模式2”
C.PE系统中使用:
在PE系统中安装nt6 hdd installer v2.x不能使用模式1,只能使用可靠性最高的模式2,因为PE中不用考虑启动安全性,所以以后版本也不打算在PE中更新使用模式1。在PE中安装本程序将不保证原硬盘的原有引导不受破坏,所以本地硬盘上有可用win系统的情况下并不推荐在PE中使用本程序,只在硬盘上无可用win系统时才在PE中安装本程序

使用方法: (2008不等同于2008r2,请注意)*(新旧系统包括PE都没有32位和64位限制)
安装win7或2008r2(系统安装过程免命令提示符操作)
一、虚拟光驱加载ISO后复制或UltraISO/WINRAR解压ISO文件至硬盘一非系统分区的根目录
注意:是复制或解压至根目录,而不是某文件夹,这一点和其他硬盘安装方法不同
二、安装 NT6 hdd Installer
三、重启选择Nt6 hdd Installer后自动进入安装界面,安装操作和光盘一样,装在其它分区上成双系统、格式化C盘安装成单系统随你所需

安装vista或2008(系统安装过程需命令提示符操作)
一、虚拟光驱加载ISO后复制或UltraISO/WINRAR解压ISO文件至硬盘一非系统分区的根目录
注意:是复制或解压至根目录,而不是某文件夹,这一点和其他硬盘安装方法不同
二、安装 NT6 hdd Installer
三、不选择开始安装,选择左下角的“修复计算机”,这里如果提示修复启动项,请选择“否”,搜索硬盘系统后出现已安装系统的话也点中间空白处,使出现的旧系统栏不要变成蓝色,跟着一样再选择“命令提示符”,如在前期准备中安装程序放在E盘,则:e:\sources\setup回车
剩下的操作就和光盘安装一样,如果需要格式化安装所在分区,不能装在存放安装文件的分区上,装在其它分区上成双系统、格式化C盘结果为单系统就全部由你自己决定了
相应的图片教程为新手而作,别嫌繁琐

下面列出有可能出现的问题:
只要操作正确,出现的可能性极小且不影响原系统
一、重启后没nt6 hdd installer启动菜单,不太可能,有请反馈。
二、启动菜单中选择nt6 hdd installer mode 1后无法进入安装界面,提示找不到sources/setup.exe,先检查WIN7安装文件的位置是否根目录,确认无误的话分区格式和模式1不兼容,不影响原系统,请安装和使用模式2
三、启动菜单中选择nt6 hdd installer mode 1后无提示黑屏或自动重启,一般由于机器硬件或磁盘系统不兼容模式1,不影响原系统,请安装和使用模式2

以下和本程序没有关系,系统安装过程常见问题,顺便一提,以免误认为本程序引起
nt6 hdd installer的功能只实现进到安装界面,进安装界面后的故障不再和nt6 hdd installer有关
一、有使用过其它硬盘安装方法(复制BOOT文件夹至C盘)不成功的请先删除复制的C盘的BOOT文件夹后再行安装,否则安装成多系统有可能造成无法完成安装而失败,格C盘装成单系统的话删不删都不影响。
二、进安装后无法选择盘符,提示加载驱动,如果你是装Vista/2008,请自行检查是运行了盘符:\sources\setup.exe(正确)而不是运行了盘符:\setup.exe(错误);确定运行无误或装win7/2008r2(免输命令)的话请自行搜索主板芯片组在装相应系统时是否应该加载驱动,出现这种情况正常光盘启动安装一样提示,加载驱动或BIOS设置硬盘兼容模式的方法请自行解决。
三、安装中途蓝屏/死机的,确认下载的ISO无损坏的话自行检查硬件兼容性(尽可能拔除可拔除的外设),光盘安装多数一样会出现这种情况。
四、安装成多系统后进WIN7没发现原C盘或原C盘盘符变成D,WIN7所在盘变成C,正常现象,光盘安装也是一样结果,原C盘盘符被隐藏的情况如果有需要可以在磁盘管理中为被隐藏的原C盘添加盘符就可以了。

部分网友对nt6 hdd installer认识上的误解释疑:
1、nt6 hdd installer只适用装单系统
        答:不是,nt6 hdd installer也适合装多系统。
2、nt6 hdd installer需放在系统安装程序所在分区执行
        答:没必要,nt6 hdd installer可以放在任意位置进行安装/卸载操作。
3、这种方法比直接系统中setup复杂多了
        答:nt6 hdd installer主要针对需格C盘重装系统或32位系统上安装64位系统的朋友,所以不要和32位上再装32位系统的装法作比较
4、为什么安装程序一定要放根目录而不放文件夹内
        答:因为放根目录,所以才有安装win7和win2008r2时的免提示符操作(传统的硬盘安装方法需命令提示符操作)
5、nt6 hdd installer能否用来硬盘安装2000/XP/2003
        答:不行,2000/XP/2003属于nt5.x,不在nt6 hdd installer处理范围
6、早期版本使用正常,为什么还一直更新
        答:如果早期版本可以在你的机器上使用,而你也不想在其它机器上使用,当然可以不使用新版本,但在你机器上可以使用的旧版本就未必可以在其它机器上使用,更新只是为了兼容更多的机器。

程序更新纪录:
2008-12-08: 最先版本
        最先网络发布利用grub4dos+微软系统引导配合用来安装vista/2008/win7的教程,核心基于grub4dos,纯手工操作,初始名vista hdd installer(这里特别鸣谢grub4dos开发团队)

2009-03-15:
        用批处理重新处理vista hdd installer的手工方法,以实现自动安装,更名为nt6 hdd installer

2009-04-17:
        为nt6 hdd installer加进繁体支持,以适合繁体地区朋友使用。

2009-06-17: nt6 hdd installer v2.0发布
        不再局限于旧版基于grub4dos的模式1,新增模式2,模式2属于MS自带的引导进行加载安装程序,使极少数不兼容grub4dos的机器有了兼容性更高的模式2解决方案。

2009-06-17至2009-07-12: nt6 hdd installer v2.1至v2.8

2009-07-17: nt6 hdd installer v2.8.1发布
        修正当前系统或PE缺少系统文件时程序运行错误的错误。系统或PE缺少系统文件本非本工具之错,不过既然有办法处理,就更新多一次了。

2009-12-06: nt6 hdd installer v2.8.2发布,几个月没更新了,修改方面较多,如下
        去掉繁体支持,改用英文。
        更改为鼠标控制
        PE中改用手工指定硬盘盘符,使PE中安装比旧版本更准确
        打包程序运行必需的系统文件,以避免系统缺少文件无法运行的错误
        解决了以前小部分杀软的误报
        较大范围改写程序,使安装更准确,卸载更彻底
        更新模式1中的grub4dos版本至0.4.4-2009-10-16

2009-12-10: nt6 hdd installer v2.8.3发布
        修正v2.8.2在刻在PE光盘上在光盘PE系统上无法直接运行的错误(需复制至硬盘或U盘使用)

2009-12-11: nt6 hdd installer v2.8.4发布
        修正v2.8.3在U盘PE时的一个错误(这种错误真正使用的朋友一般不会碰到,测试时也许会碰到:偶尔正常的BCD也会提示BCD错误而无法安装)

2010-01-05: nt6 hdd installer v2.8.5发布
        PE中使用改为自动判断活动分区盘符优先,程序无法自动判断时才手工选择活动分区盘符,盘符选择增加至C--Z共24个
        修正v2.8.4在PE中使用时某些特殊情况无法正确安装
 楼主| 发表于 2010-3-12 11:53:38 | 显示全部楼层
swcnchen整理,如果不想了解原理和看代码,还是不看的好,看了头晕

+------------------------------------------------------------------------------------+
|  以下为模式1原理,也是网络上最早的利用grub4dos来安装vista,2008,win7,2008r2的教程   |
+------------------------------------------------------------------------------------+

程序基于GRUB4DOS,对于系统引导一向不推荐第三方软件,对于大名鼎鼎的GRUB4DOS是个例外,也因为GRUB4DOS的强大引导功能,所以有了这个程序。

注:2000/XP/2003下面全称XP,没有32位/64位之分;vista/2008/win7下面全称vista,也没有32位/64位之分,文中提及的C盘严格来说为硬盘的活动分区,为方便全部称C盘,活动分区盘符有特殊情况的自己对号入座。

对于没刻录机的朋友,硬盘安装系统是一个必谈话题,不过一些简单的安装方法就不再谈了:如在原32位XP/VISTA上装32位VISTA、64位XP/VISTA上装64位VISTA,有相应的PE系统直接安装同位的VISTA系统。这些都可以直接安装。

本方法针对的对象是32位XP/VISTA需装64位VISTA或者64位XP/VISTA需装32位VISTA的情况。有刻录机的朋友也可以用这个方法省一张光盘,基于VISTA光盘引导安装和WINDOWS中SETUP安装会产生不同的盘符结果,需要实现光盘安装盘符结构的朋友也可以不刻盘使用这个方法。

本方法优点:
一、安全:由于使用的是添加引导项而不是旧方法的修改引导项的方法,所以就算少数的机器不兼容grub4dos而无法进入安装界面,也不影响进入原系统。
二、通用:本方法对原系统是XP或VISTA都可以,并且原系统和要新装的系统没有32位或64位的限制。
三、方便:提取ISO中的安装文件只一次提取至同一位置,而无需分位置提取。

WIN7安装特别提示:
WIN7在安装过程和安装结果相对VISTA和WIN2008有不少改进。如果用本方法安装WIN7,下面两种情况一样,第二步重启系统进Vista Hard Disk Installer后,无需进“修复计算机”和“命令提示符”,直接开始安装,全部过程和光盘一样直接安装,当然同样不推荐装在安装程序所在分区。
注:本文采用的是MSDN版的VISTA安装盘ISO,OEM原版(如果带有修复计算机选项的也可以)或修改版(太杂太乱)不在本方法之内。
注:MSDN版体积小/功能全/在OEM机器上安装后导入证书和更换密匙(或安装过程中输入)后的激活和相应OEM激活结果一样,所以我只备MSDN。

*************************************
废话说了不少,现在正文开始:
*************************************

前期准备:下载MSDN的VISTA光盘映像ISO,用虚拟光驱加载后复制或UltraISO解压至硬盘一非系统分区(不推荐放在要用来装VISTA的分区中),注意是复制或解压至该分区根目录下,而不是某一文件夹下。解压/复制后包括三个文件(bootmgr、setup.exe、autorun.inf),五个文件夹(boot、efi、sources、support、upgrade),这里给出,以方便完成安装后根据需要删除这些安装文件

下载附件至桌面,winrar解压至当前文件夹后在vista hdd installer文件夹里有三个文件:zchzr.mbr、zchzr(这两个是我修改的基于GRUB4DOS的核心文件)、boot.ini(供下面情况二使用)
注:只讨论原系统是单系统的情况,多系统的情况太多,不一一给出,有特殊情况的朋友可以跟贴给出相应的安装方法

情况一:当前系统XP
一、把附件中的zchzr.mbr、zchzr剪切至C盘根文件夹下。再“我的电脑”右键》属性》高级》第三个“设置”》编辑》最后多加一行C:\zchzr.mbr="Vista Hard Disk Installer"
PS:最后一行字符可以打开附件中的boot.ini后复制/粘贴。

二、重启系统,正常多出一个Vista Hard Disk Installer的选择菜单,选择进入,不选择开始安装,选择左下角的“修复计算机”,再选择“命令提示符”,本例在前期准备中安装程序放在E盘,所以:
e:
cd \sources
setup

三、剩下的操作就和光盘安装完全一样,如果需要格式化安装所在分区,不能装在存放安装文件的E盘上,装在其它分区上成双系统、格式化C盘结果为VISTA单系统就全部由你自己决定了。安装完成后如果是装成多系统的话再修改相应的boot.ini(第一步)回原样,删除zchzr和zchzr.mbr。

情况二:当前系统VISTA。 (单vista系统默认C盘不存在boot.ini文件)
一、把附件中的zchzr.mbr、zchzr、boot.ini剪切至C盘根文件夹下
注:这里一样要注意系统属性中高级设置的启动列表等待时间,方法就不述了。

二、重启系统,正常多出一个Vista Hard Disk Installer的选择菜单,选择进入,不选择开始安装,选择左下角的“修复计算机”,这里如果提示修复启动项,请选择“否”,搜索硬盘系统后出现已安装VISTA的话也点中间空白处,使出现的旧系统栏不要变成蓝色,跟着一样再选择“命令提示符”,本例在前期准备中安装程序放在E盘,所以:
e:
cd \sources
setup

三、剩下的操作就和光盘安装完全一样,如果需要格式化安装所在分区,不能装在存放安装文件的E盘上,装在其它分区上成双系统、格式化C盘结果为VISTA单系统就全部由你自己决定了。安装完成后如果是装成多系统的话删除C盘的zchzr、zchzr.mbr、boot.ini


+--------------------+
|  以下为模式2原理   |
+--------------------+


模式1的原理很早就已经介绍过了,现在介绍一下模式2的基本工作流程.
当前系统为VISTA/2008/WIN7/2008R2时,安装程序在E盘根目录为例
利用BCDEDIT为E盘的安装程序添加一个启动菜单就可以了.下面是实现批处理
set vhiuid1={66666666-fa0f-11da-8ddf-001320035401}
set vhiuid2={77777777-fa0f-11da-8ddf-001320035401}
bcdedit /create %vhiuid1% /d "nt6 hdd Installer mode 2" /device >nul
bcdedit /set %vhiuid1% ramdisksdidevice partition=e: >nul
bcdedit /set %vhiuid1% ramdisksdipath \boot\boot.sdi >nul
bcdedit /create %vhiuid2% /d "nt6 hdd Installer mode 2 [EMS Enable]" /application osloader >nul
bcdedit /set %vhiuid2% device ramdisk=[e:]\sources\boot.wim,%vhiuid1% >nul
bcdedit /set %vhiuid2% path  \windows\system32\boot\winload.exe >nul
bcdedit /set %vhiuid2% locale  en-US >nul
bcdedit /set %vhiuid2% osdevice ramdisk=[e:]\sources\boot.wim,%vhiuid1% >nul
bcdedit /set %vhiuid2% systemroot \windows >nul
bcdedit /set %vhiuid2% detecthal Yes >nul
bcdedit /set %vhiuid2% winpe Yes >nul
bcdedit /set %vhiuid2% ems Yes >nul
bcdedit /displayorder %vhiuid2% /addlast >nul
pause
这个批处理右击执行后就可以添加mode2的启动菜单,重启调用e盘上的系统安装程序并进入安装界面,也从多次的试验上证明低版本的bootmgr文件可以调用高版本的系统安装程序.所以无需替换bootmgr等操作.其实原理非常简单,只是之前大家没想到而已,想到了并说明了就没什么特别之处了.
如果当前系统是2000/xp/2003,添加mode2的手工操作相对繁琐一些,这里就不介绍了,不过玩多系统的朋友应该一看就明白.
集成做为一个工具发布,只是为不同的朋友不同的系统情况作出不同的操作


+---------------------------+
|  以下为v2.6的源程序代码   |
+---------------------------+


鉴于有朋友要看源码,一段批处理而已,v2.6的源码,写得不好,见笑了.
  rem >nul
cls
@echo off
mode con cols=80 lines=25
setlocal enabledelayedexpansion
color 1f
chcp 936>nul
if !errorlevel! equ 0 goto start
chcp 950>nul
if !errorlevel! equ 0 goto start
if %windir:~0,2% equ X: goto start
cls
echo.
echo      Please Change your System Non-Unicode to [Simplified  Chinese]
echo.
echo      or [Traditional Chinese]
echo.
echo  Press any key to Continue ......
pause >nul
:start
chcp 950 >nul
if !errorlevel! gtr 0 (
chcp 936
   set line1=╭─────────────────────────────────────╮
   set line2=│                                                                          │
   set line3=╰─────────────────────────────────────╯
    set msg1=安装/卸载程序
    set msg2=当前系统:Vista/2008/Win7,推荐使用模式 2
    set msg3=错误!!!请关闭UAC或右击本程序后以管理员身份运行,按键退出......
    set msg4=按键返回主界面......
    set msg5=│[1] 安装 nt6 hdd Installer 模式 1 : 当前系统为2000/xp/2003时推荐使用      │
  set msg5_1=│[2] 安装 nt6 hdd Installer 模式 2 : 当前系统为vista/2008/7/PE时推荐使用   │
    set msg6=│[3] 卸载 nt6 hdd Installer 模式 1 和模式 2                                │
  set msg6_a=│[4] 退出                                                                  │
  set msg6_0=│ 安装前请确认已经把vista/2008/win7安装程序提取/解压至本地硬盘某分区根目录 │
  set msg6_1= 模式说明:可以选择安装其中一种或两种模式同时安装
    set msg7=请选择要进行的操作 [1/2/3/4] ,然后按回车:
   set msg10=当前系统:2000/XP/2003,推荐使用模式 1
   set msg11=当前系统:WinPE,暂只能使用模式 2
   set msg12=错误:未知原因找不到启动菜单配置文件boot.ini,启动菜单未添加
   set msg13=模式 1 安装完成
set msg13_1=模式 2 安装完成
   set msg14=重启选择 nt6 hdd Installer mode 1 进行系统安装
set msg14_1=重启选择 nt6 hdd Installer mode 2 [EMS Enable] 进行系统安装
   set msg16=本操作将同时卸载 nt6 hdd Installer 模式 1 和模式 2
   set msg18=卸载完成,
   set msg19=系统BCD存在错误,无法添加启动菜单,使用BCDautofix^(v1.0.3或更高版本^)进行修复
   set msg20=BCD后再次尝试安装 或 使用原始方法^(Vista HDD Installer^),按键退出...
   set msg24=PE系统中暂不支持安装模式 1,如有特别需要,请安装模式 2,
   set msg25=错误:在所有有效盘符中没发现Vista/2008/Win7安装程序,请将Vista/2008/Win7安
   set msg26=装程序提取至本地硬盘某分区根目录后再次安装模式 2
   set msg27=上发现Vista/2008/Win7安装程序
   set msg28=模式 2 未知原因安装失败!!!
) else (
chcp 950
   set line1=??????????????????????????????????????ⅰ
   set line2=?                                                                          ?
   set line3=ⅱ?????????????????????????????????????ⅲ
set msg1=?杆/?更祘?
set msg2=讽玡╰参?Vista/2008/Win7?崩?ㄏノ家Α 2
set msg3=岿粇???叫闽超UAC┪?阑セ祘???╰参恨瞶?ō?笲︽??龄癶?......
set msg4=?龄?????......
set msg5=?[1] ?杆 nt6 hdd Installer 家Α 1 : 讽玡╰参?2000/xp/2003?崩?ㄏノ      ?
set msg5_1=?[2] ?杆 nt6 hdd Installer 家Α 2 : 讽玡╰参?vista/2008/7/PE?崩?ㄏノ   ?
set msg6=?[3] ?更 nt6 hdd Installer 家Α 1 ㎝家Α 2                                ?
set msg6_a=?[4] 癶?                                                                  ?
  set msg6_0=? ?杆玡叫絋粄?竒рvista/2008/win7?杆祘Α矗?/秆溃?セ?祑絃琘だ跋?ヘ魁 ?
set msg6_1= 家Α弧?:??匡拒?杆ㄤい?贺┪ㄢ贺家Α???杆
set msg7=叫匡拒璶秈︽?巨? [1/2/3/4] ?礛???ó?
set msg10=讽玡╰参?2000/XP/2003?崩?ㄏノ家Α 1
set msg11=讽玡╰参?WinPE?既??ㄏノ家Α 2
set msg12=岿粇:ゼ???тぃ?秨诀垫虫皌竚ゅンboot.ini?秨诀垫虫ゼ睰?
set msg13=家Α 1 ?杆ЧΘ
set msg13_1=家Α 2 ?杆ЧΘ
set msg14=?币匡拒 nt6 hdd Installer mode 1 秈︽╰参?杆
set msg14_1=?币匡拒 nt6 hdd Installer mode 2 [EMS Enable] 秈︽╰参?杆
set msg16=セ巨?盢???更 nt6 hdd Installer 家Α 1 ㎝家Α 2
set msg18=?更ЧΘ?
set msg19=╰参BCD??岿粇?礚猭睰?秨诀垫虫?ㄏノBCDautofix^(v1.0.3┪?蔼?セ^)秈︽?蝋
set msg20=BCD??Ω沽刚?杆 ┪ ㄏノ?﹍よ猭^(Vista HDD Installer^)??龄癶?...
set msg24=PE╰参い既ぃや??杆家Α 1??Τ疭?惠璶?叫?杆家Α 2?
set msg25=岿粇??┮ΤΤ?絃才い⊿祇瞷Vista/2008/Win7?杆祘??叫盢Vista/2008/Win7?
set msg26=杆祘?矗??セ?祑絃琘だ跋?ヘ魁??Ω?杆家Α 2
set msg27=?祇瞷Vista/2008/Win7?杆祘?
set msg28=家Α 2 ゼ????杆ア毖???
)
cls
title nt6 hdd Installer v2.6 !msg1! by chzhlh
echo.
if %windir:~0,2% equ X: (
if exist c:\boot\bcd (
  be >nul
  if !errorlevel! gtr 0 echo  !msg19! &echo. &echo  !msg20! &echo. &pause>nul &exit)
set /a wver=0
set driverall=C: D: E: F: G: H: I: J: K: L: M: N: O: P: Q: R: S: T: U: V: W: Y: Z:
set msg100=!msg11!
) else (
if exist %windir%\system32\slmgr.vbs  (
  if exist nt6hdd.temp.* attrib -r -h -s nt6hdd.temp.* >nul & del nt6hdd.temp.* >nul
  be /createstore nt6hdd.temp >nul
  if !errorlevel! gtr 0 echo  !msg2! &echo. &echo  !msg3! & pause>nul &exit
  set /a wver=6
  set driverall=A: B: C: D: E: F: G: H: I: J: K: L: M: N: O: P: Q: R: S: T: U: V: W: X: Y: Z:
  set msg100=!msg2!
  be >nul
  if !errorlevel! gtr 0 echo  !msg19! &echo. &echo  !msg20! &echo. &pause>nul &exit
  ) else (
  if exist c:\boot\bcd (
   be >nul
   if !errorlevel! gtr 0 echo  !msg19! &echo. &echo  !msg20! &echo. &pause>nul &exit)
  set /a wver=5
  set driverall=C: D: E: F: G: H: I: J: K: L: M: N: O: P: Q: R: S: T: U: V: W: X: Y: Z:
  set msg100=!msg10!)
)
set vhiuid={66666666-fa0f-11da-8ddf-001320035401}
set vhiuid1={77777777-fa0f-11da-8ddf-001320035401}
set vhiuid2={88888888-fa0f-11da-8ddf-001320035401}
:begin
cls
echo  !line1!
echo  !msg6_0!
echo  !line3!
echo.
echo !msg6_1!
echo.
echo  !line1!
echo  !msg5!
echo  !line2!
echo  !msg5_1!
echo  !line2!
echo  !msg6!
echo  !line2!
echo  !msg6_a!
echo  !line3!
echo.
set coi=
set coi1=
echo  !msg100!
echo.
Set /P coi= !msg7!
set coi1=%Coi:~0,1%
if /i "!coi1!"=="1" goto install
if /i "!coi1!"=="2" goto install2
if /i "!coi1!"=="3" goto uninstall
if /i "!coi1!"=="4" goto quitt
goto begin

:install
echo.
if !wver! equ 0 (
echo  !msg24!!msg4!
pause >nul
goto begin
)
if !wver! equ 6 (
if not exist c:\zchzr xcopy /y zchzr c:\ >nul
if not exist c:\zchzr.mbr xcopy /y zchzr.mbr c:\ >nul
be /create %vhiuid% /d "nt6 hdd Installer mode 1" /application bootsector >nul
be /set %vhiuid% device partition=c: >nul
be /set %vhiuid% path \zchzr.mbr >nul
be /displayorder %vhiuid% /addlast >nul
be /timeout 8 >nul
)
if !wver! equ 5 (
if not exist c:\boot.ini echo  !msg12! &echo. &echo  !msg4! &pause>nul &goto begin
if not exist c:\zchzr xcopy /y zchzr c:\ >nul
if not exist c:\zchzr.mbr xcopy /y zchzr.mbr c:\ >nul
type c:\boot.ini|find "zchzr.mbr" /i >nul
if !errorlevel! gtr 0 (
  attrib -h -r -s c:\boot.ini >nul
  copy /y c:\boot.ini %temp%\boot.ini.vhi >nul
  echo [boot loader] >c:\boot.ini
  echo timeout=8 >>c:\boot.ini
  type %temp%\boot.ini.vhi|find "loader]" /i /v|find "timeout" /i /v|find ";" /i /v >>c:\boot.ini
  echo c:\zchzr.mbr="nt6 hdd Installer mode 1">>c:\boot.ini
  attrib +s +h c:\boot.ini >nul
  )
)
attrib +r +h +s c:\zchzr.*
echo ======================================================================
echo.
echo  nt6 hdd Installer !msg13!
echo.
echo  !msg14!
echo.
echo  !msg4! & pause>nul & goto begin
:install2
echo.
set /a foundsources=0
for %%A in (!driverall!) do (
  if !foundsources! equ 0 (
   if exist %%A\boot\boot.sdi (
    if exist %%A\sources\setup.exe (
     if exist %%A\bootmgr (
      if exist nt6hdd.temp.* attrib -r -h -s nt6hdd.temp.* >nul & del nt6hdd.temp.*
      be /createstore nt6hdd.temp >nul
      be /store nt6hdd.temp /create {bootmgr} /d "Drivetest" >nul
      be /store nt6hdd.temp /set  {bootmgr} device partition=%%A >nul
      if !errorlevel! equ 0 (
       set sourcesdrive=%%A
       set /a foundsources=1
  ))))))
if !foundsources! equ 0 echo  !msg25! &echo        !msg26! &echo. &echo  !msg4! &pause>nul &goto begin
echo   !sourcesdrive!!msg27!
echo.
echo ======================================================================
if !wver! neq 6 (
if not exist c:\boot\bcd (
  if exist nt6hdd.temp.* attrib -r -h -s nt6hdd.temp.* >nul & del nt6hdd.temp.*
  be /createstore nt6hdd.temp >nul
  be /import nt6hdd.temp >nul
  be /create {bootmgr} /d "Windows Boot Manager" >nul
  be /set {bootmgr} device boot >nul
  )
if not exist c:\bootmgr (attrib -h -s !sourcesdrive!\bootmgr >nul © !sourcesdrive!\bootmgr c:\ >nul)
)
   
echo.
   
be /create %vhiuid1% /d "nt6 hdd Installer mode 2" /device >nul
be /set %vhiuid1% ramdisksdidevice partition=!sourcesdrive! >nul
be /set %vhiuid1% ramdisksdipath \boot\boot.sdi >nul
be /create %vhiuid2% /d "nt6 hdd Installer mode 2 [EMS Enable]" /application osloader >nul
be /set %vhiuid2% device ramdisk=[!sourcesdrive!]\sources\boot.wim,%vhiuid1% >nul
be /set %vhiuid2% path  \windows\system32\boot\winload.exe >nul
be /set %vhiuid2% locale  en-US >nul
be /set %vhiuid2% osdevice ramdisk=[!sourcesdrive!]\sources\boot.wim,%vhiuid1% >nul
be /set %vhiuid2% systemroot \windows >nul
be /set %vhiuid2% detecthal Yes >nul
be /set %vhiuid2% winpe Yes >nul
be /set %vhiuid2% ems Yes >nul
be /displayorder %vhiuid2% /addlast >nul
be | find "!vhiuid2!" >nul
if !errorlevel! gtr 0 (
echo  nt6 hdd installer !msg28!
echo.
echo  !msg4! & pause>nul & goto begin
)
be /timeout 8 >nul
if !wver! equ 5 (
be /create {ntldr} /d "Earlier Version of Windows" >nul
be /set {ntldr} device boot >nul
be /set {ntldr} path \ntldr >nul
be /displayorder {ntldr} /addfirst >nul
be /default {ntldr} >nul
)
if !wver! equ 0 (
if exist c:\ntldr (
  be /create {ntldr} /d "Earlier Version of Windows" >nul
  be /set {ntldr} device boot >nul
  be /set {ntldr} path \ntldr >nul
  be /displayorder {ntldr} /addfirst >nul
  be /default {ntldr} >nul
))
if exist c:\bootmgr (
if !wver! equ 5 (bs /nt60 c: >nul)
if !wver! equ 0 (bs /nt60 c: /mbr >nul)
)
echo  nt6 hdd Installer !msg13_1!
echo.
echo  !msg14_1!
echo.
echo  !msg4! & pause>nul & goto begin

:uninstall
echo.
echo  !msg16!
echo.
be /delete %vhiuid% /f >nul
for %%A in (!driverall!) do (
if exist %%A\zchzr attrib -r -h -s %%A\zchzr &del %%A\zchzr >nul
if exist %%A\zchzr.mbr attrib -r -h -s %%A\zchzr.mbr &del %%A\zchzr.mbr >nul
  if exist %%A\boot.ini (
   type %%A\boot.ini|find "zchzr.mbr" /i >nul
   if !errorlevel! equ 0 (
    attrib -r -h -s %%A\boot.ini >nul
    copy /y %%A\boot.ini %temp%\boot.ini.unc >nul
    type %temp%\boot.ini.unc|find "zchzr.mbr" /i /v >%%A\boot.ini
    attrib +h +s %%A\boot.ini >nul
      )
     )
         )
echo ======================================================================
echo.
be /delete !vhiuid1! /f >nul
be /delete !vhiuid2! /f >nul
if !wver! neq 6 (
  be /enum bootmgr | find /n /i "displayorder" >nt6hdd.temp
  be /enum bootmgr | find /n /i "timeout" >>nt6hdd.temp
  find /i "[8]displayorder" nt6hdd.temp >nul && set /a aa=1 || set /a aa=0
  find /i "[9]timeout" nt6hdd.temp >nul && set /a bb=1 || set /a bb=0
  set /a aa=!aa!+!bb!
  if !aa! equ 2 (
   find /i "[8]displayorder" nt6hdd.temp | find /i "ntldr" >nul
   if !errorlevel! equ 0 (
    if exist c:\ntldr (
     bs /nt52 c:>nul
     ))))

echo  !msg18!!msg4! &pause>nul &goto begin
:quitt
set coi=%Coi:~0,5%
if /i "!coi!"=="4NT52" goto i1
if /i "!coi!"=="4NT60" goto i2
exit
:i1
if !wver! equ 6 goto begin
if not exist c:\ntldr goto begin
cls
echo.
bs /nt52 c: >nul
if !errorlevel! equ 0 (echo. &echo  Change Boot Record to NT52...OK) else (echo   Change Boot Record to NT52...Error)
echo.
echo  Press any key to Exit......
pause >nul
exit
:i2
if !wver! neq 6 (
if not exist c:\bootmgr exit
if not exist c:\boot\bcd exit
)
cls
echo.
if !wver! neq 6 (bs /nt60 c: >nul) else (bs /nt60 sys >nul)
if !errorlevel! equ 0 (echo. &echo  Change Boot Record to NT60...OK) else (echo   Change Boot Record to NT60...Error)
echo.
echo  Press any key to Exit......
pause >nul
exit
发表于 2010-3-13 23:42:08 | 显示全部楼层
谢谢分享.学习了.
发表于 2010-3-14 11:45:27 | 显示全部楼层
谢谢分享.学习了.先下来试试。
发表于 2010-12-14 11:52:34 | 显示全部楼层
看看。。。。下下来用用
发表于 2010-12-15 18:56:21 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2011-10-25 20:12:02 | 显示全部楼层
真的吗?哈哈哈哈哈哈哈哈
发表于 2011-10-25 20:12:22 | 显示全部楼层
真的吗?哈哈哈 哈
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|家电维修技术论坛 ( 鄂ICP备09003585号-2 )

GMT+8, 2024-5-29 11:16 , Processed in 0.075356 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

CopyRight © 电子技术论坛
电子邮箱:8794149@qq.com | 联系 QQ:3081868839 | 官方网址:www.dzdu.com

Qiji. All Rights Reserved


服务条款 | 站长声明

Wuhan Qiji Technology Co., Ltd.武汉奇迹科技有限公司版权所有


鄂ICP备09003585号-2鄂公网安备42010602000420号

快速回复 返回顶部 返回列表