详细讲解WinPE制作方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、WINPE.INI调用过程WINPE.INI由PE系统的SYSTEM32\PECONFIG.INI指定:如:进程延时=10外部配置文件=外置程序\WinPE.INI
2、编辑PE注册表运行regedit.exe,光标定位到HKEY_USERS或HKEY_LOCAL_MACHINE项,然后“文件-加载配置单元-选择注册表文件setupreg.hiv-随便起个名字如PE-修改-光标定位PE项-文件-卸载配制单元”。
3、menu.lst中磁盘分区的表示方法hdx,yx代表磁盘数,从0开始y代表分区数,从0开始,主分区用了0、1、2、3,所以逻辑分区是从4开始的
4、PELDR跨分区加载文件/rdpath=multi(0)disk(0)rdisk(0)partition(2)\XPE.IMG
5、grubinst_gui的用法1、下载grubinst(grubinst.rar (27.18 KB))2、双击grubinst_gui.exe3、在"磁盘"右面的列表中选择需要安装Grub4Dos的硬盘/软盘,如果你有多个磁盘(包括USB移动硬盘),请留意[]中显示的磁盘大小,以便选择正确的磁盘。
4、若需要安装到分区,可点击"分区列表"右面的"刷新"按钮,然后从下拉列表中选择需要的分区(支持FAT12/FAT16/FAT32/EXT2/EXT3)。
若需要安装到MBR,这一步可省略。
5、若想以后能恢复原来的MBR/BS,则在"保存文件"中输入用于保存的文件名字。
6、点"安装",出现命令窗口,如果看到"The MBR/BS has been successfully installer", 则说明安装成功。
当然,以上步骤只是安装启动代码,要能正常启动Grub4Dos,还需要以下的步骤:
7、下载最新版的Grub4Dos。
8、在压缩包中找到grldr,把它放到FAT16/FAT32分区的根目录中。
9、编辑menu.lst文件(应该放在和GRLDR一样的目录里),以配置启动菜单。
若没有FAT16/FAT32分区,则不能把Grub4Dos安装到MBR/BS,而只能利用NT的启动管理器启动Grub4Dos:1、下载Grub4Dos,把GRLDR解压到系统盘的根目录里(C:\)2、编辑C:\boot.ini(此文件是隐藏的),在文件的最后加上C:\GRLDR="Load Grub4Dos"3、编辑C:\menu.lst文件,以配置启动菜单。
4、下次启动Windows时,会增加"Load Grub4Dos"一项,选择它便能进入Grub4Dos
6、PE引导文件AVLDR.PEPELDRWINNT.SIF这三个文件是必须的,跟PE镜像一起放入C盘再改下boot.ini文件后重启就能看到你要的PE系统了,下面是它们的作用及需要修改的内容:①AVLDR.PE是计算机启动时载入的文件,文件中有1条数据为PELDR的文件名。
②PELDR是PE启动载入程序,文件中有7条数据为PE的系统目录名,要根据PE镜像的不同而更改,如I386和WXPE,修改注意区分大小写;还有9条数据为WINNT.SIF的文件名。
③WINNT.SIF是引导配置文件,可用记事本打开,内容如下:[SetupData]BootDevice="ramdisk(0)"BootPath="\系统目录名\SYSTEM32\"OsLoadOptions="/minint /fastdetect /rdexportascd /rdpath=PE镜像文件名"例如:[SetupData]BootDevice="ramdisk(0)"BootPath="\WXPE\SYSTEM32\"OsLoadOptions="/minint /fastdetect /rdexportascd /rdpath=WinPE.IS_"④把这3个文件和PE镜像文件都拷到C盘后,记得在boot.ini文件最后一行加上如下内容:C:\AVLDR.PE="启动菜单显示名称随便改"修改注意事项:这3个文件名都可随便更改,AVLDR.PE改名后到④里更新一下,PELDR改名后到
①里更新,WINNT.SIF改名后到②里更新。
7、改变X盘空间大小提取pecmd.ini文件,将开头的:PLH值改大一点,再放回ISO文件中。
其中:P ——表示占内存的百分比L ——表示X盘的最小值H ——表示X盘的最大值,单位Mb
8、NTBOOT的用法nt52为写入2000、XP、2003等老的NT引导,启动后引导ntldr,格式为bootsect /nt52 X:(X为你要写入NT引导的在WINDOWS 下的盘符)nt60为写入VISTA引导,启动后引导bootmgr,格式为bootsect /nt60 X:(X为你要写入NT引导的在WINDOWS 下的盘符)BOOTSECT.rar (31.76 KB)
9、不设置bois也可以从cdrom启动电脑把附件中的文件解压到启动分区的根目录如C:\在BOOT.INI添加一行c:\bootsect.cdr="从光驱启动BOOTSECT.CDR.rar (625 Bytes)
10、menu.lst中的菜单解释title Boot From DOS Toolkit----定义菜单名称#kernel (cd)/BOOT/GRUB/MEMDISK.GZ c=60 h=8 s=36 floppy----指定memdisk内核(现在基本上很少有人用了,所以已经将该命令注释掉,可以直接将该行删除)#initrd (cd)/BOOT/DOS98.IMG c=60 h=8 s=36 floppy---- (memdisk引导img镜像功能,对于大于2.88M的非标准镜像,必须指定CHS参数,这就是memdisk被藐视的原因,因为grub4dos自带的map --mem就不需要CHS参数,比较方便, 这一行也是被注释掉了的,无用)map --mem (cd)/BOOT/DOS98.IMG (fd0) ---- (grub4dos自带的仿真功能,将dos98.img仿真成软盘0)map (fd0) (fd1)---- (将软盘0仿真成软盘1, 这是为了当系统存在物理软驱,或者U盘以zip方式启动后, 可以访问物理软驱和U盘, 以盘符B:来访问)map --floppies=2---- (定义仿真磁盘数)map --hook---- (使仿真生效)chainloader (fd0)+1---- (从软驱0(其实是img仿真的,非物理软驱0)的第一扇区启动)rootnoverify (fd0)---- (设置根为软驱0)boot---- (启动系统)启动基于DOS的镜像都是上面的步骤因为IMG是软盘镜像,所以仿真成FD0如果是基于硬盘的镜像,像mini win98的img则需要将其仿真成HD0
11、PE中加载微软五笔输入法
如何把输入法添加进去PE呢?以微软五笔86为例,仔细分析了一下,它共需要winwb86.IME、winwb86.MB和输入法指示器internat.exe(借用2000的),把这些文件放到system32里面,然后把五笔的注册表信息加进去,最后启动internat.exe,为此编写了一个批处理来完成(这里先假设3个文件已经手工加进去了)。
reg add HKLM\SYSTEM\ControlSet001\Control\Keyboard Layouts\E0100804reg add HKLM\SYSTEM\ControlSet001\Control\Keyboard Layouts\E0100804 /v IME file /t REG_SZ /d winwb86.imereg add HKLM\SYSTEM\ControlSet001\Control\Keyboard Layouts\E0100804 /v Layout file /t REG_SZ /d kbdus.dllreg add HKLM\SYSTEM\ControlSet001\Control\Keyboard Layouts\E0100804 /v Layout Text /t REG_SZ /d 王码五笔型输入法86
版%systemroot%\system32\internat.exe
12、grub4dos引导PE的过程
grub4dos>setupldr.bin>>winnt.sif>winpe.is_setupldr.bin中定义了和winnt.sif的位置、名称等。
例如毛桃的位置被定义为/;/wxpe/,在定义的位置中,任意一个位置能找到就可以正常执行。
所以,如果直接使用maotao的setupldr.bin,可以把放在根目录,也可以放在wxpe目录,当然,如果你想放在别的位置,自己改一下就可以。
同样,winnt.sif也是可以改位置和路径的,毛桃的被改成了WINNT.XPE,位置仍然是磁盘根目录,注意如果要改到别的目录,目录名不要太长,目录+文件名总共字符长度和winnt.sif所占字符长度正好相等即可。
例如WINNT.SIF改成WINNT.XPE或者改成BOOT\PE.X,都可以。
然后,winnt.sif中定义了RAMDISK的启动方式, 也定义了映象的路径,例如:/rdpath=WINPE.IS_或者是/rdpath=BOOT\WINPE.IS_所以SETUPLDR.BIN的位置和名称是灵活的,可以随便放置、随便改名。
只要grub4dos的配置菜单中chainloader语句指定了这个位置即可。
例如:chainloader (hd0,4)/boot/ldr/peldr其中:peldr就是由setupldr.bin改名而来放置在第一个逻辑分区的boot\ldr文件夹下其他几个文件的路径和名称都互相引用的名称和路径受setupldr.bin控制WINNT.SIF的名称和路径受setupldr.bin控制winpe.is_的名称和路径受winnt.sif控制
13、WIM外置程序调用过程主要是在这个WIM外置文件的相同目录中放一个INI文件,内部的PECMD.INI文件通过以下命令来加载这个INI文件:Load \WIM外置程序\OP.INI再在OP.INI文件中通过MOUN命令来挂上WIM:MOUN %CurDrv%\WIM 外置程序\PROGRAMS.WIM,%ProgramFiles%,1
14、GRUB怎样做到从光盘启动1. 把“ISOGRUB.BIN”文件放到光盘的“EZBOOT”目录中。
2. 把“STAGE2”这个文件放到光盘的根目录。
3. 然后将Grub程序文件、IMG文件和ZIP文件按目录放到光盘中。
4. 然后用“EZBOOT”调用“ISOGRUB.BIN”启动就可以。
ISOGrub.rar (1.65 KB)
15、EZBOOT怎么调用GRUB在“菜单条”标签的执行命令栏中输入:bcdw绝对路径\GRLDR
16、编辑WINPE.IS_文件把WINPE.IS_解压成WINPE.ISO文件,用ultraiso虚拟光驱加载并添加东西后,再用mkmaxcab文件把它压缩成cab文件,最后改名为IS_文件。
17、OP.WIM修改方法一、用WIMTOOL解开OP.WIM到一个目录如d:\wim,修改文件到完成,用WIMTOOL打包d:\wim为OP.WIM文件。
二、改OP.WIM文件属性为可写,用WIMTOOL或WIMNT可写挂载,修改文件到完成,卸载OP.WIM文件,提示是否写入时,选择“是”(这种修改OP.WIM,文件大小只增不减)。
三、改OP.WIM文件属性为可写,用WIMTOOL或WIMNT可写挂载,修改文件到完成,把挂载的目录用WIMTOOL或WIMNT打包为OP.WIM文件。
18、PE的硬盘引导文件AVLDR.PEPELDRWINNT.SIF这三个文件是必须的,跟PE镜像文件一起复制到C盘再改boot.ini文件后重启就能看到你要的PE系统下面是它们的作用:①AVLDR.PE是计算机启动时载入的文件,文件中有1条数据为PELDR的文件名。
②PELDR是PE启动载入程序,文件中有7条数据为PE的系统目录名,要根据PE镜像的不同而更改,如I386 WXPE,修改注意区分大小写;还有9条数据为WINNT.SIF的文件名。
③WINNT.SIF是引导配置文件,可用记事本打开,内容如下:[SetupData]BootDevice="ramdisk(0)"BootPath="\WXPE\SYSTEM32\"OsLoadOptions="/minint /fastdetect /rdexportascd /rdpath=WinPE.IS_"④把这3个文件和PE镜像文件都拷到C盘后,记得在boot.ini文件最后一行加上如下内容:C:\AVLDR.PE="WinPE"
19、修改boot.ini产生彩色的启动菜单
C盘根目录下的boot.ini(隐藏文件)可以使用ANSI控制码来控制启动菜单显示出彩色。
您可以根据以下短短的代码来为自己设计一个彩色的Windows启动菜单。
这也有助于让您理解ANSI控制码及其转义,当然彩色的菜单也非常具有个性。
C 盘根目录下的boot.ini(隐藏文件)可以使用ansi控制码来控制启动菜单显示出彩色,例如下面的boot.ini:CODE: --------------------------------------------------------------------------------timeout=30default=multi(0)disk(0)rdisk(0)partition(3)\WINDOWS [operating systems]multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="[1;32mMicrosoft [1;34mWindows [1;33mXPProfessional" /NOEXECUTE=OPTIN /FASTDETECT c:\Avldrxp.bin="[1;36mAvlgo - PELDR" /noguiboot multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="[1;31mMicrosoft[1;33mWindmows [1;35mSermver 2003" /noexecute=optout /fastdetect c:\1.bin="[1;37mMS-DOS"--------------------------------------------------------------------------------ansi控制码:箭头+“[”声明了转义序列的开始后面的“1 ”定义了默认的字体宽度。
对于文本属性来说,这些值是有意义的:0、1、22、4、24、5、25、7、27,分别表示:默认值、粗体、非粗体、下划线、非下划线、闪烁、非闪烁、反显、非反显。
30m ——37m 设置前景色40m ——47m 设置背景色可选颜色:红色、绿色、黄色、蓝色、洋红、青色和白色。
他们对应的颜色代码是:30(黑色)、31(红色)、32(绿色)、33(黄色)、34(蓝色)、35(洋红)、36(青色)、37(白色)。
用同样色方法设置背景色,不过要把第一个数字“3”替换成“4”,40(黑色)、41(红色)、42(绿色)、43(黄色)、44(蓝色)、45(洋红)、46(青色)、47(白色)。
20、取消软驱检测
打开TXTSETUP.SIF文件, 将Txtsetup.sif中HardwareIdsDatabase段里的以下这行删除:*PNP0700 = "fdc
21、WIM文件动态加载
实现这个目需要Imagex.exe 和SUBST.exe,将以下三行命令保存到一个批处理文件中:md %TEMP%\PEIMG>nul 2>nul//创建一个临时空白目录作为加载点目标目录imagex.exe /mount PEIMG.WIM 1 %TEMP%\PEIMG//PEIMG.WIM是你要加载的WIM 映像名称,根据具体情况修改subst B: %TEMP%\PEIMG//将上述临时目录虚拟为B:注意:上述步骤的第二、三行绝对不能反过来!如果先虚拟盘符,然后再将WIM 挂载到这个B:,你会发现死得很难看——居然连C: 都变成了这个虚拟目录了,此时除非重启别无它法。
制作WinPE的相关工具
1、FlashBoot v1.40(推荐)万能的U盘格式化工具
2、IMG2ISO将IMG镜像转化为ISO镜像的工具
3、MSETUPLDR查找和修改setupldr.bin的工具
4、XNVIEW把jpg转换成xpm格式的图像处理工具
5、WINPEHELP老九的WinPE安装/卸载工具
6、WiMNT挂载和制作WIM文件的工具
7、PEDRVIN驱动搜索安装部件更新
8、XCAB和MKMAXCAB把文件加或目录压缩为CAB文件XCAB.rar (50.34 KB)
9、IRFANVIEW制作grub背景图的图像处理软件GRUB命令索引
blocklist用法: blocklist FILE描述:输出文件的块清单标记。
--------------------------------------------------------------------------------boot用法: boot描述:引导已加载的操作系统或扇区链式加载器。
--------------------------------------------------------------------------------bootp用法: bootp [--with-configfile]描述:通过BOOTP初试化网络设备。
如果使用了`--with-configfile'参数,此命令将会试图去加载一个特定的配置文件。
--------------------------------------------------------------------------------cat用法: cat FILE描述:显示指定文件的内容。
--------------------------------------------------------------------------------chainloader用法: chainloader [--force] FILE描述:加载扇区链式加载器。
若使用了--force参数, 则忽略该扇区的启动标识的有效性。
--------------------------------------------------------------------------------cmp 用法: cmp FILE1 FILE2描述:比较两个文件, 并且报告两者之间的不同的信息。
--------------------------------------------------------------------------------color用法: color NORMAL [HIGHLIGHT]描述:改变菜单的颜色。
Normal 用于指定菜单项的未选中时的颜色,HIGHLIGHT 则用于指定菜单项的被选中时的颜色。
如果你未指定HIGHLIGHT 色,那么我们将使用NORMAL 的反色值。
颜色值的格式是"FG/BG"。
FG 和BG 是颜色的名称,如下:black(黑), blue(蓝), green(绿), cyan(青), red(红), magenta(粉红), brown(棕), light-gray(亮灰),dark-gray(暗灰), light-blue(浅蓝), light-green(淡绿), light-cyan(淡青), light-red(明红), light-magenta(浅红), yellow(黄) 和white(白)。
注意,BG 的值只能是前八个。
另外,若想使用闪烁的前景色,你在FG 前使用前缀"blink-" 即可。
--------------------------------------------------------------------------------configfile用法: configfile FILE 描述:将指定文件作为配置文件予以加载。
--------------------------------------------------------------------------------debug用法: debug描述:打开/关闭除错模式。
--------------------------------------------------------------------------------default用法: default [NUM | `saved']描述:把NUM 项菜单设为缺省值。
--------------------------------------------------------------------------------device用法: device DRIVE DEVICE描述:声明BIOS驱动器对应的实际物理设备。
这条命令只用于grub命令行。
--------------------------------------------------------------------------------portmap用法: portmap prog_number vers_number描述:进行端口映射。
--------------------------------------------------------------------------------dhcp用法: dhcp描述:通过DHCP初试化网络设备。
--------------------------------------------------------------------------------splashimage用法: splashimage FILE描述:图形模式下载入背景图片文件。
--------------------------------------------------------------------------------foreground用法: foreground RRGGBB描述:设置图形模式下的前景色。
RR 代表红色, GG 代表绿色, BB 代表蓝色。
注意他们都使用十六进制的值。
--------------------------------------------------------------------------------background用法: background RRGGBB描述:设置图形模式下的背景色。
RR 代表红色, GG 代表绿色, BB 代表蓝色。
注意他们都使用十六进制的值。
--------------------------------------------------------------------------------clear用法: clear描述:清屏幕。
--------------------------------------------------------------------------------displayapm用法: displayapm描述:显示APM BIOS 的相关信息。
--------------------------------------------------------------------------------displaymem用法: displaymem描述:显示GRUB 所判断到的当前系统的内存分布,包括所有物理内存区域。
--------------------------------------------------------------------------------dump用法: dump FROM TO描述:显示诸多文件的内容。
注意,FROM 所指定的必须是一个GRUB 文件,TO 所指定的必须是一个OS 文件。
--------------------------------------------------------------------------------embed用法: embed STAGE1_5 DEVICE描述:如果设备是个驱动器, 则将Stage 1.5嵌入到主引导扇区之后。
如果是个FFS分区, 则可嵌入到该设备饿`引导代码'区中。
并输出Stage 1.5所占的扇区数。
--------------------------------------------------------------------------------fallback用法: fallback NUM描述:如果调用当前的菜单项时出现错误,则转移到NUM 项后重试--------------------------------------------------------------------------------find用法: find [--set-root]
FILENAME描述:在所有分区上查找文件名, 并显示包含该文件的设备。
如果设置了参数--set-root,则在找到第一个匹配后马上停止,并且把该设备设为根。
--------------------------------------------------------------------------------fstest用法: fstest描述:切换文件系统的试验模式。
--------------------------------------------------------------------------------gfxmenu用法: gfxmenu FILE描述:使用FILE 中的图形菜单。
--------------------------------------------------------------------------------geometry用法: geometry DRIVE [CYLINDER HEAD SECTOR [TOTAL_SECTOR]]描述:输出驱动器的相关信息。
在grub壳程序中, 你可以用这条命令设置驱动器参数为任意值。
如果你省略了总扇区数, 则该值缺省有其它参数决定。
--------------------------------------------------------------------------------halt用法: halt [--no-apm]描述:关闭系统。
如果APM(高级电源管理)功能存在,将使用APM BIOS 关闭系统,除非指定了`--no-apm' 选项。
--------------------------------------------------------------------------------help用法: help [--all] [PATTERN ...]描述:显示内部命令的帮助信息。
要查看所有命令的帮助,请使用`--all' 参数。
--------------------------------------------------------------------------------hiddenmenu用法: hiddenmenu描述:隐藏菜单。
--------------------------------------------------------------------------------hide用法: hide PARTITION描述:通过在分区类型上置隐藏标志,隐藏指定分区。
--------------------------------------------------------------------------------ifconfig用法: ifconfig [--address=IP] [--gateway=IP] [--mask=MASK] [--server=IP]描述:指定IP 地址, 子网掩码, 网关和服务器地址。
不带参数时,将显示当前的网络配置。
--------------------------------------------------------------------------------impsprobe用法: impsprobe描述:通过一些循环操作,侦测出符合Intel 多处理器规范 1.1/1.4 的CPUs,以便于发挥其更好的效能。
--------------------------------------------------------------------------------initrd用法: initrd FILE [ARG ...]描述:加载Linux格式的初始化虚拟盘, 并设置必要的参数。
--------------------------------------------------------------------------------install用法: install [--stage2=STAGE2_FILE] [--force-lba] STAGE1 [d] DEVICE STAGE2 [ADDR] [p] [CONFIG_FILE] [REAL_CONFIG_FILE]描述:安装STAGE1到指定设备上,安装加载STAGE2需要的块列表到STAGE2上。
如果使用了选项'd', STAGE1总是试图使用安装STAGE2的驱动器, 而不是启动盘。
STAGE2将加载在指定地址上, 如果未声明地址, 则自动检测。
如果使用了选项'p' 或给出了配置文件, 将修改STAGE2的第一个数据块, 修正实际Stage2启动时使用的配置文件位置。
对于Stage 1.5, 该值为Stage 2的路径。
如果安装的是Stage 1.5, 且指定了实际配置文件, 则将该配置文件路径写入Stage2中。
--------------------------------------------------------------------------------ioprobe用法: ioprobe DRIVE描述:侦测指定设备的I/O 端口号。
--------------------------------------------------------------------------------kernel用法: kernel [--no-mem-option] [--type=TYPE] FILE [ARG ...]描述:尝试载入主引导影像文件。
其它项将被作为内核的命令行参数而传递给内核。
使用此命令以前,内核所用到的模块应该被重新载入。
参数--type 用于说明内核的类型,包括"netbsd", "freebsd", "openbsd", "linux", "biglinux" 和"multiboot"。
参数--no-mem-option 用于说明不必自动传递Linux 的内存参数。
--------------------------------------------------------------------------------lock用法: lock描述:如果用户未被认证,则终止命令的执行。
--------------------------------------------------------------------------------makeactive用法: makeactive描述:将root 设备置为活动分区。
当然,此命令只对PC 的硬盘主分区有效。
--------------------------------------------------------------------------------map用法: map [--status] [--hook] [--unhook] [--rehook] [[--read-only] [--fake-write] [--unsafe-boot] [--disable-chs-mode] [--disable-lba-mode] [--heads-per-cylinder=H] [--sectors-per-track=S] TO_DRIVE FROM_DRIVE]描述:对设备进行映射。
这对于扇区链式引导是很有用的功能,比如DOS。
这里,目的驱动器(TO_DRIVE)可以是一个磁盘文件,即使用磁盘虚拟功能。
注意,这要求磁盘文件是连续存放于分区中的。
另外,若使用了--read-only 参数,该功能将使`磁盘'处于只读;若使用了--fake-write 参数,该功能将使`磁盘'处于假写,即可以"写入"数据,但是却并未记录到真实磁盘上; 若使用了--unsafe-boot 参数,该功能将使`磁盘'处于真实可写; 若使用了--disable-chs-mode 参数,CHS 访问功能将被禁用; 若使用了--disable-lba-mode 参数,LBA访问功能将被禁用; H 和S 指定了虚拟磁盘的物理参数。
若使用了--status, --hook, --unhook,--rehook 诸参数之一, 那么其它的命令行参数将被忽略。
--------------------------------------------------------------------------------md5crypt用法: md5crypt描述:产生一个MD5 格式的密码。
--------------------------------------------------------------------------------module用法: module FILE [ARG ...]描述:对多重启动影像, 加载启动模块文件(不处理该文件的内容, 用户必须自己确定核心的要求)。
剩余参数作为`模快命令行`传递, 象`kernel'命令一样。
--------------------------------------------------------------------------------modulenounzip用法: modulenounzip FILE [ARG ...]描述:与'module' 类似, 但是自动禁用了解压缩。
--------------------------------------------------------------------------------pager用法: pager [FLAG]描述:没有参数时,切换页模式。
如果使用了FLAG 参数,那么它为`on' 时为开启, 为`off' 时为关闭。
--------------------------------------------------------------------------------partnew用法: partnew PART TYPE START LEN描述:创建一个新的主分区。
START 为起始扇区号,LEN 为其包含的扇区数,TYPE 为其分区类型。
--------------------------------------------------------------------------------parttype用法: parttype PART TYPE描述:改变指定分区(PART)的分区类型(TYPE)。
--------------------------------------------------------------------------------password用法: password [--md5] PASSWD [FILE]描述:设置密码。
当其处于菜单文件的首项时,将禁用所有的交互式菜单编辑功能,包括编辑菜单项(`e`)/进入命令行(`c`)。
当正确输入密码(由PASSWD指定)后,载入新的菜单文件(由FILE指定)。
如果你没有指定FILE 项,那么上述被禁用的功能将被启用了。
当然,你也可以将此命令用到某个菜单项里,用以提高系统安全性。
参数--md5 说明密码(PASSWD)是使用md5crypt 加密的。
--------------------------------------------------------------------------------pause用法: pause [MESSAGE ...]描述:终止命令的运行,并给出一段信息。
任意键按下后,将继续。
--------------------------------------------------------------------------------quit用法: quit描述:从GRUB 命令行中退出。
--------------------------------------------------------------------------------rarp用法: rarp描述:用RARP 初始化网络设
备。
--------------------------------------------------------------------------------read用法: read ADDR描述:从内存的指定位置读取一个32-bit 的值,并以十六进制形式显示出来。
--------------------------------------------------------------------------------reboot用法: reboot描述:重启系统。
--------------------------------------------------------------------------------fontfile用法: fontfile FILE描述:指定中文字体文件,并切换到简体中文显示方式。
--------------------------------------------------------------------------------scdrom用法: scdrom [--install], [--bootcd]描述:寻找系统的第一个CD-ROM 驱动器,然后为其分配一个驱动器号以备后续使用(--install)。
或者,用该驱动器中的可引导光盘启动系统。
(--boot)。
--------------------------------------------------------------------------------run用法: run FILE描述:运行一个为光盘启动而设计的引导文件(非模拟方式的)--------------------------------------------------------------------------------root用法: root [DEVICE [HDBIAS]]描述:设置根分区。
设置根分区为指定设备(DEVICE), 然后尝试挂接该分区以得到分区大小(用于在ES:ESI中传递, 扇区链式启动方式要求这样)。
BSD 驱动类型用于启动BSD 的核心启动), 和确定BSD 子分区所在的PC 分区。
可选的磁盘偏移参数, 用于BSD 核心确定有多少个控制器在当前控制器前。
比如: 假设同时有一个IDE和SCSI盘, 而BSD根分区在SCSI 盘上, 那么磁盘偏移就为1。
--------------------------------------------------------------------------------rootnoverify用法: rootnoverify [DEVICE [HDBIAS]]描述:类似`root'指令, 但不测试安装该分区。
这用于有些系统装在GRUB 能访问的磁盘区之外, 但仍需要设置正确的根分区的情况。
有些需要安装分区才能确定的参数可能会有问题。
--------------------------------------------------------------------------------savedefault用法: savedefault描述:将当前项设置为默认的引导项。
--------------------------------------------------------------------------------serial用法: serial [--unit=UNIT] [--port=PORT] [--speed=SPEED] [--word=WORD] [--parity=PARITY] [--stop=STOP] [--device=DEV]描述:初始化一个串口设备。
UNIT 用于指定要使用的串口设备(如,0 == COM1); PORT 用于指定端口号; SPEED 用于指定通讯的数率; WORD 为字长; PARITY 为奇偶类型(取`no', `odd' 和`even' 之一的值。
); STOP 是停止位的长度值; 选项--device 仅用于命令行模式,用以指定tty 设备的文件名。
默认值是这样的,COM1, 9600, 8N1。
--------------------------------------------------------------------------------setkey用法: setkey [TO_KEY FROM_KEY]描述:改变键盘映射关系。
把FROM_KEY映射为TO_KEY。
这里的键必须是字母, 数字, 和以下特殊键: escape(转义), exclam(!), at(@), numbersign(#), dollar($), parenright ()) , caret(^), ampersand(&), asterisk(*), plus(+), percent(%), minus(-), underscore(_), equal(=), parenleft[(], backspace(退格), tab(制表), bracketleft([), braceleft({), bracketright(]), braceright(}), enter(回车), control(控制), semicolon(;), colon(:), quote('), doublequote("), slash(/), backquote(`), tilde(~), shift(换档), backslash(\), bar(|), comma(,), less(<), period(.), greater(>), question(?), alt(交互), space(空格), capslock(大写), Fx(功能键) 和delete(删除)。
--------------------------------------------------------------------------------setup用法: setup [--prefix=DIR] [--stage2=STAGE2_FILE] [--force-lba] INSTALL_DEVICE [IMAGE_DEVICE]描述:自动安装GRUB. 这条命令使用更灵活的install命令将GRUB安装到指定设备上。
如果给出了映象设备,将在该设备寻找GRUB,否则使用缺省的根设备。
根设备可用root指令指定。
如果你确认系统的BIOS 应该支持LBA 模式, 但是GRUB 却没有工作于该模式, 则请指定`--force-lba' 参数。
如若你在命令行中已安装了一次GRUB 可是,你却无法卸载GRUB 程序所在的分区,请指定`--stage2' 参数。
--------------------------------------------------------------------------------terminal用法: terminal [--dumb] [--no-echo] [--no-edit] [--timeout=SECS] [--lines=LINES] [--silent] [console] [serial] [hercules] [graphics]描述:选择一个终端。
当指定了多个终端以后, 按任意键方可继续操作。
如果控制台和串口都被指定了, 那么你首先在其中按下键盘的终端将被首先选中。
如果没有指定任何参数, 那么此命令将显示出当前的终端设置; 参数--dumb 用以指定一个哑终端, 否则即为vt100 兼容型; 若使用了--no-echo 参数, 屏幕上将不会回显输入的字符; 若使用了--no-edit 参数, the BASH-like 的编辑功能将被禁用; 若使用了--timeout 参数, 该命令将等待数秒钟(由SECS指定); 可使用--lines 指定最大的行数; 可使用--silent 选项关闭消息显示。
--------------------------------------------------------------------------------terminfo用法: terminfo [--name=NAME --cursor-address=SEQ [--clear-screen=SEQ] [--enter-standout-mode=SEQ] [--exit-standout-mode=SEQ]]描述:指定终端的功能。
如果此终端为vt100 兼容型的,则可指定换码顺序(即使用\e 代表ESC, ^X代表控制码); 在未给任何参数的情况下,将给出当前配置信息。
--------------------------------------------------------------------------------testload用法: testload FILE描述:以多种不同的方式读取文件(由FILE 指定)的整个内容,并予以比较,以测试文件系统的代码。
输出看起来会有点儿混乱,但是,如果没有错误的话,`i=X, filepos=Y' 里的X 和Y 最后必得相等。
如果测试即告成功,下一步即可试图载入内核了。
--------------------------------------------------------------------------------testvbe用法: testvbe MODE描述:测试所指定(MODE)的VBE 模式。
--------------------------------------------------------------------------------tftpserver用法: tftpserver IPADDR描述:指定TFTP 服务器的IP 地址。
--------------------------------------------------------------------------------timeout用法: timeout SEC描述:设置在自动启动缺省菜单前所等待的秒数。
--------------------------------------------------------------------------------title用法: title [NAME ...]描述:命名菜单项。
--------------------------------------------------------------------------------unhide用法: unhide PARTITION描述:通过清除隐藏标志,解除指定分区(PARTITION)的隐藏。
--------------------------------------------------------------------------------uppermem用法: uppermem KBYTES描述:强制指定仅有(KBYTES) KB 的上位内存。
任何系统的地址变换将被取消。
--------------------------------------------------------------------------------vbeprobe用法: vbeprobe [MODE]描述:侦测VBE 的信息。
如果指定了一个模式(MODE 不为空),则仅显示其信息。
PE启动的几种方式
一、NTLDR+GRLDR引导
安装步骤1、下载NTGRBOOT.rar(http://219.235.2.25/webtest/embeded/ck/NTGRBOOT.rar),用[NTGRBOOT]中的"\制作工具\HPUSBFW.EXE"将你的U盘用FAT格式化并做成DOS启动盘。
2、用USB-HDD启动测试通过之后,将U盘上的文件全部删除。
3、用[NTGRBOOT]中"\制作工具\里的"bootsect.exe",NT启动代码安装到U盘、命令为"bootsect /nt52 X:"(X为U盘在WINDOWS 下的盘符)。
把bootsect.exe放到你的机子的CMD.EXE中所指的目录下(如C:\Documents and Settings\Administrator>)开始——运行(输入“CMD”),打开CMD.EXE,输入上面的命令,回车。
4、将[NTGRBOOT]里的文件boot.ini、grldr和ntldr拷贝到U盘根目录,下载CKGRBOOT.rar(http://219.235.2.25/webtest/embeded/ck/CKGRBOOT.rar),将其中的文件夹[boot]拷贝到
U盘根目录。
完成这步之后U盘根目录下只有1个文件夹和3个文件。
U盘PATH 列表X:|boot.ini|grldr|ntldr||---[BOOT]|aj.jpg|ARDOS53.IMG|back.gz|cmdcons.is_|desktop.ini|dostools.img|Fonts.gz|gho_run|Ghost.i mg|hddreg15.img|hongye.img|KV2006.IMG|LDRXPE|memdisk.gz||NU2002.IMG|sanic.ico|SETUPLDR.001|usb.txt|Win PE.IS_|XLY2007.IMG||---[CK]|c|k||---[grub]|menu.lst||---[外置程序]||layout.ini||REGDOC.CMD||WinPE.INI||||---[ACDSEE]||ACDSEE.EXE||ACDSEE.REG|<略>……
二、GRLDR引导
安装步骤:1、下载CKGRBOOT.rar(http://219.235.2.25/webtest/embeded/ck/CKGRBOOT.rar),用[CKGRBOOT]中的"\制作工具\HPUSBFW.EXE"将你的U盘用FAT格式化并做成DOS启动盘。
2、用USB-HDD启动测试通过之后,将U盘上的文件全部删除。
3、用[CKGRBOOT]中"\制作工具\grubutil-1.1-bin-w32-16.zip"里的"grubinst_gui.exe",将把GRLDR启动代码安装到你的U盘,双击grubinst_gui.exe,在"磁盘"右面的列表中选择需要安装Grub4Dos的磁盘,请留意[]中显示的磁盘大小,以便选择正确的磁盘。
点"安装",出现命令窗口,如果看到"The MBR/BS has been successfully installer", 则说明安装成功。
4、将[CKGRBOOT]中[U盘文件]里的所有文件和文件夹拷贝到U盘。
完成这步之后U盘根目录下只有一个文件夹"boot"和一个文件"grldr"。
盘PATH 列表X:|grldr||---[BOOT]|aj.jpg|ARDOS53.IMG|back.gz|cmdcons.is_|desktop.ini|dostools.img|Fonts.gz|gho_run|Ghost.img|hddreg15.i mg|hongye.img|KV2006.IMG|LDRXPE|memdisk.gz||NU2002.IMG|sanic.ico|SETUPLDR.001|usb.txt|WinPE.IS_|XLY2007. IMG||---[CK]|c|k||---[grub]|menu.lst||---[外置程序]||layout.ini||REGDOC.CMD||WinPE.INI||||---[ACDSEE]||ACDSEE.EXE||ACDSEE.REG|<略>……
SYSLINUX 引导
安装步骤:1.将U盘格式化为FAT格式.(FAT32也可以,但部分主板不能引导)。
2.下载附件中的SYSLINUX.rar,解压后可得SYSLINUX.EXE文件,在CMD命令行中运行命令SYSLINUX U盘盘符,例如( SYSLINUX I: )通过以上步骤,你的U盘已经可以以USB-ZIP形式引导了(不相信的可以试试,不过由于缺少配置文件会出错)。
3.加入相关配置及引导文件。
详细如下:syslinux.cfg=====================================================================prompt 1default 1timeout 30say (1) MSDOS & GRUBsay (2) GRUBlabel 1kernel /BOOT/memdisk.sysappend initrd=/BOOT/BOOT.GZlabel 2kernel /BOOT/GRUB.EXEappend --config-file="configfile (fd2)/BOOT/menu.lst;configfile (fd1)/BOOT/menu.lst;configfile (fd0)/BOOT/menu.lst;configfile (hd0,0)/BOOT/menu.lst;configfile (hd1,0)/BOOT/menu.lst"=====================================================================
MENU.LST=====================================================================timeout 5default /defaultfontfile /BOOT/fonts
title WinPEchainloader --force /SETUPLDR.BINsavedefault --wait=2
title 深山红叶DOS工具箱kernel /BOOT/memdisk.sys c=60 h=8 s=36 floppyinitrd /BOOT/DOSTOOL.GZ
title GHOSTkernel /BOOT/memdisk.sys c=80 h=2 s=36 floppyinitrd /BOOT/GHOST.GZ
title MSDOS7.1kernel /BOOT/memdisk.sys c=80 h=2 s=18 floppyinitrd /BOOT/MSDOS71B.GZ
title 从硬盘第一分区启动rootnoverify (hd0,0)makeactivechainloader+1
title 重启savedefault --wait=2reboot
title 关机savedefault --wait=2halt
title GRUB命令行savedefault --wait=2commandline=====================================================================
U盘根目录文件列表=====================================================================文件:SETUPLDR.BINWINNT.XPEWinPE.IS_
文件夹:外置程序BOOT=====================================================================
BOOT文件夹文件列表=====================================================================grub.exeMENU.LSTBOOT.GZfontsmemdisk.sys DOSTOOL.GZGhost.GZMSDOS71B.GZ=====================================================================
IO + Grub引导
1、用格式化工具把U盘制作成USB-ZIP 格式,默认是FAT 分区的启动盘,一般来讲,这一步操作完了,你的U 盘就能够引导到MS-DOS 了。
2、将Grub.EXE、MENU.LST、Autoexec.bat、WINNT.XPE、WINPE.IS_、、Ldrxpe(SETUPLDR.BIN 改名而成)、XPEMENU.INI 、Boot和外置程序两个文件夹都复制到U 盘的根目录下。
大功告成。
NTLoader + Avlgo 引导
1、用格式化工具把U盘制作成USB-ZIP 格式,默认是FAT 分区的启动盘,删除U盘中的所有文件。
2、使用FixNTBoot 工具给U 盘写入NT 引导。
3、将硬盘系统分区中的NTLDR 复制到U 盘根目录,再编辑一个Boot.ini 文件保存到U 盘根目录。
内容如下:[boot loader]timeout=0default=C:\avldr.xpe[operating systems]C:\avldr.xpe="WinPEBy: Maotao"
4、然后将AVLDR.XPE 复制到U 盘的根目录,再将SETUPLDR.BIN 改文件名为LDRXPE(注意不是LDRXPE.BIN)和 复制到U 盘的根目录下;同时,将WINNT.XPE、WINPE.IS_、XPEMENU.INI 和外置程序文件夹都复制到U 盘的根目录下,大功告成。
NTLoader + Grub 引导
1、用格式化工具把U盘制作成USB-ZIP 格式,默认是FAT 分区的启动盘,删除U盘中的所有文件。
2、使用FixNTBoot 工具给U 盘写入NT 引导。
3、将硬盘系统分区中的NTLDR 复制到U 盘根目录,再编辑一个Boot.ini 文件保存到U 盘根目录。
内容如下:[boot loader]timeout=0default=C:\avldr.xpe[operating systems]C:\avldr.xpe="WinPEBy: Maotao"
4、再编辑一个MENU.LST 文本保存在U 盘的根目录。
内容如下:chainloader /ldrxpe
5、然后将Grldr 复制到U 盘的根目录,再将SETUPLDR.BIN 改文件名为LDRXPE(注意不是LDRXPE.BIN)和 复制到U 盘的根目录下;同时,将WINNT.XPE、WINPE.IS_、XPEMENU.INI 和外置程序文件夹都复制到U 盘的根目录下,大功告成。
MBR直接引导
1、把u盘格成HDD格式u盘启动之所以问题多多主要就是因为规范不统一,首先u盘控制芯片规格不一,其次主板支持的启动方式及其具体实现又千差万别。
不过现在情况好多了,有统一于USB-HDD的趋疲琔SB-ZIP、USB-FDD渐渐势衰。
较新的主板多能把USB存储设备直接映射为一块硬盘,兼容性进一步提高。
所以我认为U盘启动采用HDD格式是最好的选择。
用什么工具搞呢?经验表明,惠普u盘格式化工具要优于USBOOT,至少我用它没有不灵的时候。
格完之后,通过主板BIOS 检验一下:比如我用的是映泰C51主板,普通u盘插上去,在bios里根本看不到;而用惠普工具搞了之后,插上u盘开机,查看bios发现多了一块硬盘——就是u盘啦。
这样就好了。
惠普u盘格式化工具见8楼。
2、获取写MBR的工具从以下页面下载grubinst_1.0.1_bin_win.zip。
/WikiHome或/wakka.php?wakka=UploadFile
3、将引导代码写入U盘mbr(MP3播放器慎搞,虽然可以成功,但可能会造成无法播放)启动XP,插上U盘,运行grubinst_1.0.1_bin_win.zip中的grubinst_gui,在最上边“disk”处选中U 盘,点击install 。
如果搞不清U盘是几号,可以从windows的磁盘管理中查看。
4、拷贝PE文件以老九WinPE老毛桃修改1111版(文件为名BootCD.iso)为例:将ISO根目录下的WINNT.XPE、XPEMENU.INI、WINPE.IS_ 三个文件和“外置程序”文件夹拷到u盘根目录;再把ISO根目录下“WINPE”文件夹中的和SETUPLDR.BIN两个文件也拷到u 盘根目录;把SETUPLDR.BIN改名为grldr,注意一定要把扩展名.BIN去掉!这样应该就能启动了,赶紧试试吧!移动硬盘也可如法炮制,而且由于本身已经是HDD,所以第一步就省了。
更新外置驱动(声卡、网卡、显卡和无线网卡)
老毛的PE的驱动在\外置程序\PE_OUTERPART下绝版pe 在\programs\PE 其他版本可以通过搜索DRIVERS_VGA.CAB来确定外置程序和programs都是隐藏的可在任意分区下U盘移动硬盘也行C盘D盘E盘都有可能大家自己找把
目录中的DRIVERS_NET_WIRELESS是无线网卡驱动DRIVERS_VGA.CAB 是显卡驱动DRIVERS_NET.CAB是普通网卡驱动DRIVERS_SOUND.CAB是声卡驱动
注意两点用XCAB制作压缩包是一定要选上处理INF要注意驱动包的名字(不能把网卡驱动命名为DRIVERS_SOUND.CAB)
如果要添加驱动不覆盖原来的驱动先解压原来的驱动,把自己的驱动加进去(是文件夹不是压缩包)再用XCAB打包WinPE 驱动程序最终解决方案
1. 把每种驱动放在一个目录中(每个INF 文件名前,加上“_”开头,作为起始标志),然后把所有的驱动程序打包成为一个CAB 文件。
2. 用下面的程序代码,指定CAB 路径,即可自动从CAB 安装驱动:1) 代码会自动检测所有PCI 设备;2) 然后遍历CAB 内的一个INF 文件内容;3) 如果找到匹配的硬件,则解压缩INF 所在目录中随后的所有文件到%TEMP% 中;4) 安装驱动程序;5) 转跳到2,继续遍历下一个INF。
代码如下:// Header#include <SetupAPI.h>#include <DevGuid.h>#include <RegStr.h>#include <CfgMgr32.h>#pragma comment(lib, "SetupAPI.lib")#ifdef _UNICODE#define STR_UpdateDriverForPlugAndPlayDevices "UpdateDriverForPlugAndPlayDevicesW"#else#define STR_UpdateDriverForPlugAndPlayDevices "UpdateDriverForPlugAndPlayDevicesA"#endiftypedef BOOL (WINAPI* PUPNP)(HWNDhWnd, PCTSTR ptzID, PCTSTR ptzPath, DWORD dwFlags, PBOOL bReboot);
// Compare devicePSTR DevCmp(PSTR pszStr1, PSTR pszStr2){PSTR p = pszStr2;for (UINT i = 0; *p; p++){if ((*p == '&') && (++i ==。