• 文章中心
  • 我所知道的PELDR知识 安装盘、光盘启动过程

    作者:upzxt 文章来源:u盘装系统 发布时间:2012-08-03 18:09点击:

    我所知道的PELDR知识 安装盘、光盘启动过程

    一、windows xp 安装盘启动过程:

      原于最广泛使用的 xp 系统安装盘,在此有必要简要说明其启动过程:
      光盘引导信息boot.bin(被写入光盘引导轨道中)引导光盘启动后,调用光盘:\i386\setupldr.bin 和 ntdetect.com,并根据winnt.sif文本配置文件侦测安装文件并将系统安装到硬盘。

    二、WINPE_LOADER 光盘启动过程:
      (一) WINPE_LOADER 文件列表
      WinPE毕竟是MS的附属产品,包含文件如下(分别对应XP启动盘中的那几个文件):
      1、PEBOOT.BIN,2、SETUPLDR.BIN(PELDR),3、NTDETECT.COM,4、WINNT.SIF(WINNT.XPE)必须放在根目录。另外还要附带WINPE的ISO文件WINPE.ISO,此文件被CAB压缩后仍然可以被PELDR调用。
      具体启动过程是:PEBOOT.BIN在制作光盘时被写入光盘引导轨道,光盘启动后调用光盘:\I386\SETUPLDR.BIN,找到根目录下的WINNT.SIF,根据WINNT.SIF文本中的配置信息找到WINPE.ISO,并将WINPE.ISO载入一个内存虚拟盘X:,在此过程中,要求 WINNT.SIF(WINNT.XPE)必须放在根目录,SETUPLDR.BIN(PELDR)和NTDETECT.COM必须在同一个目录中,如果要将此两个文件放在wxpe目录中,必须同时修改peboot.bin和setupldr.bin的内容,通过ASCII编辑器将其中的i386改成wxpe,同样,如果需要修改 winnt.sif(winnt.xpe)文件名也要通过这个办法修改setupldr.bin的内容。
      (二)WINNT.SIF(WINNT.XPE)的文本内容举例如下:
    [SetupData]
    BootDevice="ramdisk(0)"
    BootPath="\WXPE\SYSTEM32\"
    OsLoadOptions="/minint /fastdetect /rdexportascd /rdpath=winpe\WinPE.IS_"
      其中第3行表示winPE.iso被启动载入后RAMDISK.SYS等文件在WINPE.ISO中的位置;
      第4行表示WINPE.ISO文件在光盘/硬盘的调用位置,可以通过类似ntldr中boot.ini的硬盘分区表示方法跨分区调用;
      比如:
    OsLoadOptions="/minint /fastdetect /rdexportascd /rdpath=multi(0)disk(0)rdisk(0)partition(1)\winpe\winpe.is_"
      (三)其他说明:
      一些WinPE文档中还提到XPEMENU.INI(PEinstall.log)文件。这是必须存放在根目录下的winpe调用文件,用来描述pe外置程序的位置,以u盘装系统winpe为例外置程序必须放在某个盘的根目录,如果pe外置程序与winpe.iso不在同一个分区中,就必须通过xpemenu.ini(peinstall.log)进行指引。但在光盘中,就不必有这个文件的顾虑了,因为所有文件都要放到一个盘—光盘中。
     
    三、通过c:盘(hd0,0) NTLDR(NT/2K/XP/2K03) 调用winpe.iso的方法:
      (一)这里需要使用第三方引导器grub4dos中的几个文件:
      Grldr(中文版) menu.lst(启动菜单配置文件)  c:\
      fonts(中文字体)  c:\winpe
      GRUB是一个非常不错的软件,它可以被多个系统载入,同时可以引导多种格式的启动文件。基本上可以满足目前制作系统引导/光盘引导方面的各种需求。
      (二)peldr 文件:
      Setupldr.bin(peldr)    c:\winpe
      winnt.sif(winnt.xpe)   c:\
      (三)winpe.iso及其附属文件:
      Winpe.iso  c:\winpe
      Peinstall.log(xpemenu.ini)  c:\
      (四)有关NTLDR:
      NTLDR是NT/2K/XP/2K03 系统安装时直接安装到系统盘上的MS引导器,安装过程中系统盘BOOT区被存储了NTLDR引导调用信息,就如同光盘引导轨道中存储CDBOOT.BIN 内容一样。当硬盘启动后最先调用的就是硬盘的BOOT区信息,然后通过这段引导代码引导电脑找到 C:\NTLDR 再进一步启动到 NT系列系统。
      NTLDR 具体包括如下文件,需要存放在系统引导盘根目录
      NTLDR  NTDETECT.COM  BOOT.INI  BOOTFONT.BIN
      其中BOOT.INI是NTLDR引导器的文本配置文件,用于通过NTLDR引导NT/2K/XP/2K03系统。
      NTLDR也可以通过调用BOOT区信息文件或其他可挂接的引导器引导进入另一个系统。
      (五)配置文件的内容:
      1、Winnt.sif(winnt.xpe)内容如下:
    [SetupData]
    BootDevice="ramdisk(0)"
    BootPath="\WXPE\SYSTEM32\"
    OsLoadOptions="/minint /fastdetect /rdexportascd /rdpath=winpe\WinPE.IS_"
      2、Menu.lst内容如下:
    color black/cyan yellow/cyan
    timeout 10
    default 调用 WINXPE iso
    fontfile (hd0,0)/winpe/fonts
    title 搜索硬盘 NTLDR 启动 MS_WINDOWS NT/2K/XP/2K03
    find --set-root /ntldr
    chainloader /ntldr
    savedefault --wait=2
    title 调用 WINXPE iso
    root (hd0,0)
    chainloader (hd0,0)/winpe/setupldr.bin
    savedefault --wait=2
    title 重新启动
    savedefault --wait=2
    reboot
    title 关闭电脑
    Halt
    savedefault --wait=2
      3、xpemenu.ini(peinstall.log) 文件名大概由winpe.iso中的配置决定,内容如下:

    WinPE镜像文件=WinPE.IS_
    WinPE外挂位置=c:
    WinPE安装日期=2007-11-14 星期三 9:01:32.17
      4、Boot.ini文件中添加如下一行内容:
    c:\grldr="Grub Loader for WINPE_ISO"

    四、通过c:盘(hd0,0) MSDOS_IO.SYS调用winpe.iso的方法:
      (一)这里需要使用第三方引导器grub4dos中的几个文件:
    Grldr.exe(中文版)、menu.lst(启动菜单配置文件)、fonts(中文字体)
      将这三个文件放入c:\grub
      (二)peldr文件:
    Setupldr.bin(peldr)    c:\winpe
    winnt.sif(winnt.xpe)  c:\
      (三)winpe.iso及其附属文件:
    Winpe.iso   c:\winpe
    Peinstall.log(xpemenu.ini)    c:\
      (四)有关NTLDR:
      或许是因为winpe毕竟是nt级别以后的产品,所以其在硬盘上引导启动的时候需要根目录存在ntldr的如下两个文件:
    NTLDR TDETECT.COM
      (五)有关msdos的io.sys:
      Msdos是微软公司整合改良出品的dos系统,其核心引导文件是 c:\io.sys ,还有一个命令解析程序文件C:\COMMAND.COM和一个中心配置文件C:\MSDOS.SYS。 其启动配置文件包括c:\config.sys和C:\autoexec.bat。曾经盛行一时的WIN9X系列其实也是使用的此系统作为底层操作系统。MSDOS系统也是通过在安装MSDOS的时候向硬盘引导区(BOOT区)写入一段代码,然后在系统启动时引导电脑找到C:\IO.SYS来启动MSDOS的。这里通过配置Config.sys文件实现通过msdos启动grub4dos。
      (六)配置文件的内容:
      1、Winnt.sif(winnt.xpe)内容如下:
    [SetupData]
    BootDevice="ramdisk(0)"
    BootPath="\WXPE\SYSTEM32\"
    OsLoadOptions="/minint /fastdetect /rdexportascd /rdpath=winpe\WinPE.IS_"
      2、Menu.lst 内容如下:
    color black/cyan yellow/cyan
    timeout 10
    default 0
    fontfile (hd0,0)/winpe/fonts
    title 正常进入MSDOS
    quit
    savedefault --wait=2
    title 调用 WINXPE iso
    root (hd0,0)
    chainloader (hd0,0)/winpe/setupldr.bin
    savedefault --wait=2
    title 重新启动
    savedefault --wait=2
    reboot
    title 关闭电脑
    Halt
    savedefault --wait=2
      3、xpemenu.ini(peinstall.log) 文件名大概由winpe.iso中的配置决定,内容如下:
    WinPE镜像文件=WinPE.IS_
    WinPE外挂位置=c:
    WinPE安装日期=2007-11-14 星期三 9:01:32.17
      4、Config.sys文件中确保如下内容在最前面一行:
    DEVICE=C:\GRUB\GRUB.EXE --CONFIG-FILE=c:\grub\MENU.LST

    五、在U盘中运行WINPE.ISO:
      其实,通过U盘启动WINPE应该非常简单了,只要将U盘格式化成HDD格式,然后导入NTLDR引导器或者MSDOS核心系统,再根据前面的第四节的内容操作即可实现。当然还需要一些硬件的支持,比如:BIOS中要支持HDD启动、U盘要支持制作成启动盘等。

    (责任编辑:u盘装系统)