<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>O I P O P - 私人领域 &#187; 操作系统</title>
	<atom:link href="http://blog.oipop.com/archives/tag/%e6%93%8d%e4%bd%9c%e7%b3%bb%e7%bb%9f/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.oipop.com</link>
	<description>From the Internet, For the Internet.</description>
	<lastBuildDate>Mon, 21 Jun 2010 21:13:40 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Linux网络基本网络配置方法介绍</title>
		<link>http://blog.oipop.com/archives/105</link>
		<comments>http://blog.oipop.com/archives/105#comments</comments>
		<pubDate>Mon, 08 Mar 2010 14:25:01 +0000</pubDate>
		<dc:creator>Kinsta</dc:creator>
				<category><![CDATA[linux系统]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[操作系统]]></category>

		<guid isPermaLink="false">http://blog.oipop.com/?p=105</guid>
		<description><![CDATA[网络信息查看
查看网路接口信息
1．了解linux中的网络接口设备
$/sbin/ifconfig 查看所有活动网络接口信息，其中包括一个lo环回端口。
2．查看指定网络接口的信息
$/sbin/ifconfig &#60;网络接口名称&#62; 查看指定接口信息。
3．查看系统中所有网络接口的信息
$/sbin/ifconfig –a 查看所有接口信息，包括非活动状态接口。
注：普通用户查看网络接口信息时，需要在命令前加“/sbin”，而管理员却不用。这是由于命令搜索路径的原因，可以通过“$echo $PATH”查看。
查看网关地址和路由信息

1、查看主机路由信息
#/route
显示当前linux主机中的路由表信息。
#/route ｜grep default
在route命令的显示结果中以“default”开始的行显示了，主机的默认网关地址，将route命令和grep命令组合，使用过滤route命令的显示结果只显示默认网关地址。
2.测试与其它主机的网络链接
$ping 目的主机地址
使用ping命令测试与其它主机的网络链接。ctrl+C终止。
$ping –c &#60;测试数据包数量&#62; &#60;目的主机地址&#62;
使用ping命令发送指定数量的数据包进行网络链接测试。
$使用ping命令进行网络链接测试的技巧。
注：当ping命令测试不成功时并不能判断当前主机到目标主机的连接是断开的，因为有很多因素，（如网络防火墙等）可以导致网络连接正常时主机之间无法ping通。
3、测试与其它主机的网络链接路径
$traceroute &#60;目的主机地址&#62;
traceroute命令显示当前主机与目的主机之间经过的所，有网络节点的地址，以及当前主机到每个中间结点的连接状态。
查看主机名称信息
1、查看当前主机名称
$Hostname 查看当前的主机名。
2、使用dns服务器查询域名
$Nslookup
交互模式：通常用于对DNS服务器进行测试
直接模式：用于查询某个域名对应的ip地址
使用网络命令进行网络设置
网络设置的方法
1、DHCP网络配置
$Dhclient 使用dhclient命令可以从DHCP服务器中申请新的网络配置应用到当前主机。
注：DHCP服务器通常提供给DHCP客户端最基本的网络配置信息，包括：接口ip地址，默认网关，DNS
服务器地址。
2、手工网络配置
网络接口ip地址和子网掩码
默认网关地址
当前主机名称
DNS服务器地址
Ip地址配置命令
Ifconfig &#60;网络接口名称&#62; network &#60;子网掩码&#62;
例：# ifconfig eth0 192.168.1.222 netmask 255.255.255.0
注：手工配置linux网络只限于临时使用，配置不保存。
扩展：# ifconfig eth0:1 10.0.0.1 netmask 255.0.0.0 一块网卡配置多个子ip地址。
# ifconfig eth0 hw ether MAC地址 修改网卡的mac地址，
路由配置命令
1、删除默认网关路由
$Route del default gw &#60;默认网关地址&#62;
2、添加默认网关路由
$Route add default gw &#60;默认网关地址&#62;
例：#route add default gw 192.168.1.1
主机名称配置命令
# hostname 123
将主机暂时名称改为123。
DNS域名解析
Nslookup
&#62;server
显示linux系统中使用的DNS服务器地址，也可临时设置生效。
修改配置文件进行网络设置
使用工具进行网络设置
# Netconfig 图形界面设置网络，重启network后生效。
界面中需要填写的内容：
主机网络接口的ip地址。
网络接口的子网掩码。
默认网关地址。
主DNS服务器的ip地址。
网络服务启动脚本
/etc/init.d/network 从新启动才能生效
扩展：# /etc/rc.d/init.d/network start [...]]]></description>
			<content:encoded><![CDATA[<p>网络信息查看</p>
<p>查看网路接口信息</p>
<p>1．了解linux中的网络接口设备</p>
<p>$/sbin/ifconfig 查看所有活动网络接口信息，其中包括一个lo环回端口。</p>
<p>2．查看指定网络接口的信息</p>
<p>$/sbin/ifconfig &lt;网络接口名称&gt; 查看指定接口信息。</p>
<p>3．查看系统中所有网络接口的信息</p>
<p>$/sbin/ifconfig –a 查看所有接口信息，包括非活动状态接口。</p>
<p>注：普通用户查看网络接口信息时，需要在命令前加“/sbin”，而管理员却不用。这是由于命令搜索路径的原因，可以通过“$echo $PATH”查看。</p>
<p>查看网关地址和路由信息</p>
<p><span id="more-105"></span></p>
<p>1、查看主机路由信息</p>
<p>#/route</p>
<p>显示当前linux主机中的路由表信息。</p>
<p>#/route ｜grep default</p>
<p>在route命令的显示结果中以“default”开始的行显示了，主机的默认网关地址，将route命令和grep命令组合，使用过滤route命令的显示结果只显示默认网关地址。</p>
<p>2.测试与其它主机的网络链接</p>
<p>$ping 目的主机地址</p>
<p>使用ping命令测试与其它主机的网络链接。ctrl+C终止。</p>
<p>$ping –c &lt;测试数据包数量&gt; &lt;目的主机地址&gt;</p>
<p>使用ping命令发送指定数量的数据包进行网络链接测试。</p>
<p>$使用ping命令进行网络链接测试的技巧。</p>
<p>注：当ping命令测试不成功时并不能判断当前主机到目标主机的连接是断开的，因为有很多因素，（如网络防火墙等）可以导致网络连接正常时主机之间无法ping通。</p>
<p>3、测试与其它主机的网络链接路径</p>
<p>$traceroute &lt;目的主机地址&gt;</p>
<p>traceroute命令显示当前主机与目的主机之间经过的所，有网络节点的地址，以及当前主机到每个中间结点的连接状态。</p>
<p>查看主机名称信息</p>
<p>1、查看当前主机名称</p>
<p>$Hostname 查看当前的主机名。</p>
<p>2、使用dns服务器查询域名</p>
<p>$Nslookup</p>
<p>交互模式：通常用于对DNS服务器进行测试</p>
<p>直接模式：用于查询某个域名对应的ip地址</p>
<p>使用网络命令进行网络设置</p>
<p>网络设置的方法</p>
<p>1、DHCP网络配置</p>
<p>$Dhclient 使用dhclient命令可以从DHCP服务器中申请新的网络配置应用到当前主机。</p>
<p>注：DHCP服务器通常提供给DHCP客户端最基本的网络配置信息，包括：接口ip地址，默认网关，DNS</p>
<p>服务器地址。</p>
<p>2、手工网络配置</p>
<p>网络接口ip地址和子网掩码</p>
<p>默认网关地址</p>
<p>当前主机名称</p>
<p>DNS服务器地址</p>
<p>Ip地址配置命令</p>
<p>Ifconfig &lt;网络接口名称&gt; network &lt;子网掩码&gt;</p>
<p>例：# ifconfig eth0 192.168.1.222 netmask 255.255.255.0</p>
<p>注：手工配置linux网络只限于临时使用，配置不保存。</p>
<p>扩展：# ifconfig eth0:1 10.0.0.1 netmask 255.0.0.0 一块网卡配置多个子ip地址。</p>
<p># ifconfig eth0 hw ether MAC地址 修改网卡的mac地址，<br />
路由配置命令</p>
<p>1、删除默认网关路由</p>
<p>$Route del default gw &lt;默认网关地址&gt;</p>
<p>2、添加默认网关路由</p>
<p>$Route add default gw &lt;默认网关地址&gt;</p>
<p>例：#route add default gw 192.168.1.1</p>
<p>主机名称配置命令</p>
<p># hostname 123</p>
<p>将主机暂时名称改为123。</p>
<p>DNS域名解析</p>
<p>Nslookup</p>
<p>&gt;server</p>
<p>显示linux系统中使用的DNS服务器地址，也可临时设置生效。</p>
<p>修改配置文件进行网络设置</p>
<p>使用工具进行网络设置</p>
<p># Netconfig 图形界面设置网络，重启network后生效。</p>
<p>界面中需要填写的内容：</p>
<p>主机网络接口的ip地址。</p>
<p>网络接口的子网掩码。</p>
<p>默认网关地址。</p>
<p>主DNS服务器的ip地址。</p>
<p>网络服务启动脚本</p>
<p>/etc/init.d/network 从新启动才能生效</p>
<p>扩展：# /etc/rc.d/init.d/network start 启动network</p>
<p># /etc/rc.d/init.d/network stop 停止network</p>
<p># /etc/rc.d/init.d/network restart 重启network</p>
<p>网络接口配置文件</p>
<p>/etc/sysconfig/network-scripts/ifconfg-*</p>
<p>DEVICE=eth0 网卡编号</p>
<p>ONBOOT=yes 开机时是否启动网卡。</p>
<p>BOOTPROTO=static 静态ip或者DHCP动态获取。</p>
<p>IPADDR=192.168.1.163 ip</p>
<p>NETMASK=255.255.255.0 掩码</p>
<p>GATEWAY=192.168.1.1 网关</p>
<p>以下为动态获取方式：</p>
<p>DEVICE=eth0</p>
<p>ONBOOT=yes</p>
<p>BOOTPROTO=dhcp</p>
<p>停止和启动指定的网络接口</p>
<p>单个网络接口的配置进行修改后</p>
<p>Ifdown 网络接口名称 停止某个网络接口。</p>
<p>Ifup 网络接口名称 开启某个网络接口。</p>
<p>注：单个网络接口的配置文件进行修改后，不必每次都从新启动network服务使配置文件生效，可用以上命令。</p>
<p>扩展：对网络接口操作：</p>
<p># ifconfig eth0 down 停止eth0接口</p>
<p># ifconfig eth0 up 开启eth0接口</p>
<p>可以连续使用</p>
<p>Ifdown eth0 ; ifup eth0</p>
<p>主机名称配置文件</p>
<p>/etc/sysconfig/network</p>
<p>例：# vi /etc/sysconfig/network 使用vi编辑器打开主机名配置文件。</p>
<p>NETWORKING=yes 网络是否可用。</p>
<p>HOSTNAME=xxxx xxxx为新设置的主机名。</p>
<p>本地主机名称解析文件</p>
<p>/etc/hosts</p>
<p>Hosts 和 DNS具有类似的主机名称解析功能</p>
<p>域名服务器配置文件</p>
<p>/etc/resolv.conf</p>
<p>最多可以设置3行，前面的生效。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.oipop.com/archives/105/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>内存不能为read的解决办法</title>
		<link>http://blog.oipop.com/archives/65</link>
		<comments>http://blog.oipop.com/archives/65#comments</comments>
		<pubDate>Fri, 21 Aug 2009 07:18:24 +0000</pubDate>
		<dc:creator>Kinsta</dc:creator>
				<category><![CDATA[杂七杂八]]></category>
		<category><![CDATA[操作系统]]></category>

		<guid isPermaLink="false">http://blog.oipop.com/?p=65</guid>
		<description><![CDATA[近日不少网友都遇到了该内存不能为“read”的错误提示。希望以下文章能对大家有所帮助。
　　运行某些程序的时候，有时会出现内存错误的提示，然后该程序就关闭。
　　“0x????????”指令引用的“0x????????”内存。该内存不能为“read”。
　　“0x????????”指令引用的“0x????????”内存，该内存不能为“written”。
　　以上的情况相信大家都应该见到过，甚至说一些网友因为不爽于这个经常出现的错误提示而屡次重装系统。相信普通用户应该不会理解那些复杂的十六进制代码。

　　出现这个现象有方面的，一是硬件，即内存方面有问题，二是软件，这就有多方面的问题了。
　　一：先说说硬件：
　　一般来说，电脑硬件是很不容易坏的。内存出现问题的可能性并不大（除非你的内存真的是杂牌的一塌徒地），主要方面是：1。内存条坏了（二手内存情况居多）、2。使用了有质量问题的内存，3。内存插在主板上的金手指部分灰尘太多。4。使用不同品牌不同容量的内存，从而出现不兼容的情况。5。超频带来的散热问题。你可以使用MemTest这个软件来检测一下内存，它可以彻底的检测出内存的稳定度。
　　二、如果都没有，那就从软件方面排除故障了。
　　先说原理：内存有个存放数据的地方叫缓冲区，当程序把数据放在缓冲区，需要操作系统提供的“功能函数”来申请，如果内存分配成功，函数就会将所新开辟的内存区地址返回给应用程序，应用程序就可以通过这个地址使用这块内存。这就是“动态内存分配”，内存地址也就是编程中的“光标”。内存不是永远都招之即来、用之不尽的，有时候内存分配也会失败。当分配失败时系统函数会返回一个0值，这时返回值“0”已不表示新启用的光标，而是系统向应用程序发出的一个通知，告知出现了错误。作为应用程序，在每一次申请内存后都应该检查返回值是否为0，如果是，则意味着出现了故障，应该采取一些措施挽救，这就增强了程序的“健壮性”。若应用程序没有检查这个错误，它就会按照“思维惯性”认为这个值是给它分配的可用光标，继续在之后的执行中使用这块内存。真正的0地址内存区储存的是计算机系统中最重要的“中断描述符表”，绝对不允许应用程序使用。在没有保护机制的操作系统下(如DOS)，写数据到这个地址会导致立即当机，而在健壮的操作系统中，如Windows等，这个操作会马上被系统的保护机制捕获，其结果就是由操作系统强行关闭出错的应用程序，以防止其错误扩大。这时候，就会出现上述的内存不能为“read”错误，并指出被引用的内存地址为“0&#215;00000000“。内存分配失败故障的原因很多，内存不够、系统函数的版本不匹配等都可能有影响。因此，这种分配失败多见于操作系统使用很长时间后，安装了多种应用程序(包括无意中“安装”的病毒程序)，更改了大量的系统参数和系统档案之后。
　　在使用动态分配的应用程序中，有时会有这样的情况出现：程序试图读写一块“应该可用”的内存，但不知为什么，这个预料中可用的光标已经失效了。有可能是“忘记了”向操作系统要求分配，也可能是程序自己在某个时候已经注销了这块内存而“没有留意”等等。注销了的内存被系统回收，其访问权已经不属于该应用程序，因此读写操作也同样会触发系统的保护机制，企图“违法”的程序唯一的下场就是被操作终止执行，回收全部资源。计算机世界的法律还是要比人类有效和严厉得多啊！像这样的情况都属于程序自身的BUG，你往往可在特定的操作顺序下重现错误。无效光标不一定总是0，因此错误提示中的内存地址也不一定为“0&#215;00000000”，而是其它随机数字。
　　首先建议：
　　1、检查系统中是否有木马或病毒?
　　&#62;2、更新操作系统，让操作系统的安装程序重新拷贝正确版本的系统档案、修正系统参数。有时候操作系统本身也会有BUG，要注意安装官方发行的升级程序。
　　3、尽量使用最新正式版本的应用程序、Beta版、试用版都会有BUG。
　　4、删除然后重新创建WinntSystem32WbemRepository文件夹中的文件：在桌面上右击我的电脑，然后单击管理。在&#8221;服务和应用程序&#8221;下，单击服务，然后关闭并停止WindowsManagementInstrumentation服务。删除WinntSystem32WbemRepository文件夹中的所有文件。（在删除前请创建这些文件的备份副本。）打开&#8221;服务和应用程序&#8221;，单击服务，然后打开并启动WindowsManagementInstrumentation服务。当服务重新启动时，将基于以下注册表项中所提供的信息重新创建这些文件：HKEY_LOCAL_MACHINESOFTWAREMicrosoftWBEMCIMOMAutorecoverMOFs
]]></description>
			<content:encoded><![CDATA[<p>近日不少网友都遇到了该内存不能为“read”的错误提示。希望以下文章能对大家有所帮助。</p>
<p>　　运行某些程序的时候，有时会出现内存错误的提示，然后该程序就关闭。</p>
<p>　　“0x????????”指令引用的“0x????????”内存。该内存不能为“read”。</p>
<p>　　“0x????????”指令引用的“0x????????”内存，该内存不能为“written”。</p>
<p>　　以上的情况相信大家都应该见到过，甚至说一些网友因为不爽于这个经常出现的错误提示而屡次重装系统。相信普通用户应该不会理解那些复杂的十六进制代码。<br />
<span id="more-65"></span><br />
　　出现这个现象有方面的，一是硬件，即内存方面有问题，二是软件，这就有多方面的问题了。</p>
<p>　　一：先说说硬件：</p>
<p>　　一般来说，电脑硬件是很不容易坏的。内存出现问题的可能性并不大（除非你的内存真的是杂牌的一塌徒地），主要方面是：1。内存条坏了（二手内存情况居多）、2。使用了有质量问题的内存，3。内存插在主板上的金手指部分灰尘太多。4。使用不同品牌不同容量的内存，从而出现不兼容的情况。5。超频带来的散热问题。你可以使用MemTest这个软件来检测一下内存，它可以彻底的检测出内存的稳定度。</p>
<p>　　二、如果都没有，那就从软件方面排除故障了。</p>
<p>　　先说原理：内存有个存放数据的地方叫缓冲区，当程序把数据放在缓冲区，需要操作系统提供的“功能函数”来申请，如果内存分配成功，函数就会将所新开辟的内存区地址返回给应用程序，应用程序就可以通过这个地址使用这块内存。这就是“动态内存分配”，内存地址也就是编程中的“光标”。内存不是永远都招之即来、用之不尽的，有时候内存分配也会失败。当分配失败时系统函数会返回一个0值，这时返回值“0”已不表示新启用的光标，而是系统向应用程序发出的一个通知，告知出现了错误。作为应用程序，在每一次申请内存后都应该检查返回值是否为0，如果是，则意味着出现了故障，应该采取一些措施挽救，这就增强了程序的“健壮性”。若应用程序没有检查这个错误，它就会按照“思维惯性”认为这个值是给它分配的可用光标，继续在之后的执行中使用这块内存。真正的0地址内存区储存的是计算机系统中最重要的“中断描述符表”，绝对不允许应用程序使用。在没有保护机制的操作系统下(如DOS)，写数据到这个地址会导致立即当机，而在健壮的操作系统中，如Windows等，这个操作会马上被系统的保护机制捕获，其结果就是由操作系统强行关闭出错的应用程序，以防止其错误扩大。这时候，就会出现上述的内存不能为“read”错误，并指出被引用的内存地址为“0&#215;00000000“。内存分配失败故障的原因很多，内存不够、系统函数的版本不匹配等都可能有影响。因此，这种分配失败多见于操作系统使用很长时间后，安装了多种应用程序(包括无意中“安装”的病毒程序)，更改了大量的系统参数和系统档案之后。</p>
<p>　　在使用动态分配的应用程序中，有时会有这样的情况出现：程序试图读写一块“应该可用”的内存，但不知为什么，这个预料中可用的光标已经失效了。有可能是“忘记了”向操作系统要求分配，也可能是程序自己在某个时候已经注销了这块内存而“没有留意”等等。注销了的内存被系统回收，其访问权已经不属于该应用程序，因此读写操作也同样会触发系统的保护机制，企图“违法”的程序唯一的下场就是被操作终止执行，回收全部资源。计算机世界的法律还是要比人类有效和严厉得多啊！像这样的情况都属于程序自身的BUG，你往往可在特定的操作顺序下重现错误。无效光标不一定总是0，因此错误提示中的内存地址也不一定为“0&#215;00000000”，而是其它随机数字。</p>
<p>　　首先建议：</p>
<p>　　1、检查系统中是否有木马或病毒?</p>
<p>　　&gt;2、更新操作系统，让操作系统的安装程序重新拷贝正确版本的系统档案、修正系统参数。有时候操作系统本身也会有BUG，要注意安装官方发行的升级程序。</p>
<p>　　3、尽量使用最新正式版本的应用程序、Beta版、试用版都会有BUG。</p>
<p>　　4、删除然后重新创建WinntSystem32WbemRepository文件夹中的文件：在桌面上右击我的电脑，然后单击管理。在&#8221;服务和应用程序&#8221;下，单击服务，然后关闭并停止WindowsManagementInstrumentation服务。删除WinntSystem32WbemRepository文件夹中的所有文件。（在删除前请创建这些文件的备份副本。）打开&#8221;服务和应用程序&#8221;，单击服务，然后打开并启动WindowsManagementInstrumentation服务。当服务重新启动时，将基于以下注册表项中所提供的信息重新创建这些文件：HKEY_LOCAL_MACHINESOFTWAREMicrosoftWBEMCIMOMAutorecoverMOFs</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.oipop.com/archives/65/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>让ubuntu自动删除旧版操作系统内核</title>
		<link>http://blog.oipop.com/archives/62</link>
		<comments>http://blog.oipop.com/archives/62#comments</comments>
		<pubDate>Thu, 20 Aug 2009 07:22:05 +0000</pubDate>
		<dc:creator>Kinsta</dc:creator>
				<category><![CDATA[linux系统]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[内核]]></category>
		<category><![CDATA[操作系统]]></category>

		<guid isPermaLink="false">http://blog.oipop.com/?p=62</guid>
		<description><![CDATA[在命令行下输入一下命令：
sudo aptitude purge ~ilinux-image-.*\(\!`uname -r`\)
]]></description>
			<content:encoded><![CDATA[<p>在命令行下输入一下命令：</p>
<p>sudo aptitude purge ~ilinux-image-.*\(\!`uname -r`\)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.oipop.com/archives/62/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu:旧的内核的删除</title>
		<link>http://blog.oipop.com/archives/59</link>
		<comments>http://blog.oipop.com/archives/59#comments</comments>
		<pubDate>Thu, 20 Aug 2009 00:52:04 +0000</pubDate>
		<dc:creator>Kinsta</dc:creator>
				<category><![CDATA[linux系统]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[内核]]></category>
		<category><![CDATA[操作系统]]></category>

		<guid isPermaLink="false">http://blog.oipop.com/?p=59</guid>
		<description><![CDATA[Ubuntu的旧的内核的删除
Ubuntu 在使用过程中，会不断的更新，所用内核也是一样的，这样在启机时，就会有一大堆的选项，很是烦人，而且占用磁盘空间，内核部分一般保留两个内核就足够了，一是最新的，以便发挥系统的性能，但是新的内核可能存在一些问题，所以要再保留最新之前的一个老内核，以保证系统的稳定性。
       但是在使用过程中，很多人不会移除内核，我也是反复在论坛上找，并自己实践了一下，才找到方法，在这要感谢water在南方linux论坛上发表的文章：

1.查看我们的系统有多少个内核：
打开终端，输入如下命令：
   dpkg &#8211;get-selections&#124;grep linux
马上系统会把目前所有内核全部列出来，包括之前已经删除的内核：
libselinux1                install
linux-generic                          install
linux-headers-2.6.24-16               install
linux-headers-2.6.24-16-generic            install
linux-headers-2.6.24-17                         install
linux-headers-2.6.24-17-generic            install
linux-headers-2.6.24-19                        install
linux-headers-2.6.24-19-generic            install
linux-headers-2.6.24-20                         install
linux-headers-2.6.24-20-generic            install
linux-headers-2.6.24-21                        install
linux-headers-2.6.24-21-generic            install
linux-headers-generic                  install
linux-image-2.6.24-16-generic                deinstall
linux-image-2.6.24-17-generic                deinstall
linux-image-2.6.24-19-generic                deinstall
linux-image-2.6.24-20-generic           install
linux-image-2.6.24-21-generic              install
linux-image-generic                install
linux-libc-dev                    install
linux-restricted-modules-2.6.24-16-generic    deinstall
linux-restricted-modules-2.6.24-17-generic    deinstall
linux-restricted-modules-2.6.24-19-generic    deinstall
linux-restricted-modules-2.6.24-20-generic    install
linux-restricted-modules-2.6.24-21-generic    install
linux-restricted-modules-common                  install
linux-restricted-modules-generic                    install
linux-sound-base                                           install
linux-ubuntu-modules-2.6.24-16-generic        deinstall
linux-ubuntu-modules-2.6.24-17-generic        deinstall
linux-ubuntu-modules-2.6.24-19-generic        deinstall
linux-ubuntu-modules-2.6.24-20-generic        install
linux-ubuntu-modules-2.6.24-21-generic        install
linuxqq                                                         install
util-linux                                                        install
util-linux-locales                                             install
上面就是系统中所有的内核，在后面写install是目前还安装的内核，写deinstall 的是已经删除的内核
从上面看，我就要保留20和21两个内核，然后去除16.17.18.19 四个内核
2.删除指定的内核：
在终端上使用apt-get remove 命令
sudo apt-get remove linux-headers-2.6.24-16 linux-headers-2.6.24-16-generic linux-headers-2.6.24-17 linux-headers-2.6.24-17-generic linux-headers-2.6.24-19 linux-headers-2.6.24-19-generic linux-image-2.6.24-16-generic [...]]]></description>
			<content:encoded><![CDATA[<p>Ubuntu的旧的内核的删除</p>
<p>Ubuntu 在使用过程中，会不断的更新，所用内核也是一样的，这样在启机时，就会有一大堆的选项，很是烦人，而且占用磁盘空间，内核部分一般保留两个内核就足够了，一是最新的，以便发挥系统的性能，但是新的内核可能存在一些问题，所以要再保留最新之前的一个老内核，以保证系统的稳定性。<br />
       但是在使用过程中，很多人不会移除内核，我也是反复在论坛上找，并自己实践了一下，才找到方法，在这要感谢water在南方linux论坛上发表的文章：<br />
<span id="more-59"></span><br />
1.查看我们的系统有多少个内核：<br />
打开终端，输入如下命令：<br />
   dpkg &#8211;get-selections|grep linux<br />
马上系统会把目前所有内核全部列出来，包括之前已经删除的内核：<br />
libselinux1                install<br />
linux-generic                          install<br />
linux-headers-2.6.24-16               install<br />
linux-headers-2.6.24-16-generic            install<br />
linux-headers-2.6.24-17                         install<br />
linux-headers-2.6.24-17-generic            install<br />
linux-headers-2.6.24-19                        install<br />
linux-headers-2.6.24-19-generic            install<br />
linux-headers-2.6.24-20                         install<br />
linux-headers-2.6.24-20-generic            install<br />
linux-headers-2.6.24-21                        install<br />
linux-headers-2.6.24-21-generic            install<br />
linux-headers-generic                  install<br />
linux-image-2.6.24-16-generic                deinstall<br />
linux-image-2.6.24-17-generic                deinstall<br />
linux-image-2.6.24-19-generic                deinstall<br />
linux-image-2.6.24-20-generic           install<br />
linux-image-2.6.24-21-generic              install<br />
linux-image-generic                install<br />
linux-libc-dev                    install<br />
linux-restricted-modules-2.6.24-16-generic    deinstall<br />
linux-restricted-modules-2.6.24-17-generic    deinstall<br />
linux-restricted-modules-2.6.24-19-generic    deinstall<br />
linux-restricted-modules-2.6.24-20-generic    install<br />
linux-restricted-modules-2.6.24-21-generic    install<br />
linux-restricted-modules-common                  install<br />
linux-restricted-modules-generic                    install<br />
linux-sound-base                                           install<br />
linux-ubuntu-modules-2.6.24-16-generic        deinstall<br />
linux-ubuntu-modules-2.6.24-17-generic        deinstall<br />
linux-ubuntu-modules-2.6.24-19-generic        deinstall<br />
linux-ubuntu-modules-2.6.24-20-generic        install<br />
linux-ubuntu-modules-2.6.24-21-generic        install<br />
linuxqq                                                         install<br />
util-linux                                                        install<br />
util-linux-locales                                             install</p>
<p>上面就是系统中所有的内核，在后面写install是目前还安装的内核，写deinstall 的是已经删除的内核<br />
从上面看，我就要保留20和21两个内核，然后去除16.17.18.19 四个内核<br />
2.删除指定的内核：<br />
在终端上使用apt-get remove 命令<br />
sudo apt-get remove linux-headers-2.6.24-16 linux-headers-2.6.24-16-generic linux-headers-2.6.24-17 linux-headers-2.6.24-17-generic linux-headers-2.6.24-19 linux-headers-2.6.24-19-generic linux-image-2.6.24-16-generic linux-image-2.6.24-17-generic linux-image-2.6.24-19-generic linux-restricted-modules-2.6.24-16-generic linux-restricted-modules-2.6.24-17-generic linux-restricted-modules-2.6.24-19-generic linux-ubuntu-modules-2.6.24-16-generic linux-ubuntu-modules-2.6.24-16-generic linux-ubuntu-modules-2.6.24-17-generic linux-ubuntu-modules-2.6.24-19-generic</p>
<p>注意每个内核间要用空格隔开</p>
<p>然后按提示，就一切ok了</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.oipop.com/archives/59/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WinPE的引导过程</title>
		<link>http://blog.oipop.com/archives/34</link>
		<comments>http://blog.oipop.com/archives/34#comments</comments>
		<pubDate>Wed, 15 Jul 2009 03:36:11 +0000</pubDate>
		<dc:creator>Kinsta</dc:creator>
				<category><![CDATA[Visual Basic]]></category>
		<category><![CDATA[PE]]></category>
		<category><![CDATA[winPE]]></category>
		<category><![CDATA[操作系统]]></category>

		<guid isPermaLink="false">http://blog.oipop.com/?p=34</guid>
		<description><![CDATA[硬盘启动过程：     
BIOS读MBR(主引导) -&#62; PBR(分区引导) -&#62; NTDETECT.COM -&#62; NTLDR -&#62; BOOT.INI -&#62; AVLDR.PE -&#62; PELDR -&#62; WINNT.SIF -&#62; 镜像文件
                                                       
光盘启动过程：
BIOS读光盘引导信息 -&#62; 光盘上的\i386\NTDETECT.COM -&#62; SETUPLDR.BIN -&#62; 安装信息文件 -&#62; 镜像文件
光盘Ramdisk启动过程：
BIOS读光盘引导信息 -&#62; [...]]]></description>
			<content:encoded><![CDATA[<div>硬盘启动过程：     <br />
BIOS读MBR(主引导) -&gt; PBR(分区引导) -&gt; NTDETECT.COM -&gt; NTLDR -&gt; BOOT.INI -&gt; AVLDR.PE -&gt; PELDR -&gt; WINNT.SIF -&gt; 镜像文件<br />
                                                       <br />
光盘启动过程：<br />
BIOS读光盘引导信息 -&gt; 光盘上的\i386\NTDETECT.COM -&gt; SETUPLDR.BIN -&gt; 安装信息文件 -&gt; 镜像文件</div>
<p>光盘Ramdisk启动过程：<br />
BIOS读光盘引导信息 -&gt; 光盘上的\WXPE\NTDETECT.COM -&gt; SETUPLDR.BIN -&gt; 光盘根目录\WINNT.XPE -&gt; 镜像文件 -&gt; 镜像目录\WXPE\TXTSETUP.SIF -&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.oipop.com/archives/34/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用syslinux制作USB启动菜单</title>
		<link>http://blog.oipop.com/archives/29</link>
		<comments>http://blog.oipop.com/archives/29#comments</comments>
		<pubDate>Wed, 15 Jul 2009 03:27:09 +0000</pubDate>
		<dc:creator>Kinsta</dc:creator>
				<category><![CDATA[嵌入式系统]]></category>
		<category><![CDATA[PE]]></category>
		<category><![CDATA[winPE]]></category>
		<category><![CDATA[操作系统]]></category>

		<guid isPermaLink="false">http://blog.oipop.com/?p=29</guid>
		<description><![CDATA[利用syslinux制作Dos、WinPE、Slax Linux集成的口袋操作系统
一、概述
U盘具有价格越便宜、携带方便的特点，在工作中可以把一些自己常用的工具整和到里面，在电脑维护方面比较方便。
二、系统的选择
1、dos系统
目前在dos工具盘中比较多，有MS-DOS 7.1，深山红叶DOS工具盘、MaxDos、矮人dos工具盘、超普DOS工具盘等等，在制作中你自己自己选择自己喜欢的dos工具盘，我选择的MaxDos，里面有许多的工具，比如pq、windows密码破解等。
2、WinPE系统
WinPE系统网上提供的版本很多，基本都是修改至老毛桃的WinPE，主要有深山红叶WINPE工具箱、老九WinPE 老毛桃修改之撒手不管版、金手指快速装机U盘版、通用PE工具箱、完美者U盘WinPE维护系统、晨枫U盘维护等，为了使集成时修改最少，这里选择晨枫U盘维护版。
3、Linux
U盘上的Linux比较多，比如Damn Small Linux、Slax Linux、puppy linux、Ubuntu等选择体积比较小的，功能比较完备的，这里选择Slax。
4、口袋操作系统
主要有ceedo、mojopac和PortableApps Suite，根据自己的爱好去选择，我从使用习惯和功能上在这里选了ceedo。

三、u盘启动引导程序的选择
任何一个操作系统在任何一个硬件平台上运行都需要一个引导的过程，即，初始化软件环境、把内核从存储介质放到内存当中去，并开始运行。引导程序上承 BIOS，下接内核的初始化代码，开一次机只运行一次后就不留痕迹了，相当的重要。
可对u 盘引导的引导程序主要有IO、NTLDR、syslinux、Grub等，她们各有特点，从兼容性考虑，我选择了syslinux。syslinux是专门用来引导可移动介质的轻量级引导程序，支持initrd功能，initrd = init ramdisk,就是在启动时使用的一个内存虚拟磁盘，提高了对广泛的硬件支持性。
四、软件清单与说明
1、syslinux-3.73
Syslinux系统文件，可以到下面地址下载：
http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-3.73.zip
相关安装教程：
http://syslinux.zytor.com/wiki/index.php/SYSLINUX
2、HP优盘格式化工具
HP优盘格式化工具是用来对u盘进行格式化的工具，也可以直接进行做io的启动u盘。可以到下面地址下载：
http://www.xdowns.com/soft/6/7/2007/Soft_35477.html
3、GDParam
GDParam这个工具可以方便得获取 PC 虚拟启动当中所需要的磁盘镜像文件的c/h/s 参数。在用syslinux启动dos的磁盘镜像时需要指定c/h/s 参数。可以到下面地址下载：
http://www.05sun.com/downinfo/5089.html
4、WinImage
用来创建和修改磁盘镜像的软件，你可以自己创建或者修改dos的磁盘镜像。可以到下面地址下载：
http://www.crsky.com/soft/281.html
5、UltraISO
UltraISO软碟通是一款光盘映像ISO文件编辑制作工具，它可以图形化地从光盘、硬盘制作和编辑ISO文件。可以对下载得到的winpe或者slax光盘映像进行修改。可以到下面地址下载：
http://www.crsky.com/soft/1134.html
6、WinHex
Winhex是在Windows下运行的十六进制编辑软件，在对winpe进行安装文件修改等方面需要的工具。可以到下面地址下载：
http://www.orsoon.com/Soft/4921.html
7、XCAB
XCAB能调用系统的makecab.exe文件，把文件加或目录压缩为CAB，特别支持为 XCMD DEVI 生成 CAB，在对winpe进行修改打包时用到。可以到下面地址下载：
http://bbs.wuyou.net/attachment.php?aid=14397
8、WimTool
WimTool可以对Wim格式文件进行进行操作处理，在修改winpe的外置程序包时必须用的。可以到下面地址下载：
http://www.newasp.net/soft/app/26726.html
9、slax 6.0.9
ftp://ftp.slax.org/SLAX-6.x/slax-6.0.9.iso
10、.晨枫U盘维护V2.0_512M版
http://www.rayfile.com/zh-cn/files/5731196e-e314-11dd-85f0-0019d11a795f/
11、Loadbin
http://download.gna.org/grubutil/makerom-0.1-bin-w32-2008-01-01.zip
12、ceedo
http://www.myfiles.com.cn/soft/5/5224.htm
五、安装 SYSLINUX
1、把u盘格式化，采用fat32格式。你可以用windows或者HP优盘格式化工具进行。
2、在u盘的根创建boot文件夹，在boot下创建syslinux子文件夹
3、把下载得到的syslinux-3.73.zip解压缩到任意文件夹，在其中的win32下有syslinux.exe文件。拷贝syslinux.exe到你u盘的/boot/syslinux文件夹下
4、打开命令行，切换到u盘根目录，进入/boot/syslinux文件夹，执行syslinux.exe，假设你的u盘的盘符为j：
在命令行下依次运行下列命令：
C:\Documents and Settings\xxxxx&#62; J:
J:\&#62;Cd boot/syslinux
J:\boot\syslinux&#62; syslinux.exe -ma -d /boot/syslinux j:
其中 -d /boot/syslinux是把命令生成的启动系统文件ldlinux.sys放到/boot/syslinux目录，可以从该目录寻找syslinux.cfg配置文件。
六、配置启动菜单
1、拷贝syslinux系统文件
启动菜单的配置都在syslinux.cfg文件中。需要几个syslinux文件：
memdisk 引导IMG镜像的文件
vesamenu.c32 二种窗口模块之一
menu.c32 二种窗口模块之一
chain.c32 指定分区启动 如：chain.c32 hd0 1 (或chain.c32 hd1 1)
reboot.c32 重新启动计算机
在解压缩的syslinux-3.73文件夹中搜索以上就几个文件依次拷贝到u盘的/boot/syslinux文件夹下。
2、SYSLINUX.CFG菜单
default vesamenu.c32 默认使用vesamenu.c32窗口模块（必填项）
timeout 60 菜单停留时间，计时单位1/10秒（必填项）
F1 readme.txt 按F1阅读自述文件
F2 syslinux.cfg 按F2显示启动菜单配置文件
MENU BACKGROUND [...]]]></description>
			<content:encoded><![CDATA[<p>利用syslinux制作Dos、WinPE、Slax Linux集成的口袋操作系统</p>
<p>一、概述<br />
U盘具有价格越便宜、携带方便的特点，在工作中可以把一些自己常用的工具整和到里面，在电脑维护方面比较方便。<br />
二、系统的选择<br />
1、dos系统<br />
目前在dos工具盘中比较多，有MS-DOS 7.1，深山红叶DOS工具盘、MaxDos、矮人dos工具盘、超普DOS工具盘等等，在制作中你自己自己选择自己喜欢的dos工具盘，我选择的MaxDos，里面有许多的工具，比如pq、windows密码破解等。<br />
2、WinPE系统<br />
WinPE系统网上提供的版本很多，基本都是修改至老毛桃的WinPE，主要有深山红叶WINPE工具箱、老九WinPE 老毛桃修改之撒手不管版、金手指快速装机U盘版、通用PE工具箱、完美者U盘WinPE维护系统、晨枫U盘维护等，为了使集成时修改最少，这里选择晨枫U盘维护版。<br />
3、Linux<br />
U盘上的Linux比较多，比如Damn Small Linux、Slax Linux、puppy linux、Ubuntu等选择体积比较小的，功能比较完备的，这里选择Slax。<br />
4、口袋操作系统<br />
主要有ceedo、mojopac和PortableApps Suite，根据自己的爱好去选择，我从使用习惯和功能上在这里选了ceedo。</p>
<p><span id="more-29"></span><br />
三、u盘启动引导程序的选择<br />
任何一个操作系统在任何一个硬件平台上运行都需要一个引导的过程，即，初始化软件环境、把内核从存储介质放到内存当中去，并开始运行。引导程序上承 BIOS，下接内核的初始化代码，开一次机只运行一次后就不留痕迹了，相当的重要。<br />
可对u 盘引导的引导程序主要有IO、NTLDR、syslinux、Grub等，她们各有特点，从兼容性考虑，我选择了syslinux。syslinux是专门用来引导可移动介质的轻量级引导程序，支持initrd功能，initrd = init ramdisk,就是在启动时使用的一个内存虚拟磁盘，提高了对广泛的硬件支持性。<br />
四、软件清单与说明<br />
1、syslinux-3.73<br />
Syslinux系统文件，可以到下面地址下载：<br />
<a href="http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-3.73.zip" target="_blank">http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-3.73.zip</a><br />
相关安装教程：<br />
<a href="http://syslinux.zytor.com/wiki/index.php/SYSLINUX" target="_blank">http://syslinux.zytor.com/wiki/index.php/SYSLINUX</a><br />
2、HP优盘格式化工具<br />
HP优盘格式化工具是用来对u盘进行格式化的工具，也可以直接进行做io的启动u盘。可以到下面地址下载：<br />
<a href="http://www.xdowns.com/soft/6/7/2007/Soft_35477.html" target="_blank">http://www.xdowns.com/soft/6/7/2007/Soft_35477.html</a><br />
3、GDParam<br />
GDParam这个工具可以方便得获取 PC 虚拟启动当中所需要的磁盘镜像文件的c/h/s 参数。在用syslinux启动dos的磁盘镜像时需要指定c/h/s 参数。可以到下面地址下载：<br />
<a href="http://www.05sun.com/downinfo/5089.html" target="_blank">http://www.05sun.com/downinfo/5089.html</a><br />
4、WinImage<br />
用来创建和修改磁盘镜像的软件，你可以自己创建或者修改dos的磁盘镜像。可以到下面地址下载：<br />
<a href="http://www.crsky.com/soft/281.html" target="_blank">http://www.crsky.com/soft/281.html</a><br />
5、UltraISO<br />
UltraISO软碟通是一款光盘映像ISO文件编辑制作工具，它可以图形化地从光盘、硬盘制作和编辑ISO文件。可以对下载得到的winpe或者slax光盘映像进行修改。可以到下面地址下载：<br />
<a href="http://www.crsky.com/soft/1134.html" target="_blank">http://www.crsky.com/soft/1134.html</a><br />
6、WinHex<br />
Winhex是在Windows下运行的十六进制编辑软件，在对winpe进行安装文件修改等方面需要的工具。可以到下面地址下载：<br />
<a href="http://www.orsoon.com/Soft/4921.html" target="_blank">http://www.orsoon.com/Soft/4921.html</a><br />
7、XCAB<br />
XCAB能调用系统的makecab.exe文件，把文件加或目录压缩为CAB，特别支持为 XCMD DEVI 生成 CAB，在对winpe进行修改打包时用到。可以到下面地址下载：<br />
<a href="http://bbs.wuyou.net/attachment.php?aid=14397" target="_blank">http://bbs.wuyou.net/attachment.php?aid=14397</a><br />
8、WimTool<br />
WimTool可以对Wim格式文件进行进行操作处理，在修改winpe的外置程序包时必须用的。可以到下面地址下载：<br />
<a href="http://www.newasp.net/soft/app/26726.html" target="_blank">http://www.newasp.net/soft/app/26726.html</a><br />
9、slax 6.0.9<br />
<a href="ftp://ftp.slax.org/SLAX-6.x/slax-6.0.9.iso" target="_blank">ftp://ftp.slax.org/SLAX-6.x/slax-6.0.9.iso</a><br />
10、.晨枫U盘维护V2.0_512M版<br />
<a href="http://www.rayfile.com/zh-cn/files/5731196e-e314-11dd-85f0-0019d11a795f/" target="_blank">http://www.rayfile.com/zh-cn/files/5731196e-e314-11dd-85f0-0019d11a795f/</a><br />
11、Loadbin<br />
<a href="http://download.gna.org/grubutil/makerom-0.1-bin-w32-2008-01-01.zip" target="_blank">http://download.gna.org/grubutil/makerom-0.1-bin-w32-2008-01-01.zip</a><br />
12、ceedo<br />
<a href="http://www.myfiles.com.cn/soft/5/5224.htm" target="_blank">http://www.myfiles.com.cn/soft/5/5224.htm</a><br />
五、安装 SYSLINUX<br />
1、把u盘格式化，采用fat32格式。你可以用windows或者HP优盘格式化工具进行。<br />
2、在u盘的根创建boot文件夹，在boot下创建syslinux子文件夹<br />
3、把下载得到的syslinux-3.73.zip解压缩到任意文件夹，在其中的win32下有syslinux.exe文件。拷贝syslinux.exe到你u盘的/boot/syslinux文件夹下<br />
4、打开命令行，切换到u盘根目录，进入/boot/syslinux文件夹，执行syslinux.exe，假设你的u盘的盘符为j：<br />
在命令行下依次运行下列命令：<br />
C:\Documents and Settings\xxxxx&gt; J:<br />
J:\&gt;Cd boot/syslinux<br />
J:\boot\syslinux&gt; syslinux.exe -ma -d /boot/syslinux j:<br />
其中 -d /boot/syslinux是把命令生成的启动系统文件ldlinux.sys放到/boot/syslinux目录，可以从该目录寻找syslinux.cfg配置文件。<br />
六、配置启动菜单<br />
1、拷贝syslinux系统文件<br />
启动菜单的配置都在syslinux.cfg文件中。需要几个syslinux文件：<br />
memdisk 引导IMG镜像的文件<br />
vesamenu.c32 二种窗口模块之一<br />
menu.c32 二种窗口模块之一<br />
chain.c32 指定分区启动 如：chain.c32 hd0 1 (或chain.c32 hd1 1)<br />
reboot.c32 重新启动计算机<br />
在解压缩的syslinux-3.73文件夹中搜索以上就几个文件依次拷贝到u盘的/boot/syslinux文件夹下。<br />
2、SYSLINUX.CFG菜单<br />
default vesamenu.c32 默认使用vesamenu.c32窗口模块（必填项）<br />
timeout 60 菜单停留时间，计时单位1/10秒（必填项）<br />
F1 readme.txt 按F1阅读自述文件<br />
F2 syslinux.cfg 按F2显示启动菜单配置文件<br />
MENU BACKGROUND back.png 运行窗口背景图片（必填项）<br />
MENU TITLE 菜单标题<br />
MENU WIDTH 40 菜单选择条长度（必填项）<br />
MENU MARGIN 0 菜单选择条缩进，0不缩进（若删除则自动使用默认值）<br />
MENU ROWS 30 菜单选择条却换，0不能却换（若删除则自动使用默认值）<br />
MENU HELPMSGROW 26 （若删除则自动使用默认值）<br />
MENU TIMEOUTROW 27 倒计时条下移，0不下移（若删除则自动使用默认值）<br />
MENU TABMSGROW 28 TAB显示条下移，0不下移 （若删除则自动使用默认值）<br />
MENU CMDLINEROW 28 TAB信息条下移，0不下移 （若删除则自动使用默认值）<br />
上面这2项的参数必须一致，以免按TAB键后弹出的信息条易位<br />
MENU HSHIFT 0 菜单选择条右移，0不右移 （若删除则自动使用默认值）<br />
MENU VSHIFT 0 菜单选择条顶端，0不下移（若删除则自动使用默认值）<br />
menu color screen 37;40 #00000000 #00000000 none<br />
menu color border 30;44 #00000000 #00000000 none（必填项）<br />
menu color title 1;36;44 #00000000 #00000000 none<br />
七、dos系统的配置<br />
1、在u盘的根建立dos文件夹，从网上下载maxdos系统，或者你自己用WinImage进行创建修改成img文件，比如MaxDOS.img放在dos文件下。<br />
2、取得img文件的CHS参数<br />
syslinux支持gzip或zip压缩格式的磁盘映像，但memdisk自身不能压缩，memdisk支持标准floppy镜像直接启动，非标准（容量大于2880K的）要附加CHS参数。我们可以用GDParam取得img文件的CHS参数。<br />
3、修改SYSLINUX.CFG<br />
打开SYSLINUX.CFG文件在里面添加形如下的内容：<br />
LABEL MaxDOS<br />
MENU LABEL MaxDOS<br />
kernel /boot/syslinux/memdisk c=142 h=4 s=36 floppy<br />
append initrd=/dos/MaxDOS.img<br />
八、slax系统的配置<br />
1、把下载得到的slax-6.0.9.iso完全提取出来放在slax-6.0.9文件夹。<br />
2、把其中的slax文件夹包含子文件复制到u盘的根目录。<br />
3、slax-6.0.9文件夹中的下面vmlinuz、initrd.gz两文件拷贝到u盘的boot文件下。<br />
4、打开slax-6.0.9文件夹boot中的slax.cfg文件，复制其中的：<br />
LABEL xconf<br />
MENU LABEL Slax Graphics mode (KDE)<br />
kernel /boot/vmlinuz<br />
append initrd=/boot/initrdch.gz ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;telinit~4 changes=/slax/ locale=CHS.UTF-8<br />
5、把复制的上面内容贴人u盘/boot/syslinux下的SYSLINUX.CFG<br />
九、winpe的配置<br />
1、解压缩下载得到的晨枫U盘维护V2.0_512M版.rar到任意一文件夹。<br />
2、在u盘根新建winpe文件夹。<br />
3、修改winpe OEM信息<br />
解压缩得到的MyFeng/Boot下的WinPE.is_改为WinPE.cab，用winrar打开解压出WinPE.iso，用UltraISO打开，提取出\WXPE\SYSTEM32下的oeminfo.ini和OEMLOGO.bmp进行修改，导入替换掉就可以了，保持iso文件，把新得到的iso文件用xcab软件重新进行打包，得到WinPE.cab，再把WinPE.cab改为WinPE.is_ 。<br />
4、修改winpe外置程序包<br />
解压缩解压缩得到的MyFeng/Boot下的OP.WIM用WimTool解开，然后你可以替换桌面背景图片，加入或者删除一些程序，然后再用WimTool打包成OP.WIM<br />
5、把处理完的OP.WIM、WinPE.is_文件拷贝到u盘的winpe文件夹。<br />
6、打开MyFeng/Boot下的winpe.ini修改其中的关于OP.WIM位置的代码，你也可以修改其他的链接。修改如下。<br />
MOUN %CurDrv%\winpe\OP.WIM,Y:\外置程序,1<br />
保存，然后拷贝到u盘的boot文件夹下。<br />
7、拷贝MyFeng/Boot下的ldrxpe、fon.bin、ntd.com到u盘的boot文件夹下。<br />
8、用记事本修改MyFeng/Boot下的xpsi文件中的WinPE.IS_路径为：<br />
OsLoadOptions=&#8221;/minint /fastdetect /rdexportascd /rdpath=winpe\WinPE.IS_&#8221;<br />
保持，然后拷贝到u盘的boot文件夹下。<br />
9、解压缩下载得到的loadbin-0.1-bin-w32-2008-03-01.zip，把其中的ldntldr.bin改名为ldntldr，然后拷贝到u盘的boot文件夹下。<br />
10、修改SYSLINUX.CFG文件，在其中加入下面内容：<br />
LABEL WinPE<br />
MENU LABEL Lite Win PE<br />
kernel /boot/ldntldr<br />
append initrd=/boot/ldrxpe<br />
十、安装Ceedo<br />
把下载得到的Ceedo安装到你的u盘，然后进行配置。<br />
十一、U盘的目录结构和启动配置文件<br />
1、根目录<br />
|&#8212;boot&#8212;-|&#8211;syslinux&#8211;| sysinux.cfg<br />
|&#8212;dos<br />
|&#8212;slax<br />
|&#8212;winpe<br />
|&#8212;Ceedo<br />
|&#8212;My Documents<br />
2、参考SYSLINUX.CFG文件内容：<br />
prompt 1<br />
timeout 90<br />
default vesamenu.c32<br />
MENU BACKGROUND back.png</p>
<p>MENU WIDTH 36<br />
MENU MARGIN 0<br />
MENU ROWS 8<br />
MENU HELPMSGROW 14<br />
MENU TIMEOUTROW 22<br />
MENU TABMSGROW 24<br />
MENU CMDLINEROW 24<br />
MENU HSHIFT 40<br />
MENU VSHIFT 2<br />
menu color screen 37;40 #00000000 #00000000 none<br />
menu color border 30;44 #00000000 #00000000 none<br />
menu color title 1;36;44 #00000000 #00000000 none<br />
menu color unsel 37;44 #ff60CA00 #00000000 none<br />
menu color hotkey 1;37;44 #ff60CA00 #00000000 none<br />
menu color sel 7;37;40 #ffffffff #ff60CA00 none<br />
menu color hotsel 1;7;37;40 #ff808080 #ff60CA00 none<br />
menu color scrollbar 30;44 #00000000 #00000000 none<br />
menu color tabmsg 31;40 #aaaaaaaa #00000000 none<br />
menu color cmdmark 1;36;40 #ffff0000 #00000000 none<br />
menu color cmdline 37;40 #aaaaaaaa #00000000 none<br />
menu color pwdborder 30;47 #ffff0000 #00000000 std<br />
menu color pwdheader 31;47 #ffff0000 #00000000 std<br />
menu color pwdentry 30;47 #ffff0000 #00000000 std<br />
menu color timeout_msg 37;40 #aaaaaaaa #00000000 none<br />
menu color timeout 1;37;40 #ffaaaaff #00000000 none<br />
menu color help 37;40 #aaaaaa00 #00000000 none<br />
menu color msg07 37;40 #90ffffff #00000000 std<br />
MENU TITLE Jinjun&#8217;s Tools Disk<br />
LABEL MaxDOS<br />
MENU LABEL MaxDOS<br />
kernel /boot/syslinux/memdisk c=142 h=4 s=36 floppy<br />
append initrd=/dos/MaxDOS.img<br />
TEXT HELP<br />
More about currently selected:<br />
Run MaxDOS.<br />
ENDTEXT</p>
<p>LABEL WinPE<br />
MENU LABEL Lite Win PE<br />
kernel /boot/ldntldr<br />
append initrd=/boot/ldrxpe<br />
TEXT HELP<br />
More about currently selected:<br />
Run Lite Win PE.<br />
ENDTEXT<br />
LABEL xconf<br />
MENU LABEL Slax Graphics mode (KDE)<br />
kernel /boot/vmlinuz<br />
append initrd=/boot/initrdch.gz ramdisk_size=6666 root=/dev/ram0 rw autoexec=xconf;telinit~4 changes=/slax/ locale=CHS.UTF-8<br />
TEXT HELP<br />
More about currently selected:<br />
Run Slax the best way we can.<br />
ENDTEXT</p>
<p>LABEL reboot<br />
MENU LABEL reboot<br />
kernel /boot/syslinux/reboot.c32<br />
TEXT HELP<br />
More about currently selected:<br />
reboot.<br />
ENDTEXT<br />
十二、使用<br />
在使用中你可以把启动顺序设置u-hdd方式优先。欢迎大家交流。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.oipop.com/archives/29/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WinPE核心DIY修改教程</title>
		<link>http://blog.oipop.com/archives/14</link>
		<comments>http://blog.oipop.com/archives/14#comments</comments>
		<pubDate>Mon, 13 Jul 2009 18:21:08 +0000</pubDate>
		<dc:creator>Kinsta</dc:creator>
				<category><![CDATA[嵌入式系统]]></category>
		<category><![CDATA[PE]]></category>
		<category><![CDATA[winPE]]></category>
		<category><![CDATA[操作系统]]></category>

		<guid isPermaLink="false">http://blog.oipop.com/?p=14</guid>
		<description><![CDATA[首先，要DIY，就要掌握一个大概的原理，这里说的只是大概。那么PE是如何运作的？其实PE的文件从粗略来分，可以分为核心和外置程序两个部分，相信外置是大家所关心的，但是这里要先讲核心，因为外置是在一定程度上依赖核心的。
PE的核心格式可分为三种ISO格式，NTFS IMG格式，FAT IMG格式，这三种格式有什么不同先不用管，先讲一下PE的运作
PE其实就类似一个未安装的系统（只是类似，还是有区别的），PE的系统文件就在PE的核心中，PE启动时，会先将一部分内存当作硬盘来使用，我们暂且可以称其为Ramdisk盘，当Ramdisk盘设置好了，就会根据核心中的txtsetup.sif文件的设置来进行“安装”，也就是把核心中的文件释放到Ramdisk盘当中，也就是PE启动后我们所看到的X盘。当PE“安装”好后就可以进入PE了。

接下来，在进入PE的桌面前，会根据x:\I386(或WXPE或其他文件夹名)\system32\PECMD.INI文件来进行PE的一些设置，和调用外部配置文件。而外部配置文件就是和外置程序有关的了。
PE的启动过程基本就这样（不包括引导过程），接下来要讲讲X盘大小的设置问题，X盘正如上面所说的，是PE的系统文件所在地，那么在调整X盘的大小前弄明白调整它的意义，举一个简单的例子，假如一个PE的系统文件一共有60M，而X盘的大小只有61M，那么就有1M的空间剩余。假如你想启动网络，那当然是要先安装网卡驱动。而网卡驱动当然不只1M那么小，这样说来，X盘的剩余空间就不足够你安装网卡驱动。那么网络就会无法启动，假如我把X盘调整到70M，那么10M的剩余空间就足够安装网卡驱动了。
那么现在，结果出来了，当你的外置程序中含有需要解压到核心的东西时，例如驱动，则核心中就必须预留空间。那么意义明确了，不同的PE，核心就需要进行相应的调整，这样才可以达到最大利用率。
ISO核心PE的X盘大小调整方法（以毛桃0911为例）
找到核心文件WINPE.IS_，用WINRAR打开,把里面的WINPE.ISO提出来.用ULTRAISO打开WINPE.ISO,找到WXPE\SYSTEM32\PECMD.INI文件,看到FBWF这行,这条命令就是用来设置X盘大小的,不需要懂原理,会用就可以了.
命令参数如下:
FBWF [P可用内存百分数] [L最小值] [H最大值]
FBWF P20 L32 H64
三个参数都可单独使用，如 FBWF L64 表示强制设置 64M 的 FBWF；FBWF命令必须在 MOUN 命令之后
这样就可以设置X盘的大小了,把修改后的ISO保存,再用CAB压缩就OK.
IMG核心中X盘大小调整方案
一.FAT IMG X盘调整方案
1.类似ISO一样调整FBWF(不过FBWF+IMG+卡巴=蓝屏,并且FBWF不太稳定),方法是先用WINRAR解压后缀为IM_的文件,把里面的IMG后缀的文件解压出来,然后用VDM加载,同样找到WXPE(这个文件夹名能会有点变化,不同的PE可能不同)\SYSTEM32\PECMD.INI,调整好后,卸载镜象.再用CAB压缩.
2.直接建立所需要大小的IMG(即X盘需要70M就建立70M大的IMG,并关闭FBWF)
假设我的PE的系统文件为60M,那么我要建立一个70M的IMG,则先打开VDM,建立一个70M的IMG,然后加载IMG&#8212;&#8211;格式化为FAT格式&#8212;把PE的文件都复制进去&#8212;卸载IMG&#8212;&#8211;在如上图最右边的压缩按钮。
这里还要再提一下，表面上PE的系统文件为60M，PE核心大小为70M，那么就多了10M空间，但启动后，X盘的剩余空间会比10M要大一些，这是因为启动后会删除一些启动后就没用的文件，例如SRS驱动等。
二.NTFS IMG X盘调整方案
1.用FBWF（方法和FAT IMG一样，但也会蓝屏）
2．建立所需大小的IMG（和FAT IMG有所不同，请注意），因为是NTFS格式的关系，所以我们可以起用NTFS压缩来自动压缩核心中的文件，例如，60M的文件，经过NTFS压缩后就变成了48M。那么我们建立核心只要52M就可以放下原来是60M的文件。
过程是这样的：建立一个50M的IMG&#8212;&#8211;格式化为NTFS格式&#8212;&#8211;启用NTFS压缩，接下来到了关键的一步，就是复制文件，这里和FAT IMG的复制不同，FAT IMG是一次全部复制过去就可以了，但NTFS IMG不可以。
首先把SYSTEM32目录以外的目录先复制过去，SYSTEM32目录里的文件要几个一批慢慢复制，遇到体积较大的文件如SHELL32.DLL，一次复制一个，假如遇到提示磁盘空间不足，则卸载IMG，重新再挂载再继续复制，直到所有文件都复制完毕。复制完成后就可以卸载IMG了，然后把后缀名改为IM_，这里不要用CAB压缩，具体原因看下面PE启动内存的计算。
PE启动内存计算
PE的启动内存和核心有关，大概为下面这个公式（只是大概）
1． 用CAB压缩过的核心
X*2+16（单位MB）（X为未压缩时的核心大小）
2． 不用CAB压缩的核心
X+32（单位MB）（X为未压缩时的核心大小）
这里就可以解释为什么NTFS IMG的核心一般不用CAB压缩，因为NTFSIMG格式的核心用CAB压缩效果很差，压缩率低，例如：50M的NTFS IMG用CAB压缩后才35M，而70M（里面有60M的文件）的FATIMG用CAB压缩后，体积变成了26-29M左右。所以NTFS IMG不用CAB压缩，体积减小不多，而启动内存要加倍，因小失大
关于安装配置文件txtsetup.sif的简单说明
相信玩过精简版系统的朋友都知道这个文件的用途，同样PE里也有这个文件，这也是为什么我在文章一开始把PE比喻成类似未安装的系统，废话不多说，我就简单讲讲这个文件。
[WinntDirectories]
这个字段是用代码表示文件拷贝的目标文件夹，其根目录为%WinDir%即安装指定的Windows文件夹。
[SourceDiskFiles]
根据前面设定的代码表示文件拷贝的具体细节。
下面三段为集成SATA SCSI等驱动时所用
[HardwareIdsDatebase]—硬件标识
[SCSI.load]——SCSI驱动加载
[SCSI]——SCSI设备说明
添加srs驱动实例
◇在PE中添加sata,raid驱动的方法：（这里以Intel Matrix Storage Manager driver为例，以便于说明，以下描述的驱动文件名只基于本实例，实际操作中的具体的文件名称以需要添加的具体驱动为准）
一. 准备材料：1.原版驱动文件
2.从PE中提取的txtsetup.sif文件
二. 从PE中提取txtsetup.sif文件：
先将PE中的winpe.is_重命名为winpe.cab，然后用RAR解压出winpe.iso
用UltraISO打开它，将txtsetup.sif提取出来，并用记事本打开备用。
三. 修改txtsetup.sif文件
1. 打开驱动包，里面有一个扩展名为“.inf”或“.oem”的小文件，如“oemsetup.inf”或者“txtsetup.oem”等(本例中为“txtsetup.oem”)，用记事本打开备用；
2. 在txtsetup.sif中查找[SourceDisksFiles]字段，在其下添加iaStor.sys=1,,,,,,4_,4,1,,,1,4
3. 查找[SCSI.Load]字段，在其下添加iaStor=iaStor.sys,4
4.切换到刚才打开的txtsetup.oem，查找HardwareIds关键字，将该字段下的代码全部拷贝到txtsetup.sif文件的[HardwareIdsDatabase]字段末尾，但需要更改一下代码的格式，比如将id =&#8221;PCI\VEN_8086&#38;DEV_27C3&#38;CC_0104&#8243;,&#8221;iaStor&#8221;改为PCI\VEN_8086&#38;DEV_27C3&#38;CC_0104＝iaStor
5. 查找[SCSI]字段，在其下添加iaStor=&#8221;Intel(R) 82801FBM SATA AHCI Controller (Mobile ICH6M)&#8221;
至此，修改txtsetup.sif文件部分完成，将修改后的sif文件替换原来的文件。
四. 复制驱动文件
将驱动文件iaStor.sys用makecab.exe压缩成iaStor.sy_并添加到PE的system32\DRIVERS目录下，然后将修改后的winpe.iso用makecab.exe重新压缩成winpe.is_替换原来的文件。
至此整个添加驱动工作完成，重启动以测试成功与否。
关于更详细的txtsetup.sif的用法，可以到精简区搜索，那里有不少教程，我这里就不多说了。
关于修改PE的注册表
要DIY核心，修改注册表是肯定要会的，先找到SYSTEM32目录下的setupreg.hi_，用WINRAR打开把里面的setupreg.hiv解压出来。打开开始菜单&#8212;运行&#8212;-输入regedit,用鼠标选中HKEY_LOCAL_MACHINE项，然后单击文件&#8212;加载外部配置文件
然后找到刚刚的那个setupreg.hiv加载，然后提示项名称，这里随便填，我填&#8221;！&#8221;方便区分。
之后，你就可以修改！项里的注册表了，！项里的就是PE的注册表，修改完了后不要忘记卸载配置单元，选中！项，按文件—卸载配置单元。最后用CAB把修改好的setupreg.hiv文件压缩再替换原文件即可。
　这一步主要是指修改 ＷinPE 的注册表，可以直接修改ＷinPE注册表，也可以修改配置文件。
　　1、修改内部注册表的方法：
　　用前面修改 PECMD.INI 的方法将内部注册表的文件提取出来：
　　\WXPE\SYSTEM32\CONFIG\*.*
　　\WXPE\SYSTEM32\SETUPREG.HI_ [...]]]></description>
			<content:encoded><![CDATA[<p>首先，要DIY，就要掌握一个大概的原理，这里说的只是大概。那么PE是如何运作的？其实PE的文件从粗略来分，可以分为核心和外置程序两个部分，相信外置是大家所关心的，但是这里要先讲核心，因为外置是在一定程度上依赖核心的。</p>
<p>PE的核心格式可分为三种ISO格式，NTFS IMG格式，FAT IMG格式，这三种格式有什么不同先不用管，先讲一下PE的运作<br />
PE其实就类似一个未安装的系统（只是类似，还是有区别的），PE的系统文件就在PE的核心中，PE启动时，会先将一部分内存当作硬盘来使用，我们暂且可以称其为Ramdisk盘，当Ramdisk盘设置好了，就会根据核心中的txtsetup.sif文件的设置来进行“安装”，也就是把核心中的文件释放到Ramdisk盘当中，也就是PE启动后我们所看到的X盘。当PE“安装”好后就可以进入PE了。<br />
<span id="more-14"></span><br />
接下来，在进入PE的桌面前，会根据x:\I386(或WXPE或其他文件夹名)\system32\PECMD.INI文件来进行PE的一些设置，和调用外部配置文件。而外部配置文件就是和外置程序有关的了。</p>
<p>PE的启动过程基本就这样（不包括引导过程），接下来要讲讲X盘大小的设置问题，X盘正如上面所说的，是PE的系统文件所在地，那么在调整X盘的大小前弄明白调整它的意义，举一个简单的例子，假如一个PE的系统文件一共有60M，而X盘的大小只有61M，那么就有1M的空间剩余。假如你想启动网络，那当然是要先安装网卡驱动。而网卡驱动当然不只1M那么小，这样说来，X盘的剩余空间就不足够你安装网卡驱动。那么网络就会无法启动，假如我把X盘调整到70M，那么10M的剩余空间就足够安装网卡驱动了。</p>
<p>那么现在，结果出来了，当你的外置程序中含有需要解压到核心的东西时，例如驱动，则核心中就必须预留空间。那么意义明确了，不同的PE，核心就需要进行相应的调整，这样才可以达到最大利用率。</p>
<p>ISO核心PE的X盘大小调整方法（以毛桃0911为例）</p>
<p>找到核心文件WINPE.IS_，用WINRAR打开,把里面的WINPE.ISO提出来.用ULTRAISO打开WINPE.ISO,找到WXPE\SYSTEM32\PECMD.INI文件,看到FBWF这行,这条命令就是用来设置X盘大小的,不需要懂原理,会用就可以了.</p>
<p>命令参数如下:<br />
FBWF [P可用内存百分数] [L最小值] [H最大值]<br />
FBWF P20 L32 H64<br />
三个参数都可单独使用，如 FBWF L64 表示强制设置 64M 的 FBWF；FBWF命令必须在 MOUN 命令之后</p>
<p>这样就可以设置X盘的大小了,把修改后的ISO保存,再用CAB压缩就OK.</p>
<p>IMG核心中X盘大小调整方案</p>
<p>一.FAT IMG X盘调整方案</p>
<p>1.类似ISO一样调整FBWF(不过FBWF+IMG+卡巴=蓝屏,并且FBWF不太稳定),方法是先用WINRAR解压后缀为IM_的文件,把里面的IMG后缀的文件解压出来,然后用VDM加载,同样找到WXPE(这个文件夹名能会有点变化,不同的PE可能不同)\SYSTEM32\PECMD.INI,调整好后,卸载镜象.再用CAB压缩.</p>
<p>2.直接建立所需要大小的IMG(即X盘需要70M就建立70M大的IMG,并关闭FBWF)</p>
<p>假设我的PE的系统文件为60M,那么我要建立一个70M的IMG,则先打开VDM,建立一个70M的IMG,然后加载IMG&#8212;&#8211;格式化为FAT格式&#8212;把PE的文件都复制进去&#8212;卸载IMG&#8212;&#8211;在如上图最右边的压缩按钮。</p>
<p>这里还要再提一下，表面上PE的系统文件为60M，PE核心大小为70M，那么就多了10M空间，但启动后，X盘的剩余空间会比10M要大一些，这是因为启动后会删除一些启动后就没用的文件，例如SRS驱动等。</p>
<p>二.NTFS IMG X盘调整方案</p>
<p>1.用FBWF（方法和FAT IMG一样，但也会蓝屏）</p>
<p>2．建立所需大小的IMG（和FAT IMG有所不同，请注意），因为是NTFS格式的关系，所以我们可以起用NTFS压缩来自动压缩核心中的文件，例如，60M的文件，经过NTFS压缩后就变成了48M。那么我们建立核心只要52M就可以放下原来是60M的文件。</p>
<p>过程是这样的：建立一个50M的IMG&#8212;&#8211;格式化为NTFS格式&#8212;&#8211;启用NTFS压缩，接下来到了关键的一步，就是复制文件，这里和FAT IMG的复制不同，FAT IMG是一次全部复制过去就可以了，但NTFS IMG不可以。</p>
<p>首先把SYSTEM32目录以外的目录先复制过去，SYSTEM32目录里的文件要几个一批慢慢复制，遇到体积较大的文件如SHELL32.DLL，一次复制一个，假如遇到提示磁盘空间不足，则卸载IMG，重新再挂载再继续复制，直到所有文件都复制完毕。复制完成后就可以卸载IMG了，然后把后缀名改为IM_，这里不要用CAB压缩，具体原因看下面PE启动内存的计算。</p>
<p>PE启动内存计算</p>
<p>PE的启动内存和核心有关，大概为下面这个公式（只是大概）</p>
<p>1． 用CAB压缩过的核心</p>
<p>X*2+16（单位MB）（X为未压缩时的核心大小）</p>
<p>2． 不用CAB压缩的核心</p>
<p>X+32（单位MB）（X为未压缩时的核心大小）</p>
<p>这里就可以解释为什么NTFS IMG的核心一般不用CAB压缩，因为NTFSIMG格式的核心用CAB压缩效果很差，压缩率低，例如：50M的NTFS IMG用CAB压缩后才35M，而70M（里面有60M的文件）的FATIMG用CAB压缩后，体积变成了26-29M左右。所以NTFS IMG不用CAB压缩，体积减小不多，而启动内存要加倍，因小失大<br />
关于安装配置文件txtsetup.sif的简单说明</p>
<p>相信玩过精简版系统的朋友都知道这个文件的用途，同样PE里也有这个文件，这也是为什么我在文章一开始把PE比喻成类似未安装的系统，废话不多说，我就简单讲讲这个文件。</p>
<p>[WinntDirectories]<br />
这个字段是用代码表示文件拷贝的目标文件夹，其根目录为%WinDir%即安装指定的Windows文件夹。<br />
[SourceDiskFiles]<br />
根据前面设定的代码表示文件拷贝的具体细节。<br />
下面三段为集成SATA SCSI等驱动时所用</p>
<p>[HardwareIdsDatebase]—硬件标识<br />
[SCSI.load]——SCSI驱动加载<br />
[SCSI]——SCSI设备说明</p>
<p>添加srs驱动实例</p>
<p>◇在PE中添加sata,raid驱动的方法：（这里以Intel Matrix Storage Manager driver为例，以便于说明，以下描述的驱动文件名只基于本实例，实际操作中的具体的文件名称以需要添加的具体驱动为准）</p>
<p>一. 准备材料：1.原版驱动文件</p>
<p>2.从PE中提取的txtsetup.sif文件</p>
<p>二. 从PE中提取txtsetup.sif文件：</p>
<p>先将PE中的winpe.is_重命名为winpe.cab，然后用RAR解压出winpe.iso</p>
<p>用UltraISO打开它，将txtsetup.sif提取出来，并用记事本打开备用。</p>
<p>三. 修改txtsetup.sif文件</p>
<p>1. 打开驱动包，里面有一个扩展名为“.inf”或“.oem”的小文件，如“oemsetup.inf”或者“txtsetup.oem”等(本例中为“txtsetup.oem”)，用记事本打开备用；</p>
<p>2. 在txtsetup.sif中查找[SourceDisksFiles]字段，在其下添加iaStor.sys=1,,,,,,4_,4,1,,,1,4</p>
<p>3. 查找[SCSI.Load]字段，在其下添加iaStor=iaStor.sys,4</p>
<p>4.切换到刚才打开的txtsetup.oem，查找HardwareIds关键字，将该字段下的代码全部拷贝到txtsetup.sif文件的[HardwareIdsDatabase]字段末尾，但需要更改一下代码的格式，比如将id =&#8221;PCI\VEN_8086&amp;DEV_27C3&amp;CC_0104&#8243;,&#8221;iaStor&#8221;改为PCI\VEN_8086&amp;DEV_27C3&amp;CC_0104＝iaStor</p>
<p>5. 查找[SCSI]字段，在其下添加iaStor=&#8221;Intel(R) 82801FBM SATA AHCI Controller (Mobile ICH6M)&#8221;</p>
<p>至此，修改txtsetup.sif文件部分完成，将修改后的sif文件替换原来的文件。</p>
<p>四. 复制驱动文件</p>
<p>将驱动文件iaStor.sys用makecab.exe压缩成iaStor.sy_并添加到PE的system32\DRIVERS目录下，然后将修改后的winpe.iso用makecab.exe重新压缩成winpe.is_替换原来的文件。</p>
<p>至此整个添加驱动工作完成，重启动以测试成功与否。</p>
<p>关于更详细的txtsetup.sif的用法，可以到精简区搜索，那里有不少教程，我这里就不多说了。</p>
<p>关于修改PE的注册表</p>
<p>要DIY核心，修改注册表是肯定要会的，先找到SYSTEM32目录下的setupreg.hi_，用WINRAR打开把里面的setupreg.hiv解压出来。打开开始菜单&#8212;运行&#8212;-输入regedit,用鼠标选中HKEY_LOCAL_MACHINE项，然后单击文件&#8212;加载外部配置文件</p>
<p>然后找到刚刚的那个setupreg.hiv加载，然后提示项名称，这里随便填，我填&#8221;！&#8221;方便区分。</p>
<p>之后，你就可以修改！项里的注册表了，！项里的就是PE的注册表，修改完了后不要忘记卸载配置单元，选中！项，按文件—卸载配置单元。最后用CAB把修改好的setupreg.hiv文件压缩再替换原文件即可。</p>
<p>　这一步主要是指修改 ＷinPE 的注册表，可以直接修改ＷinPE注册表，也可以修改配置文件。<br />
　　1、修改内部注册表的方法：<br />
　　用前面修改 PECMD.INI 的方法将内部注册表的文件提取出来：<br />
　　\WXPE\SYSTEM32\CONFIG\*.*<br />
　　\WXPE\SYSTEM32\SETUPREG.HI_ (这是CAB压缩包，将它解开成 SETUPREG.HIV)<br />
　　运行注册表编辑器 REGEDIT.EXE，鼠标点击 HKEY_LOCAL_MACHINE，然后点“文件”－“加载配置单元”，打开提取出来的注册表文件(需要改哪个就加载哪个)，提示挂载名时随便输入取一个名字如“WinPE”，展开 HKEY_LOCAL_MACHINE 后里面就有一项 WinPE，然后就跟普通的注册表操作一样了，改好后用鼠标点一下 “WinPE”项目，然后“文件”－“卸载配置单元”，这个文件就改好了。用改过的注册表文件替换原来的。<br />
　　2、修改配置文件的方法：<br />
　　对于普通的不依赖于外置程序目录结构的注册表项目，可以用常规方法将修改项写成 REG 文件(可以直接从 XP 系统中导出，然后在其基础上修)。在外置程序目录下有个 RegDoc.cmd，这个文件是毛桃用来注册外置程序文档关联的(就是改注册表)，可以用记事本打开它，加入一行:<br />
　　REGEDIT /s REG文件名<br />
　　则 ＷinPE 加载外部配置时它会自动导入。<br />
　　这是最简单的改注册表的方法。但是如果要改的项依赖于外置程序的目录结构(比如要在右键菜单中添加用 UltraEdit32 打开)，就不能用上面的方法了，因为外置程序的绝对路径是不确定的(不同的机器中盘符不能确定)。这种情况就需要用原始的 REG 命令来做了(就跟老毛桃在REGDOC.CMD 中的做法一样)，这个命令的语法比较艰懂，且注册表键值的表示方法跟 REG 文件不同。在命令提示符下通过 /? 参数可以获得它的用法(中文的哦)，提醒一下 /? 参数是个以多层使用的，如 REG /? 得到的是基本参数的说明，如用 REG ADD /? 则可得到 ADD 这个参数的用法……，有了这个命令的基础后，我们来看看是怎么解决不定路径问题的。在 REGDOC.CMD 中有一个环境变量 %TP%，代表的是 REGDOC.CMD 这个文件所在的路径。我们可以通过 %TP%\..\ 表示它的上层目录，%TP%\..\..\ 表示它的上两层目录。用此方法可以索引到外置程序目录内的所有路径，而不用考虑外置程序目录本身的绝对路径。还有个方法就是在 WinPE.INI 中用 PECMD 的 REGI 命令一行行添加，这个比系统的 REG 命令好理解些，同样可以用 %CurDir% 环境变量来索引外置程序目录内的所有路径.直接修改的好处是启动 ＷinPE 就是所需要设置，不依赖外部配置文件，ＷinPE 的加载速度也比较快，但麻烦。修改配置文件则比较简单，但要依赖配置文件加载过程(直到加载到那些语句时才会生效)，启动时需要额外的时间加载，相当于给系统打补丁去修改默认设置。<br />
　　一般情况下不推荐直接修改ＷinPE注册表，麻烦，重新打包也比较花时间。但有些跟系统紧密的键必须直接修改才有效，比如屏幕分辨率，虽然在外面也可以修改有，但在登录时加载到它之前是无效的，那么在登录的过程中屏幕就会因切换分辨率而闪烁。<br />
　　自己修改注册表的前提是自己要知道所希望的改变要修注册表中的哪些键值。可以上网搜索，现在网上的这些资源多得是，实在找不到的话可以还可以用 RegMon 之类的注册表监视软件来定位。比如修改记事本的自动换行，又不知道相应的键值在哪。可以先开启 RegMon，然后在记事本中改变换行的选项，看 RegMon 的监视结果，来定位是哪个键值。因为系统本身也在不断的更改注册表，RegMon 中的显示会很多，但是通过不断的改变记事本中的设置，最终是可以找到的，这个过程需要的是耐心和细心。</p>
<p>修改WinPE的OEM信息</p>
<p>1.提取文件</p>
<p>从WinPE镜像光盘中提取WinPE.IS_并解压，得到WinPE.ISO，提取其中需要的文件</p>
<p>2.修改</p>
<p>修改OEM文字信息请编辑OEMINFO.INI (用记事本编辑即可)，修改OEM图标请用作图工具编辑</p>
<p>3.替换文件&amp;压包</p>
<p>用UltraISO把修改好的文件替换到WinPE.ISO中对应的位置,再把WinPE.ISO用makecab压为WinPE.IS_文件,最后用UltraISO把刚压缩得到的WinPE.IS_替换到原始WinPE光盘(镜像)中生成新的WinPE光盘(镜像)</p>
<p>备注：有的修改 OEM 信息是修改 Winpe.ini 文件。</p>
<p>一、删除桌面上的“命令提示符”<br />
修改注册表,删除以下键值</p>
<p>[HKEY_LOCAL_MACHINE\SOFTWARE\Sherpya\XPEinit\Desktop]<br />
&#8220;@shell32.dll,-22022&#8243;=hex(2):25,00,63,00,6f,00,6d,00,73,00,70,00,65,00,63,00,\<br />
25,00,00,00<br />
或者：</p>
<p>REG DELETE HKLM\SOFTWARE\Sherpya\XPEinit\Desktop /v @shell32.dll,-22022 /f&gt;nul<br />
二、删除桌面上的“我的文档”</p>
<p>修改注册表,删除以下键值</p>
<p>[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu]<br />
&#8220;{450D8FBA-AD25-11D0-98A8-0800361B1103}&#8221;=dword:00000001<br />
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel]<br />
&#8220;{450D8FBA-AD25-11D0-98A8-0800361B1103}&#8221;=dword:00000001<br />
三、删除右键菜单中的“管理”</p>
<p>[HKEY_LOCAL_MACHINE\soft\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Manage]<br />
红色部分为注册表加载项的名称</p>
<p>四、修改文件夹视图方式</p>
<p>[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Streams]<br />
;平铺查看</p>
<p>&#8220;Settings&#8221;=hex:08,00,00,00,06,00,00,00,01,00,00,00,e5,25,f1,65,e1,7b,10,48,ba,9d,d2,71,c8,43,\2c,e3,04,00,00,00,1a,00,00,00,43,00,00,00</p>
<p>;缩略图查看</p>
<p>&#8220;Settings&#8221;=hex:08,00,00,00,05,00,00,00,01,00,00,00,90,b2,eb,8b,d0,52,d0,11,b7,f4,00,c0,4f,d7,\06,ec,04,00,00,00,07,00,00,00,43,00,00,00<br />
; 列表查看</p>
<p>&#8220;Settings&#8221;=hex:09,00,00,00,03,00,00,00,00,00,00,00,e0,a5,1f,0e,73,35,cf,11,ae,69,08,00,2b,2e,\12,62,04,00,00,00,01,00,00,00,43,00,00,00<br />
; 详细信息查看</p>
<p>&#8220;Settings&#8221;=hex:08,00,00,00,04,00,00,00,01,00,00,00,00,77,7e,13,73,35,cf,11,ae,69,08,00,2b,2e,\12,62,04,00,00,00,01,00,00,00,43,00,00,00<br />
; 图标查看</p>
<p>&#8220;Settings&#8221;=hex:08,00,00,00,01,00,00,00,01,00,00,00,e0,d0,57,00,73,35,cf,11,ae,69,08,00,2b,2e,\12,62,04,00,00,00,20,00,00,00,43,00,00,00<br />
五、修改虚拟驱动器X盘的大小</p>
<p>先把WinPE.IS_解压成WinPE .ISO，然后修改WXPE\SYSTEM32里的PECMD.INI的相关参数</p>
<p>//配置文件开始<br />
FBWF P40 L32 H96<br />
TEAM ENVI S=%SystemRoot%|ENVI SS=%S%\SYSTEM32|ENVI SSD=%SS%\Drivers<br />
TEAM FILE %S%\TXTSETUP.SI*|FILE %SS%\NTOSKRNL.EX*|FILE %SS%\WIN32K.SYS|FILE %SS%\CONFIG|FILE %SS%\*.*_|FILE %SSD%\*.SY_<br />
TEAM LOGS %S%\PECMD.LOG|MDIR %SystemDrive%\TEMP|ENVI|INIT|EXEC @PECMD.EXE CALL $SHELL32.DLL,DllInstall,#1,U<br />
&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;.<br />
P代表可用内存的40%<br />
L代表最低设置为32MB<br />
H代表最高设置为96MB<br />
最高设置可以不超过256MB<br />
当然有P40 这个参数在，H 设置成512也没事，也不会出现内存用光的情况</p>
<p>六、在WinPE中如何多建立一个Ramdisk盘</p>
<p>解开winpe.is_,得到winpe.iso,然后提取setupreg.hiv,用注册表编辑器加载到HKEY_LOCAL_MACHINE下,取名为!system，然后导入下面这个reg</p>
<p>Windows Registry Editor Version 5.00<br />
[HKEY_LOCAL_MACHINE\!system]<br />
[HKEY_LOCAL_MACHINE\!system\ControlSet001]<br />
[HKEY_LOCAL_MACHINE\!system\ControlSet001\Enum]<br />
[HKEY_LOCAL_MACHINE\!system\ControlSet001\Enum\Root]<br />
[HKEY_LOCAL_MACHINE\!system\ControlSet001\Enum\Root\UNKNOWN]<br />
[HKEY_LOCAL_MACHINE\!system\ControlSet001\Enum\Root\UNKNOWN\9999]<br />
&#8220;ClassGUID&#8221;=&#8221;{FFA1C341-4539-11D3-B88D-00C04FAD5172}&#8221;<br />
&#8220;Class&#8221;=&#8221;RamDisk&#8221;<br />
&#8220;ConfigFlags&#8221;=dword:00000004<br />
&#8220;Mfg&#8221;=&#8221;Nu2 Productions&#8221;<br />
&#8220;HardwareID&#8221;=hex(7):72,00,61,00,6d,00,64,00,72,00,69,00,76,00,00,00,00,00<br />
&#8220;Service&#8221;=&#8221;Ramdriv&#8221;<br />
&#8220;DeviceDesc&#8221;=&#8221;Ramdisk&#8221;<br />
&#8220;Capabilities&#8221;=dword:00000000<br />
&#8220;Driver&#8221;=&#8221;{FFA1C341-4539-11D3-B88D-00C04FAD5172}\\0001&#8243;<br />
[HKEY_LOCAL_MACHINE\!system\ControlSet001\Enum\Root\UNKNOWN\9999\Control]<br />
&#8220;DisableCount&#8221;=dword:00000000<br />
&#8220;ActiveService&#8221;=&#8221;Ramdriv&#8221;<br />
&#8220;FilteredConfigVector&#8221;=hex(7):30,00,30,00,00,00,30,00,30,00,00,00,30,00,30,00,\<br />
00,00,30,00,30,00,00,00,30,00,30,00,00,00,30,00,30,00,00,00,30,00,30,00,00,\<br />
00,30,00,30,00,00,00,30,00,30,00,00,00,30,00,30,00,00,00,30,00,30,00,00,00,\<br />
30,00,30,00,00,00,00,00<br />
[HKEY_LOCAL_MACHINE\!system\ControlSet001\Services]<br />
[HKEY_LOCAL_MACHINE\!system\ControlSet001\Services\Ramdriv]<br />
&#8220;Type&#8221;=dword:00000001<br />
&#8220;Start&#8221;=dword:00000003<br />
&#8220;ErrorControl&#8221;=dword:00000001<br />
&#8220;DisplayName&#8221;=&#8221;Ramdisk&#8221;<br />
&#8220;ImagePath&#8221;=&#8221;system32\\drivers\\ramdriv.sys&#8221;<br />
[HKEY_LOCAL_MACHINE\!system\ControlSet001\Services\Ramdriv\Enum]<br />
&#8220;0&#8243;=&#8221;Root\\UNKNOWN\\9999&#8243;<br />
&#8220;Count&#8221;=dword:00000001<br />
&#8220;NextInstance&#8221;=dword:00000001<br />
[HKEY_LOCAL_MACHINE\!system\ControlSet001\Services\Ramdriv\Parameters]<br />
&#8220;BreakOnEntry&#8221;=dword:00000000<br />
&#8220;DebugLevel&#8221;=dword:00000005<br />
&#8220;DebugComp&#8221;=dword:ffffffff<br />
&#8220;DiskSize&#8221;=dword:00100000<br />
&#8220;DriveLetter&#8221;=&#8221;B:&#8221;<br />
&#8220;RootDirEntries&#8221;=dword:00000200<br />
&#8220;SectorsPerCluster&#8221;=dword:00000002<br />
其中DiskSize是内存盘的大小，DriveLetter是内存盘盘符</p>
<p>DiskSize是内存盘的大小<br />
32 m 0&#215;02000000<br />
64 m 0&#215;04000000<br />
96 m 0&#215;06000000<br />
128 m 0&#215;08000000<br />
最后把修改好的setupreg.hiv卸载并放回winpe.iso中，system32\drivers还要加入Ramdriv.sys。</p>
<p>另外可以把Ramdriv.sys 改名，并修改相关的注册表就可再建其它Ramdisk盘</p>
<p>七、WinPE个性化</p>
<p>用记事本打开“外置程序”——“pe_outerpart”——start_sound.md的文件</p>
<p>在最后加上一句:</p>
<p>//删除WinPE桌面上的启用声音支持快捷方式<br />
PECMD.EXE FILE %USERPROFILE%\桌面\启用声音支持.lnk<br />
//添加WinPE桌面上的音量调节快捷方式<br />
PECMD.EXE LINK !%USERPROFILE%\桌面\调节音量,%systemroot%\system32\sndvol32.exe<br />
//删除WinPE桌面上的启动网络支持快捷方式<br />
PECMD.EXE FILE %USERPROFILE%\桌面\启用网络支持.lnk</p>
<p>八、在Grub菜单中空一行</p>
<p>menu.lst菜单文件中红色部分就是留空的哪一行<br />
timeout 30<br />
default 4</p>
<p>find &#8211;set-root /minipe/boot/sanic.ico<br />
fontfile /minipe/boot/fonts.gz<br />
splashimage /minipe/boot/back.gz<br />
title ?</p>
<p>至于这个?，可以先按下ALT，再用小键盘输入255，即可</p>
<p>九、定制WinPE启动时显示中文进度条</p>
<p>1、用UE打开Setupldr.bin查找bootfont修改所有bootfont.bak为bootfont.bin<br />
（中文支持字体文件，在WinXP系统的根目录下可以找到。或者直接找到bootfont.bin文件，修改为bootfont.bak）</p>
<p>2、在偏移45358h处找到00 DB 00修改DB为3E(可以选择自己喜欢的半角符号的16进制码) 或16进制查找00 DB 00修改</p>
<p>3、修改你认为有必要修改的英文提示字符串为中文(注意合适的字节数)，最好也把TXTSETUP.SIF里的那句也改成中文</p>
<p>4、将bootfont.bin放在WinPE 的根目录下</p>
<p>5、将修改后的Setupldr.bin替换原来的Setupldr.bin</p>
<p>十、定制WinPE系统中系统属性</p>
<p>在外置程序目录下的加载外置程序那个批处理中添加代码如下：</p>
<p>reg add &#8220;HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion&#8221; /v RegisteredOwner /t reg_sz /d 网络种猪 /f &gt;nul<br />
reg add &#8220;HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion&#8221; /v RegisteredOrganization /t reg_sz /d 逸天网络 /f &gt;nul<br />
reg delete &#8220;HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion&#8221; /v ProductId /f &gt;nul 2&gt;nul<br />
del /a /f /q %systemroot%\system32\oeminfo.ini &gt;nul 2&gt;nul<br />
del /a /f /q %systemroot%\system32\oemlogo.bmp &gt;nul 2&gt;nul<br />
以上的“网络种猪”是注册的用户名，“逸天网络”是注册的单位名，你想修改成什么就是什么。但要注意的是文字中间不能有空格，如果要隔开可以用智能ABC的v1的代替，否则修改不了原来的信息。</p>
<p>十一、修改WinPE启动画面</p>
<p>1、首先需要一个工具软件ResHacker</p>
<p>2、找到ntoskrnl.exe文件。复制两份，一份作为备份，一份用来编辑</p>
<p>3、用ResHacker打开用来编辑的ntoskrnl.exe文件，找到第一项：Bitmap\1\2052，然后选择菜单保存为1.bmp。用同样方法把第八项（Bitmap\8\2052）也保存为8.bmp</p>
<p>4、用Photoshop打开1.bmp文件，这时候图片是全黑的。接着选图像&#8211;&gt;模式&#8211;&gt;颜色表，载入16.act文件，OK，现在应该可以看到图像了</p>
<p>5、分别编辑完毕以后，再选图像&#8211;&gt;模式&#8211;&gt;颜色表，载入win.pal，这时候图片应该再次变黑，保存</p>
<p>6、在ResHacker中用编辑好的1.bmp和8.bmp文件分别替换ntoskrnl.exe中的相应文件。打开ResHacker“操作”菜单，找到“替换位图”，在“打开新位图文件”找到刚才编辑好保存的1.bmp文件，选择“打开”&#8211;&gt;“替换”，最后保存ntoskrnl.exe文件</p>
<p>注意:开机画面只支持16色、如果想换图片找些16色的图片来做吧、还有替换前要先备份好系统、以免出错</p>
<p>十二、加载隐藏分区的外围程序</p>
<p>首先要看外置程序是用什么样的封装了</p>
<p>1、如果是WIM格式封装的外置程序，就可以不用将隐藏分区SHOW出来也是可以加载的</p>
<p>2、如果是普通文件的外置程序，就必须要将隐藏分区SHOW出来才能加载的</p>
<p>具体步骤：在内核的PECMD.INI中加入一句：</p>
<p>show</p>
<p>WINPE外置程序修改<br />
来源：互联网 发表日期： 2008-11-04 12:49:39 收藏到：<br />
本文不涉及任何技术性的东西，期望目的在于让刚接触 PE 的朋友能对 PE 进行简单的修改，以适合自己使用。我只是根据自己学习的过程，将它们整理到一起而已(有可能我自己认识错误导致后面的内容错误，请高手指正，如果高手们有耐心看的话)。</p>
<p>包含以下几个方面的内容：</p>
<p>1、增减外置程序<br />
2、定制登录过程<br />
3、修改外置程序目录名<br />
4、修改系统设定(注册表)<br />
5、添加驱动<br />
需要会使用的几个工具软件：</p>
<p>1、UltraISO / WinRAR</p>
<p>2、CAB 打包软件 MakeCAB</p>
<p>一、增减外置程序</p>
<p>外置程序在光盘的“外置程序”目录中，对应的配置文件是该目录下的 WinPE.INI</p>
<p>删除程序只须删除该软件在外置程序目录对应的子目录，再删除 WinPE.INI 中相应的 LINK 创建快捷方式的语句行即可。</p>
<p>添加程序正好相反，将绿色软件放到外置程序目录中，在 WinPE.INI 中加入相应的 LINK 语句行创建快捷方式即可(参照其它 LINK 语句，复制一行，只须要改一下快捷方式的位置、名称/目标程序的目录名、可执行文件名)。</p>
<p>这里所说的绿色软件是指能在 PE 中运行绿软，网上所见的大多绿软并不是真正的绿色软件，应该叫准绿色软件或者免安装软件。</p>
<p>实际上很多并不是为 PE 准备的软件也是可以在 PE 中运行的，用一个笨办法来判断一个普通的绿软是否可以直接在 PE 中运行，启动 PE 环境，找到该软件所在目录，复制一份备份，然后将该目录和目录下的所有文件属性改为只读，直接双击目录内的可执行文件，看能否运行，运行后各项功能都使用一下看是否正常，如无异常，则可按上面的方法简单加入。</p>
<p>如运行异常，有可能缺某些库文件(这种情况一般有提示)，或它在自己的目录内写东西，或依赖注册表中的某些键值，这就需要动点手脚，如准备缺少的库文件，看它自己的目录下有没有配置文件可以修改，在 XP 中运行监视它要读些哪些注册表项。这种情况对不同的软件解决的方法不同，也可能无法解决，不过此种情况超出本文的定位，不再详述。</p>
<p>二、定制登录过程</p>
<p>这一项改动需要熟悉 PECMD 各命令的用法，读懂配置内外配置文件，最好对系统登录的过程有点了解。</p>
<p>只作为兴趣，因为老毛桃的登录顺序几乎也没什么可改动的了，可以留给我们定制的就是改改提示句、外置程序的加载方式、调整一下细节而已。</p>
<p>这一过程会涉及到内部配置文件:</p>
<p>1、将光盘映像根目录中的 WinPE.IS_ 用 UltraISO 或 WinRAR 提取出来<br />
2、将名称改成 WinPE.CAB(不改也可以，但用 WinRAR 打开会麻烦点)<br />
3、用 WinRAR 将其中的 WinPE.ISO 解压出来<br />
4、用同样的方法，将 WinPE.ISO 中的 WXPE\SYSTEM32\PECMD.INI 提取出来<br />
(要修改什么文件就提取什么文件，后面的改注册表也要用到此方法)<br />
5、按自己的需要修改提取出来的文件<br />
6、将修改后的文件放入 WinPE.ISO 中替换原来的(目录位置一定要相同)<br />
7、用 CAB 打包工具将 WinPE.ISO 重新打包为 WinPE.IS_<br />
8、再将 WinPE.IS_ 放到老毛桃的光盘映像中替换原来的<br />
注：用 UltraISO 修改 ISO 映像文件时最好用另存，以免改错了原来的备份也没有了。</p>
<p>三、修改外置程序目录名</p>
<p>要改动的地方有 3 个文件 + 1 个目录名：</p>
<p>1、内部配置文件 PECMD.INI(修改方法见前面说明)<br />
2、\外置程序\WinPE.INI (前面的根指光盘映像的根目录)<br />
3、\WINPE安装\SETUP.INI (老毛桃的安装卸载程序要用它)<br />
4、外置程序的目录名(这个是当然的)<br />
将三个 INI 文件提取出来按下面的步骤修改，假设新名为 &#8220;NEWNAME&#8221;：</p>
<p>1、用记事本打开 INI 文件，将光标定在文件最前面<br />
2、菜单：编辑－替换&#8230;<br />
3、在“查找内容”编辑框中输入&#8221;\外置程序&#8221;(不含引号)<br />
4、在“替换为”编辑框中输入&#8221;\NEWNAME&#8221;(不含引号)<br />
5、点全部替换<br />
6、在“查找内容”编辑框中输入&#8221;外置程序\&#8221;(不含引号)<br />
7、在“替换为”编辑框中输入&#8221;NEWNAME\&#8221;(不含引号)<br />
8、点全部替换<br />
9、保存<br />
用修改后的文件替换下载的光盘映像中原来的(外置程序这个目录的名字可以直接在 UltraISO 中改)</p>
<p>说得这么麻烦只是为了防止漏改或者将注释也给改了，实际上新版本因采用的 %CurDir% 这个环境变量后，要改的只有几个地方，手工改也是可以的。</p>
<p>四、修改系统设定</p>
<p>这一步主要是指修改 PE 的注册表，可以直接修改PE注册表，也可以修改配置文件。</p>
<p>1、修改内部注册表的方法：</p>
<p>用前面修改 PECMD.INI 的方法将内部注册表的文件提取出来：</p>
<p>\WXPE\SYSTEM32\CONFIG\*.*<br />
\WXPE\SYSTEM32\SETUPREG.HI_ (这是CAB压缩包，将它解开成 SETUPREG.HIV)</p>
<p>运行注册表编辑器 REGEDIT.EXE，鼠标点击 HKEY_LOCAL_MACHINE，然后点“文件”－“加载配置单元”，打到提取出来的注册表文件(需要改哪个就加载哪个)，打开，提示挂载名时随便输入取一个名字如“WinPE”，展开 HKEY_LOCAL_MACHINE 后里面就有一项 WinPE，然后就跟普通的注册表操作一样了，改好后用鼠标点一下 “WinPE”项目，然后“文件”－“卸载配置单元”，这个文件就改好了。</p>
<p>用改过的注册表文件替换原来的。</p>
<p>2、修改配置文件的方法：</p>
<p>对于普通的不依赖于外置程序目录结构的注册表项目，可以用常规方法将修改项写成 REG 文件(可以直接从 XP 系统中导出，然后在其基础上修)。在外置程序目录下有个 RegDoc.cmd，这个文件是毛桃用来注册外置程序文档关联的(就是改注册表)，可以用记事本打开它，加入一行:</p>
<p>REGEDIT /s REG文件名</p>
<p>则 PE 加载外部配置时它会自动导入。</p>
<p>这是最简单的改注册表的方法。但是如果要修的项依赖于外置程序的目录结构(比如要在右键菜单中添加用 UltraEdit32 打开)，就不能用上面的方法了，因为外置程序的绝对路径是不确定的(不同的机器中盘符不能确定)。</p>
<p>这种情况就需要用原始的 REG 命令来做了(就跟毛桃在REGDOC.CMD 中的做法一样)，这个命令的语法比较艰涩，且注册表键值的表示方法跟 REG 文件不同。在命令提示符下通过 /? 参数可以获得它的用法(中文的哦)，提醒一下 /? 参数是个以多层使用的，如 REG /? 得到的是基本参数的说明，如用 REG ADD /? 则可得到 ADD 这个参数的用法……</p>
<p>有了这个命令的基础后，我们来看看是怎么解决不定路径问题的。</p>
<p>在 REGDOC.CMD 中有一个环境变量 %TP%，代表的是 REGDOC.CMD 这个文件所在的路径。我们可以通过 %TP%\..\ 表示它的上层目录，%TP%\..\..\ 表示它的上两层目录。用此方法可以索引到外置程序目录内的所有路径，而不用考虑外置程序目录本身的绝对路径。</p>
<p>(还有个方法就是在 WinPE.INI 中用 PECMD 的 REGI 命令一行行添加，这个比系统的 REG 命令好理解些，同样可以用 %CurDir% 环境变量来索引外置程序目录内的所有路径)</p>
<p>直接修改的好处是启动 PE 就是所需要设置，不依赖外部配置文件，PE 的加载速度也比较快，但麻烦。修改配置文件则比较简单，但要依赖配置文件加载过程(直到加载到那些语句时才会生效)，启动时需要额外的时间加载，相当于给系统打补丁去修改默认设置。</p>
<p>一般情况下不推荐直接修改PE注册表，麻烦，重新打包也比较花时间。但有些跟系统紧密的键必须直接修改才有效，比如屏幕分辨率，虽然在外面也可以修改有，但在登录时加载到它之前是无效的，那么在登录的过程中屏幕就会因切换分辨率而闪烁。</p>
<p>自己修改注册表的前提是自己要知道所希望的改变要修注册表中的哪些键值。可以上网搜索，现在网上的这些资源多得是，实在找不到的话可以还可以用 RegMon 之类的注册表监视软件来定位。</p>
<p>比如修改记事本的自动换行，又不知道相应的键值在哪。可以先开启 RegMon，然后在记事本中改变换行的选项，看 RegMon 的监视结果，来定位是哪个键值。因为系统本身也在不断的更改注册表，RegMon 中的显示会很多，但是通过不断的改变记事本中的设置，最终是可以找到的，这个过程需要的是耐心和细心。</p>
<p>五、添加驱动</p>
<p>在外置程序目录中有一个比较重要的目录“PE_OUTERPART”，核心的外置组件都放在这里。里面有 4 个 CAB 压缩包，分别是 网卡/无线网卡/声卡/显卡 驱动包，而且加载的框架都已经搭好了，在 cmd 脚本中会自动调用 INFCACHEBUILD.EXE 处理驱动程序。我们要做的工作就是获取驱动程序文件，将它们放到相应的驱动包中。</p>
<p>从本机上获取驱动文件有很多驱动备份工具，我用的是最笨的方法，在设备管理器中查看驱动程序详细信息，然后一个个复制文件，建一个目录，放到相应的驱动包中。</p>
<p>中间有一个步骤，就是改一下复制出来的inf文件的名称，让它按文件名排序时可以排在最前面(我就是在文件名前面加了个下划线)。我不知道这一步是否是必须的，因为当初不知在哪个帖子中零星的看了点，没有仔细研究，我做的时候就老老实实改名了。</p>
<p>这样提取出来的驱动文件可能很大，测试成功后再删除一些不必要的驱动文件。有很多文件是可以删除的，可以参考原驱动包中同类驱动的文件，将类似的文件保留，其它删除。另一个笨办法是一个个删除，每删除一个测试一次，最终找到一个最小的驱动文件子集。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.oipop.com/archives/14/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
