已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
没想到制作方法发布得到如此广泛的关注,看来大家都跟我一样希望制作一个通用性比较好的系统维护工具。经过这几天各位网友的测试反馈,发现NT Loader + Avlgo的方式兼容性不太理想。于是我又换别的启动方式试验。现将试验成功的另外两种方法也一并发布,大家共同试验、探讨。谨以此文抛砖引玉,希望在众人的研究之下,最终能找到一个兼容性比较好的解决方案。前缘:很多年以前,那时候软驱还是电脑的必配,维护电脑引导系统也用软盘,我那时候就做了N片启动软盘。后来随着软盘淡出市场,系统维护盘也改用光盘了,例如著名的深山红叶系统维护工具盘,就为我的工作提供了有力的帮助。不过光盘还是存在容易磨花,体积较大等缺点。现在的电脑基本上都支持USB设备启动,U盘可以做成小巧而容易携带的系统维护盘;可重写的存储媒体也为更新提供了方便,再也不用为了升级刻录一堆光盘了。目标:对于系统维护来说,WindowsPE不可却少的利器;除此外,有一些问题还是需要启动到DOS环境来解决。所以我的目标就是制作一个DOS/WinPE双启动的系统维护U盘。下次再遇到某电脑系统崩溃的话,从衣袋里面摸出一精致的U盘,启动电脑之后,把问题解决于弹指间。何其潇洒也!技术背景:其实,U盘启动电脑,主要是各种引导工具的合理灵活运用,所有的操作和调试,也都是围绕引导工具的安装和配置进行的。我们知道,作为操作系统的主要载体,磁盘一直是最重要的存储媒质。因此基本上所有的OS引导的模式都大致相同,都是由磁盘来装入的。首先,需要在OS所在磁盘的MBR(主引导记录)扇区写入特定的引导代码,电脑启动后会按照BIOS里面设置的启动顺序轮询对应磁盘的MBR区,如果找到有效的MBR记录,就按照MBR记录的指针去装入OS引导文件,如果OS引导文件正常,就加载对应的操作系统。因此完成一个操作系统的启动,需要两个必须的步骤:1、MBR引导;2、OS引导。基于上述基本原理,各种操作系统都有自带的引导器,例如WindowsNT以上系统的NT Loader(NTLDR)、Linux的Lilo、各版本的Grub引导器等等,当然还有一些第三方的多系统引导工具如System Commander等等。对于我们目前的这个应用,目的是能够在U盘上实现DOS/WinPE双启动,并且具有相对比较好的兼容性。要达到这个目的,就有一些技术要求。首先,方案要能够适应U盘移动存储这种盘符变动的情况;其次,要实现双启动,一般都会用到虚拟盘镜像,也就是引导器需要支持RAMDisk加载各种常见磁盘镜像启动的方式。虽然U盘具有小巧轻量并且可以反复擦写等诸多优点,但如果要做成启动盘,还存在一些需要解决的问题。最大的问题是:USB启动并没有统一的行业规范。主板制造商不同、BIOS不同,USB引导方式也有差异。作为移动存储设备,主板对U盘的识别不同,会使盘符变化。这些直接导致U盘启动的通用性和兼容性不理想,表现就是在有些电脑上无法引导。这是需要重点解决的问题。OS选择:DOS系统选用MS-DOS 7.1;WinPE选用无忧论坛老毛桃的“外置网络、多媒体组件的老九 WinPE 老毛桃最终修改版”。方案一:NT Loader + AVLDR + AvlgoMBR用NT Loader引导,在NTLDR引导菜单中设置选项:用AVLDR引导WinPE;而用Avlgo引导DOS;由于Avlgo不支持选单方式多重启动,为了解决不同主板识别U盘的盘符不同的问题,对Avlgo引导配置文件稍作修改,以适应盘符变化的启动需求。工具准备:PeToUsb用来把U盘格式化成NT引导模式;WinImage用于制作DOS启动软盘镜像;Avlgomgr用于生成Avlgo引导文件;UltraEdit用于编辑修改Avlgo的引导文件。数据准备:1、PeToUSB是一款免费软件,专门用来把U盘引导区格式化成NTLDR引导代码。启动PeToUSB,从“Destination Driver”栏选择目标U盘,点击下面的“Start”按钮,它询问“Continue”是否继续,点击“是”,弹出一个警告窗口,提示目标盘的所有数据都将会丢失,是否继续?还是选择“是”,然后片刻就完成格式化。2、用WinImage制作一个2.88M的启动软盘镜像,将MS-DOS 7.1装入镜像,并把常用的DOS工具也放到镜像里面。启动WinImage后,点击最左边的按钮新建一个镜像,这里选择标准格式2.88MB,为的是尽量能多存放一些工具。然后向这个镜像中添加文件,把事先准备好的MS-DOS系统文件从资源管理器里面拖拽到WinImage窗口中。其它DOS工具也这样添加进来。文件添加完毕之后,点击“映像”菜单“引导扇区属性”,选择“Windows 95/98”并确定,这一步很重要,漏做这一步的话,这个软盘镜像就不能引导电脑了。最后保存成ima格式的镜像文件DOS.ima。3、先备份好C盘的Boot.ini文件,注意默认状态看不到这个系统、隐藏属性的文件,需要到资源管理器里面“工具”菜单“文件夹选项”当中修改查看方式,取消“隐藏受保护的操作系统文件”复选框,并切换为显示所有文件。启动Avlgomgr,在“虚拟磁盘完整路径”浏览找到刚才用WinImage制作的镜像文件,然后点击“装配”按钮,Avlgomgr自动修改Boot.ini文件,并在目标盘(本例为C盘)生成我们需要的Avldr.bin和Avlgo.sys两个关键文件,把这两个文件拷贝到某处备用。完成以后恢复原C盘的Boot.ini文件。4、启动UltraEdit,先打开Avldr.bin,在编辑屏右边的ASC码区域可以找到“AVLGO.SYS”的字符串,把它改成“AVDOS.SYS”,文件另存为Avldr.dos。5、然后打开Avlgo.sys,在右边ASC码区域找“(hd00)/DOS.IMA”字符串,把它修改成“(fd0)/DOS.IMA”。修改的时候要注意,由于修改后的字符串比修改前的短,为保证文件长度不变,剩下的部分要切换到左边16进制码区域,用“00”填充,这样才能保证文件长度不变。修改完后另存为Avdos.sys。开始组装:1、首先,在U盘的根目录用记事本创建一个Boot.ini文件,内容如下:boot loadertimeout=30default=C:avldr.xpeoperating systemsC:avldr.xpe=Windows PE By:LaoMaotaoC:avldr.bin=MS-DOS 7.1 form USB-HDDC:avldr.dos=MS-DOS 7.1 from USB-FDD完成以后把这个文件的属性修改成 只读/系统/隐藏(可以用DOS命令 attrib +r +s +h boot.ini 修改文件属性)。这是NT Loader的菜单配置文件,timeout参数设置的是菜单等待时间,如果在设定的时间(本例为30秒)用户没有进行选择,就自动加载default项默认的C:avldr.xpe,启动WinPE。operating systems小节是菜单中出现的引导选项,第一个就是前面default设置的老毛桃WinPE,双引号里面的是注释行,会显示在引导菜单里面。下面两行分别是为主板识别U盘为USB-HDD和主板识别U盘为USB-FDD两种模式对应的引导项。2、把硬盘系统的NTLDR和NTDETECT.COM两个文件拷贝到U盘根目录,这是NT Loader引导器的必须文件。3、把下载到的老毛桃WinPE的ISO文件解压缩到一个临时文件夹,把其中“WINPE安装”文件夹里面的AVLDR.XPE拷贝到U盘的根目录,把“WXPE”文件夹下的 SETUPLDR.BIN 也拷贝到U盘根目录并改文件名为 LDRXPE。把临时文件夹里面的 WINNT.XPE、WINPE.IS_、和“外置程序”文件夹都拷贝到 U 盘的根目录下。做完这一步,U盘就可以引导到WinPE下了。如果启动的时候选第一项“Windows PE By:LaoMaotao”,系统将依照NTLDR-avldr.xpe-winnt.xpe-winpe.is_这个顺序链把电脑启动到Windows PE环境下。5、把软盘镜像文件DOS.ima拷贝到U盘根目录。6、把前面生成的Avldr.bin和Avlgo.sys两个文件拷贝到U盘根目录,对照Boot.ini文件可知,这两个文件是对应于菜单中第二行 for USB-HDD模式。如果启动的时候选择第二项“MS-DOS 7.1 form USB-HDD”,系统将依照NTLDR-avldr.bin-avlgo.sys-DOS.ima这个顺序链把电脑启动到MS-DOS环境下。7、把前面UltraEdit编辑生成的Avldr.dos和Avdos.sys两个文件拷贝到U盘根目录,对照Boot.ini文件可知,这两个文件是对应于菜单中第三行 for USB-FDD模式。如果启动的时候选择第三项“MS-DOS 7.1 form USB-FDD”,系统将依照NTLDR-avldr.dos-avdos.sys-DOS.ima这个顺序链把电脑启动到MS-DOS环境下。至此DOS/WinPE双启动系统维护U盘制作成功。方案二:NT Loader + Grub4DOS因为Avlgo引导器默认是不支持多重配置选单的,所以前面我使用了特别的方式编辑处理Avlgo的引导配置文件,以期解决U盘启动盘符变动引发的问题。从网友的反馈看,这种方式引导DOS启动软盘镜像,失败率还是比较高。基本上出问题的情况都是NT Loader引导正常,但是到Avlgo的环节出错。因此这套方案,依然保留NT Loader作为MBR引导器,用Grub4DOS来引导OS。1、给U盘写入NTLDR的MBR,此项工作可以用PeToUSE来完成,也可以用其它方式达成目标。具体操作见方案一。2、把NT Loader所需的文件NTLDR和NTDETECT.COM拷贝到U盘根目录。3、编辑NT Loader启动菜单Boot.ini。用任何文本编辑器创建一个Boot.ini文件,内容如下:boot loadertimeout=0default=C:grldroperating systemsC:grldr=Boot MenuBoot.ini菜单各个项目的含义请对照方案一的说明。4、拷贝Grub4DOS文件,把Grub4DOS里面的grldr拷贝到U盘根目录;在U盘根目录创建一个Boot文件夹,把Grub4DOS的中文字体文件Fonts.tz和菜单背景图片文件Splash.gz拷贝到这个文件夹下。在U盘根目录创建一个grubidx.txt文件,内容无所谓。5、把DOS软盘镜像文件dos.ima拷贝到U盘的Boot文件夹下。6、把老毛桃WinPE里面的WINNT.XPE和WINPE.IS_文件拷贝到U盘根目录;把WXPE文件夹下面的SETUPLDR.BIN拷贝到U盘根目录下并更名为LDRXPE,注意没有后缀哦。把“外置程序”文件夹拷贝到U盘根目录。7、创建Grub引导菜单文件,用任何纯文本编辑器在U盘根目录创建一个Menu.lst文件,内容为:timeout 30default 0splashimage /boot/splash.gzforeground ffff00fontfile /boot/fonts.gztitle 启动 WindowsPEfind -set-root /grubidx.txtchainloader /ldrxpetitle 启动 MS-DOS 7.1find -set-root /grubidx.txtmap -mem /boot/dos.ima (fd0)map -hookchainloader (fd0)+1rootnoverify (fd0)做完这些,U盘就可以启动了。菜单项目说明:第一行设置等待30秒的等待时间;第二行设置如果30秒用户没有选择,就默认启动第一个引导项目“启动 WindowsPE”;splashimage项目设置Grub4DOS启动菜单的背景图片,图片路径为/boot/splash.gz;foreground项设置启动菜单文字颜色为亮黄色;fontfile项设置中文字体文件为/boot/fonts.gz下面两个以title结尾的小节就是启动菜单的两个启动项,title后面的文字将显示在菜单中;find -set-root /grubidx.txt这一项是自动搜索grubidx.txt这个事先创建好的特征文件,它只要找到这个文件,就把文件所在的路径设置为根设备,这样就不会被盘符变化困扰了。至于特征文件的内容,那就无所谓了。chainloader /ldrxpe就是启动WinPE的XPE镜像。map -mem /boot/dos.ima (fd0)是装入/boot/dos.ima这个软盘镜像,并且虚拟成fd0.map -hook是让装入的软盘镜像立即加载生效。rootnoverify (fd0)指定把刚才虚拟的fd0设置为根设备。本来,Grub4DOS可以直接安装到U盘的根目录,但是我反复尝试了多次,MBR是写进去了,可总是报错无法引导。所以还是用NT Loader做MBR引导器,由于NT Loader不支持加载镜像文件,所以MBR引导成功后,把控制权交给Grub4DOS,由Grub4DOS来加载WinPE的XPE镜像以及MS-DOS的软盘镜像实现启动对应OS的功能。方案三:MS-DOS 7.1 + Grub4DOS本来这个方案是我着手制作双启动U盘最早选用的方案,但是在我的华擎845E主板上始终没法使用,所以开始没有发布。这次发布出来供大家测试,看看是不是我那主板的特例。本方案的MBR由DOS引导,WinPE由Grub4DOS加载启动。相对前面的方案,这个方案制作起来最简单。1、用HP USE Disk Storage Format Tool把U盘格式化成FAT可引导盘。2、根据自己的需要,把其它DOS文件和一些DOS工具拷贝到U盘。3、把老毛桃WinPE里面的WINNT.XPE和WINPE.IS_文件拷贝到U盘根目录;把WXPE文件夹下面的SETUPLDR.BIN拷贝到U盘根目录下并更名为LDRXPE,注意没有后缀哦。把“外置程序”文件夹拷贝到U盘根目录。4、把NTLDR和两个文件拷贝到U盘根目录,这是启动XPE格式WinPE镜像必须的文件。5、把grub.exe和fonts.gz两个Grub4DOS的程序文件和中文字体文件拷贝到U盘根目录。6、用任何文本编辑器在U盘根目录创建Menu.lst,内容如下:timeout 0default 0fontfile /fonts.gztitle 启动 WindowsPEfind -set-root /grubidx.txtchainloader /ldrxpe在U盘根目录创建一个grubidx.txt文件,内容无所谓,作用是配合Menu.lst作为Grub特征文件查找确定根设备。7、自行编辑Config.sys和Autoexec.bat,构建DOS多重开机选单,加入启动Grub4DOS的项目。要保证启动Grub的时候不装入任何的内存管理程序和其它驱动程序、驻留程序,以免跟Grub4DOS发生冲突。可以简单地在Autoexec.bat里面加入一行:grub这样就可以启动Grub4DOS了。当然,由于要实现双启动,所以要把这两个配置文件编辑成多重选单的方式,在需要的时候可以启动对应的配置。我把我的配置文件内容放在下面供参考。Config.sys内容:MENUMENUITEM=1XMS without CD-ROM supportMENUITEM=2XMS with CD-ROM supportMENUITEM=3XMS and EMSMENUITEM=4DOS real mode(no XMSno EMS)MENUITEM=5Windows PEMENUDEFAULT=5301DEVICE=HIMEM.SYS /TESTMEM:OFFDEVICE=EMM386.EXE NOEMSINCLUDE=PUB2DEVICE=HIMEM.SYS /TESTMEM:OFFDEVICE=EMM386.EXE NOEMSDEVICEHIGH=VIDE-CDD.SYS /D:SSCD001INCLUDE=PUB3DEVICE=HIMEM.SYS /TESTMEM:OFFDEVICE=EMM386.EXE RAMINCLUDE=PUBPUBDOS=HIGHUMBFILES=30BUFFERS=20STACKS=9256LASTDRIVE=Z4FILES=10BUFFERS=10LASTDRIVE=Z5Autoexec.bat内容:ECHO OFFPATH=A:;C:;A:Diskgen;C:DiskGen;A:DM;C:DMGOTO %CONFIG%:1GOTO COMMON:2LH SHSUCDX.COM /D:SSCD001GOTO COMMON:3GOTO COMMON:4GOTO END:5GRUB:COMMONLH SMARTDRV.EXE /XECHO Install mouse driver?CHOICE /C:YN YesNo /T:N6IF ERRORLEVEL 2 GOTO ENDLH MOUSE.COM:END按照这个配置,启动的时候如果选择第5个项目,或者超过30秒没有做选择自动执行第5个项目,那就经由Autoexec.bat里面对应的语句启动Grub4DOS,然后Grub4DOS会根据Menu.lst的设置启动WinPE。DOS多重启动配置的具体做法,请参考有关资料。感谢5free和david_ge的帮助!本文选用的“WinPE 老毛桃最终修改版”可以到无忧论坛或者老毛桃的网盘下载:附件中Avdos.rar是我制作好的Avlgo引导文件;NTLDR.rar是NT Loader引导器文件;PeToUSB.rar是格式化NTLDR引导盘的工具;Avlgomgr2007.rar是Avlgo装配工具;FixNTBoot.rar是另外一个用来写NT Loader MBR的工具。其它软件由于涉及版权,请自行到网上寻找。最近在研究DOS/WinPE双启动U盘,开始的时候用Grub for DOS,结果这个东西对USB设备的支持有兼容性问题,搞得有的主板装入WinPE的时候死机。后来用NTLDR+AVLDR代替Grub for DOS搞定了启动WinPE兼容性问题。目前的需要解决的问题是如何用NTLDR启动DOS。现在我是把DOS文件放在U盘根目录,已经提取生成了U盘格式化为DOS引导模式的引导扇区文件。但是不知道如何编写Boot.ini文件,是否还需要把DOS系统文件制作成某种镜像?本次采用的WinPE是“老九 WinPE 老毛桃最终修改版”光盘版,它其实是一个XPE格式的镜像。对于这个镜像,WinPE系统之外的软件存放在“外置程序”文件夹。我们可以根据自己的需要,对外置程序进行增删、修改。下面介绍修改方法。如果是用它刻录光盘,就用UltraISO一类的镜像编辑工具打开ISO并编辑它;如果像本例这样想把它安装的U盘,可以用WinRAR把ISO文件解压缩后直接进行编辑。由于WinPE是一个脱离于原机硬盘系统的调试预安装环境,因此需要添加到外置程序中的软件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2.4 《幼蚕在生长》 教案 2025-2026学年小学科学三年级下册 教科版
- 2026贵州贵阳清镇市中医医院招募18人笔试备考试题及答案解析
- 2026年韶关市信访系统事业单位人员招聘考试备考试题及答案详解
- 2026西南有色昆明勘测设计(院)股份有限公司招聘20人笔试参考试题及答案解析
- 2026四川绵阳科技城科技服务有限责任公司下属子公司招聘3人笔试参考试题及答案解析
- 2026甘肃陇南成县中医院招聘32人笔试参考试题及答案解析
- 2026年杭州市上城区小营街道办事处编外招聘1人笔试参考题库及答案解析
- 中国矿业大学招聘劳务派遣人员10人 (2026年第一批)考试备考试题及答案解析
- 1.7 《制作指南针》课件 小学科学三年级下册 教科版
- 新能源汽车动力电池生产线项目投资计划书
- 生物浙江宁波市三锋联盟2025-2026学年度高一年级第二(下)学期期中联考(4.22-4.24)
- 2026福建福州开大学川智慧教育科技有限公司招聘财务主管笔试参考题库及答案解析
- 2026年二级建造师二建法规考前预测重点知识强化记忆总结笔记
- 心血管科试卷及分析
- 2026四川发展(控股)有限责任公司所属公司招聘5人笔试参考题库及答案解析
- 湖北省武汉市2026届高三毕业生四月调研考试语文试卷(含答案)
- 养老机构防灾避险课件
- 环氧彩砂自流平地坪施工及验收规范
- 2026年辽宁能源集团招聘考试指南及模拟题解析
- 六化建设培训
- 2026年甘肃省平凉市辅警人员招聘考试真题解析含答案
评论
0/150
提交评论