<?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>AlvinJ.NET &#187; 技术/教程</title>
	<atom:link href="http://alvinj.net/category/%e6%8a%80%e6%9c%af%e6%95%99%e7%a8%8b/feed/" rel="self" type="application/rss+xml" />
	<link>http://alvinj.net</link>
	<description>Tech-Life</description>
	<lastBuildDate>Wed, 09 Jun 2010 08:54:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Linux下用Mentohust代替锐捷认证客户端</title>
		<link>http://alvinj.net/2010/03/19/linux%e4%bb%a3%e6%9b%bfmentohust/</link>
		<comments>http://alvinj.net/2010/03/19/linux%e4%bb%a3%e6%9b%bfmentohust/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 07:15:00 +0000</pubDate>
		<dc:creator>Alvin.J</dc:creator>
				<category><![CDATA[技术/教程]]></category>

		<guid isPermaLink="false">http://alvinj.net/?p=436</guid>
		<description><![CDATA[宿舍断网将近半个月了，寄人网下的生活真不是味，勉强打得开网页的速度，而且信号还不好，经常断线……后来在女友那里拿了张电信的3G数据卡，速度非常一般……不知道是数据卡不好还是这里信号不好又或者是CDAM2000本来就不快，下载平均50K左右，真让人失望！前几天校园网终于开通了！试用期内免费！试用了几天，速度非常不错！晚上12点之后是不限速度的，PT的时候可以达到5～6M每秒！真有点冲动入个1T的硬盘……
学校接入层用的是锐捷的方案，基于802.1x的接入认证，必须先使用客户端进行认证，才可以接入网内。Windows下锐捷的客户端很方便，但Linux下呢？我没试过……直接就找来了兼容锐捷认证特性的工具——Mentohust
因为Linux下经常需要开模拟器做实验，锐捷的官方客户端可能会对此有所限制（出现断网、dynamips崩溃等问题）。于是找来Mentohust试试，虽然无GUI，但习惯了Linux的用户应该不会抱怨这一点，因为它就时这样……
使用方法很简单，第一次用，先用 mentohust &#8211;help 看看怎么使  
里面列出了非常详细的说明，基本上一看就会！
例如我进行认证时使用的命令：sudo mentohust -u0731040000 -p00000 -neth0 -d2 -b1
命令就时这么简单，-u后面是用户名；-p后面是密码；-n后面时网卡的标识符，这里是有线网卡eth0；-d后面指定使用那种DHCP获取方式，2代表再认证之后获取，3时认证后，如果认证通过后还是连不了外网多半是在获取地址时出了问题，可以试试其他参数；最后一个-b1是使mentohust在后台运行，就不用额外打开一个窗口了，当然参数2也可以。
如果你嫌麻烦不想记这么多参数，大可以直接sudo mentohust，然后根据提示一步一步输入用户名密码等信息。
就这样，没什么技术性可言的，又作了一篇软文～  
]]></description>
			<content:encoded><![CDATA[<p>宿舍断网将近半个月了，寄人网下的生活真不是味，勉强打得开网页的速度，而且信号还不好，经常断线……后来在女友那里拿了张电信的3G数据卡，速度非常一般……不知道是数据卡不好还是这里信号不好又或者是CDAM2000本来就不快，下载平均50K左右，真让人失望！前几天校园网终于开通了！试用期内免费！试用了几天，速度非常不错！晚上12点之后是不限速度的，PT的时候可以达到5～6M每秒！真有点冲动入个1T的硬盘……</p>
<p>学校接入层用的是锐捷的方案，基于802.1x的接入认证，必须先使用客户端进行认证，才可以接入网内。Windows下锐捷的客户端很方便，但Linux下呢？我没试过……直接就找来了兼容锐捷认证特性的工具——Mentohust</p>
<p>因为Linux下经常需要开模拟器做实验，锐捷的官方客户端可能会对此有所限制（出现断网、dynamips崩溃等问题）。于是找来Mentohust试试，虽然无GUI，但习惯了Linux的用户应该不会抱怨这一点，因为它就时这样……</p>
<p>使用方法很简单，第一次用，先用 mentohust &#8211;help 看看怎么使 <img src='http://alvinj.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>里面列出了非常详细的说明，基本上一看就会！</p>
<p>例如我进行认证时使用的命令：sudo mentohust -u0731040000 -p00000 -neth0 -d2 -b1</p>
<p>命令就时这么简单，-u后面是用户名；-p后面是密码；-n后面时网卡的标识符，这里是有线网卡eth0；-d后面指定使用那种DHCP获取方式，2代表再认证之后获取，3时认证后，如果认证通过后还是连不了外网多半是在获取地址时出了问题，可以试试其他参数；最后一个-b1是使mentohust在后台运行，就不用额外打开一个窗口了，当然参数2也可以。</p>
<p>如果你嫌麻烦不想记这么多参数，大可以直接sudo mentohust，然后根据提示一步一步输入用户名密码等信息。</p>
<p>就这样，没什么技术性可言的，又作了一篇软文～ <img src='http://alvinj.net/wp-includes/images/smilies/icon_lol.gif' alt=':lol:' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://alvinj.net/2010/03/19/linux%e4%bb%a3%e6%9b%bfmentohust/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>DD-WRT PortForwarding配置及其作用</title>
		<link>http://alvinj.net/2010/02/07/dd-wrt-portforwarding%e9%85%8d%e7%bd%ae%e5%8f%8a%e5%85%b6%e4%bd%9c%e7%94%a8/</link>
		<comments>http://alvinj.net/2010/02/07/dd-wrt-portforwarding%e9%85%8d%e7%bd%ae%e5%8f%8a%e5%85%b6%e4%bd%9c%e7%94%a8/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 09:06:55 +0000</pubDate>
		<dc:creator>Alvin.J</dc:creator>
				<category><![CDATA[技术/教程]]></category>
		<category><![CDATA[DD-WRT]]></category>
		<category><![CDATA[Port Forwarding]]></category>

		<guid isPermaLink="false">http://alvinj.net/2010/02/07/dd-wrt-portforwarding%e9%85%8d%e7%bd%ae%e5%8f%8a%e5%85%b6%e4%bd%9c%e7%94%a8/</guid>
		<description><![CDATA[
PortForwarding字面上译作端口转发，更形象的翻译是端口映射。
顾名思义，端口映射就是在对两个端口进行关联使他们对应起来，而这里的两个端口分别是对应外网（WAN）的端口和对应内网（LAN）的端口。

为什么要端口映射？
大家知道内网共享上网都要用到NAT吧？要知道为什么要进行端口映射，还是有必要了解一下NAT的。通过NAT，内网多个私有地址可以共享一个公网地址与外网通信。最早的NAT并不关注Port（端口号），它最主要的任务是将两个地址进行转换。这也决定了在同一时间只能有一对地址（一个公网地址和一个内网地址）进行NAT，即使是动态NAT也是这样，如果有两个内网地址需要使用一个公网地址的话，就要分时进行。这种NAT并不能很好解决IPv4地址贫乏问题。后来PAT（NAT Overload，NAT重载）出现，它实现了多个内网地址同时通过一个公网地址对外进行通信！PAT的出现在一定程度上缓解了IPv4地址的贫乏问题。但在进行PAT的时候，为了区分内网的流量，路由器会随机为流量分配一个对外源端口（x）并记录这个端口与内网IP（C）、内网端口（Y）的关系，当路由器从外网上收到一个目的端口号为X的数据包时，就将该数据包的IP地址转换为C、端口转换为Y，这就是PAT的基本原理。这同时也带来了一个问题，对外的源端口是由路由器随机进行分配的，这就导致了源端口的不确定性了。如果内网有一台服务器对外提供一种服务，就需要一个固定的端口（z），好让外网可以通过这个端口来对服务器进行访问，但由于PAT，路由器从外网收到一个目的端口为（z）的数据包时，查找NAT表发现并没有端口Z的对应项，也就不会将该数据包正确转发至内网了。在外网看来可能就是这个端口响应超时或者没有开启！
显然，动态而随机的端口会令外网无法主动发起与内网的通信。要改善这一情况我们需要静态地对端口进行映射，这也是我们常说的PortForwarding（其实端口映射一直都在进行，我们只是认为地对端口进行静态的映射）。静态端口映射需要手动指定对外的端口号和内网某个地址的端口号，使他们唯一对应起来。静态端口映射会告诉路由器来自外网的目的端口为z的数据包需要确定地转换为内网的某个地址，目的端口号也将确定地转换至指定的目的端口。这样外网就可以主动对内网发起通信了，而不用等待内网主动发起通信并在路由器NAT表中创建表项才能根据表项与内网通信！
什么情况下需要端口映射？
就像我上面说的那样，静态的端口映射可以方便外网主动发起与内网通信，可能对与普通用户来说他们不需要也不希望外网主动对它发起通信，但总有一些应用时需要的，如你在内网开了一个服务器，又或者需要在外网远程连接内网的摄像头进行监控等工作，那么就可能需要对端口进行静态映射了。
而对于我，暂时只是为了PT……开启端口映射可以方便其他用户主动连接我，提高我的上传速度
用过uTorrent都知道，它会自动检测你所设定的端口工作是否正常（如果端口转发检测失败会有一个红色的感叹号，正常时是一个绿色的勾）。
DD-WRT如何设置静态端口映射？

1.用浏览器登入DD-WRT的管理页面；
2.确定你自己的PC使用的是静态的内网IP；
3.在管理页面找到“NAT/QOS”；
4.在该页下找到“PortForwarding”；
5. 如果你需要将内网地址192.168.1.2使用的端口8625与外网地址的8625对应起来，那么就像上面那样设置。其中PortFrom代表对外的端口号，IP address代表需要转换为的内网IP地址，Port代表装换后的内网端口号，protocol可以指定你需要对哪些协议进行静态映射。
6.勾选Enable，使该条目生效！
7.点击Apply setting和Save，设置完毕，最好重启一下路由器。
特别注意！：

如果你需要对192.168.1.2内网地址进行映射的话，这个地址不能处于DMZ区域！否则可能会造成映射失败！我之前就是因为这样一直映射不成功。
如果你开启了UPnP的话，可能会对覆盖静态端口映射，所以如果你配置的端口映射非常重要，请考虑关闭UPnP。
检查SPI Firewall是否处于开启状态，关闭该功能可能会导致静态端口映射不生效，此外请确保其中的“Filter WAN NAT Redirection”项处于关闭

检查PortForwarding是否生效：
打开：http://www.whatsmyip.org/ports/
在Custom Port Test中填入你需要测试的端口，点旁边的CheckPort

如果端口映射成功：（前提是该端口在你的PC上已经被打开，并且没有被防火墙阻隔）

暂时写到这里，如有纰漏，欢迎大家指出。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://alvinj.net/wp-content/uploads/2010/02/portforwarding4.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="portforwarding4" src="http://alvinj.net/wp-content/uploads/2010/02/portforwarding4_thumb.png" border="0" alt="portforwarding4" width="551" height="75" /></a></p>
<p>PortForwarding字面上译作端口转发，更形象的翻译是端口映射。</p>
<p>顾名思义，端口映射就是在对两个端口进行关联使他们对应起来，而这里的两个端口分别是对应外网（WAN）的端口和对应内网（LAN）的端口。</p>
<p><span id="more-416"></span></p>
<p>为什么要端口映射？</p>
<blockquote><p>大家知道内网共享上网都要用到NAT吧？要知道为什么要进行端口映射，还是有必要了解一下NAT的。通过NAT，内网多个私有地址可以共享一个公网地址与外网通信。最早的NAT并不关注Port（端口号），它最主要的任务是将两个地址进行转换。这也决定了在同一时间只能有一对地址（一个公网地址和一个内网地址）进行NAT，即使是动态NAT也是这样，如果有两个内网地址需要使用一个公网地址的话，就要分时进行。这种NAT并不能很好解决IPv4地址贫乏问题。后来PAT（NAT Overload，NAT重载）出现，它实现了多个内网地址同时通过一个公网地址对外进行通信！PAT的出现在一定程度上缓解了IPv4地址的贫乏问题。但在进行PAT的时候，为了区分内网的流量，路由器会随机为流量分配一个对外源端口（x）并记录这个端口与内网IP（C）、内网端口（Y）的关系，当路由器从外网上收到一个目的端口号为X的数据包时，就将该数据包的IP地址转换为C、端口转换为Y，这就是PAT的基本原理。这同时也带来了一个问题，对外的源端口是由路由器随机进行分配的，这就导致了源端口的不确定性了。如果内网有一台服务器对外提供一种服务，就需要一个固定的端口（z），好让外网可以通过这个端口来对服务器进行访问，但由于PAT，路由器从外网收到一个目的端口为（z）的数据包时，查找NAT表发现并没有端口Z的对应项，也就不会将该数据包正确转发至内网了。在外网看来可能就是这个端口响应超时或者没有开启！</p></blockquote>
<blockquote><p>显然，动态而随机的端口会令外网无法主动发起与内网的通信。要改善这一情况我们需要静态地对端口进行映射，这也是我们常说的PortForwarding（其实端口映射一直都在进行，我们只是认为地对端口进行静态的映射）。静态端口映射需要手动指定对外的端口号和内网某个地址的端口号，使他们唯一对应起来。静态端口映射会告诉路由器来自外网的目的端口为z的数据包需要确定地转换为内网的某个地址，目的端口号也将确定地转换至指定的目的端口。这样外网就可以主动对内网发起通信了，而不用等待内网主动发起通信并在路由器NAT表中创建表项才能根据表项与内网通信！</p></blockquote>
<p>什么情况下需要端口映射？</p>
<p>就像我上面说的那样，静态的端口映射可以方便外网主动发起与内网通信，可能对与普通用户来说他们不需要也不希望外网主动对它发起通信，但总有一些应用时需要的，如你在内网开了一个服务器，又或者需要在外网远程连接内网的摄像头进行监控等工作，那么就可能需要对端口进行静态映射了。</p>
<p>而对于我，暂时只是为了PT……开启端口映射可以方便其他用户主动连接我，提高我的上传速度</p>
<p>用过uTorrent都知道，它会自动检测你所设定的端口工作是否正常（如果端口转发检测失败会有一个红色的感叹号，正常时是一个绿色的勾）。</p>
<p>DD-WRT如何设置静态端口映射？</p>
<p><a href="http://alvinj.net/wp-content/uploads/2010/02/portforwarding.png"><img style="display: inline; border: 0px initial initial;" title="portforwarding" src="http://alvinj.net/wp-content/uploads/2010/02/portforwarding_thumb.png" border="0" alt="portforwarding" width="544" height="263" /></a></p>
<p>1.用浏览器登入DD-WRT的管理页面；</p>
<p>2.确定你自己的PC使用的是静态的内网IP；</p>
<p>3.在管理页面找到“NAT/QOS”；</p>
<p>4.在该页下找到“PortForwarding”；</p>
<p>5. 如果你需要将内网地址192.168.1.2使用的端口8625与外网地址的8625对应起来，那么就像上面那样设置。其中PortFrom代表对外的端口号，IP address代表需要转换为的内网IP地址，Port代表装换后的内网端口号，protocol可以指定你需要对哪些协议进行静态映射。</p>
<p>6.勾选Enable，使该条目生效！</p>
<p>7.点击Apply setting和Save，设置完毕，最好重启一下路由器。</p>
<p>特别注意！：</p>
<ul>
<li>如果你需要对192.168.1.2内网地址进行映射的话，这个地址不能处于DMZ区域！否则可能会造成映射失败！我之前就是因为这样一直映射不成功。</li>
<li>如果你开启了UPnP的话，可能会对覆盖静态端口映射，所以如果你配置的端口映射非常重要，请考虑关闭UPnP。</li>
<li>检查SPI Firewall是否处于开启状态，关闭该功能可能会导致静态端口映射不生效，此外请确保其中的“Filter WAN NAT Redirection”项处于关闭</li>
</ul>
<p>检查PortForwarding是否生效：</p>
<p>打开：<a title="http://www.whatsmyip.org/ports/" href="http://www.whatsmyip.org/ports/">http://www.whatsmyip.org/ports/</a></p>
<p>在Custom Port Test中填入你需要测试的端口，点旁边的CheckPort</p>
<p><a href="http://alvinj.net/wp-content/uploads/2010/02/portforwarding2.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="portforwarding2" src="http://alvinj.net/wp-content/uploads/2010/02/portforwarding2_thumb.png" border="0" alt="portforwarding2" width="319" height="171" /></a></p>
<p>如果端口映射成功：（前提是该端口在你的PC上已经被打开，并且没有被防火墙阻隔）</p>
<p><a href="http://alvinj.net/wp-content/uploads/2010/02/portforwarding3.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="portforwarding3" src="http://alvinj.net/wp-content/uploads/2010/02/portforwarding3_thumb.png" border="0" alt="portforwarding3" width="488" height="196" /></a></p>
<p>暂时写到这里，如有纰漏，欢迎大家指出。</p>
]]></content:encoded>
			<wfw:commentRss>http://alvinj.net/2010/02/07/dd-wrt-portforwarding%e9%85%8d%e7%bd%ae%e5%8f%8a%e5%85%b6%e4%bd%9c%e7%94%a8/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>我也来加个滑动效果的&#8220;返回顶部&#8221;</title>
		<link>http://alvinj.net/2009/12/29/%e6%88%91%e4%b9%9f%e6%9d%a5%e5%8a%a0%e4%b8%aa%e6%bb%91%e5%8a%a8%e6%95%88%e6%9e%9c%e7%9a%84%e8%bf%94%e5%9b%9e%e9%a1%b6%e9%83%a8/</link>
		<comments>http://alvinj.net/2009/12/29/%e6%88%91%e4%b9%9f%e6%9d%a5%e5%8a%a0%e4%b8%aa%e6%bb%91%e5%8a%a8%e6%95%88%e6%9e%9c%e7%9a%84%e8%bf%94%e5%9b%9e%e9%a1%b6%e9%83%a8/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 07:46:49 +0000</pubDate>
		<dc:creator>Alvin.J</dc:creator>
				<category><![CDATA[技术/教程]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://alvinj.net/2009/12/29/%e6%88%91%e4%b9%9f%e6%9d%a5%e5%8a%a0%e4%b8%aa%e6%bb%91%e5%8a%a8%e6%95%88%e6%9e%9c%e7%9a%84%e8%bf%94%e5%9b%9e%e9%a1%b6%e9%83%a8/</guid>
		<description><![CDATA[我也来折腾折腾！早在换现在这个主题的时候我就发现底部的返回按钮动作有点生硬，一点就立马返回顶部，完全没有一个过渡的效果，于是趁现在有空改善改善。刚好前段时间在WPGroup的技术组老大“木木木木木”博客上看过类似的文章，于是马上过去偷一下师。
不得不佩服jQuery的强大，这个滑动效果只要一句代码就搞定了！
按照 木木木木木 老大上的说明，先加载了jQuery库，然后加入一句他写好的jQuery语句，Ok了，就这么简单！
jQuery代码：
$('#top').click(function(){$('html,body').animate({scrollTop: '0px'}, 800);return false;});

使用时，将top改为主题CSS中相应的项目名称。
参考资料：http://immmmm.com/jquery-added-back-to-top-sliding-effect.html
以后没事给我多按
]]></description>
			<content:encoded><![CDATA[<p>我也来折腾折腾！早在换现在这个主题的时候我就发现底部的返回按钮动作有点生硬，一点就立马返回顶部，完全没有一个过渡的效果，于是趁现在有空改善改善。刚好前段时间在WPGroup的技术组老大“<a href="http://immmmm.com">木木木木木</a>”博客上看过类似的文章，于是马上过去偷一下师。</p>
<p>不得不佩服jQuery的强大，这个滑动效果只要一句代码就搞定了！</p>
<p>按照 木木木木木 老大上的说明，先加载了jQuery库，然后加入一句他写好的jQuery语句，Ok了，就这么简单！</p>
<p>jQuery代码：</p>
<blockquote><pre>$('#top').click(function(){$('html,body').animate({scrollTop: '0px'}, 800);return false;});</pre>
</blockquote>
<p>使用时，将top改为主题CSS中相应的项目名称。</p>
<p>参考资料：<a title="http://immmmm.com/jquery-added-back-to-top-sliding-effect.html" href="http://immmmm.com/jquery-added-back-to-top-sliding-effect.html">http://immmmm.com/jquery-added-back-to-top-sliding-effect.html</a></p>
<p>以后没事给我多按</p>
]]></content:encoded>
			<wfw:commentRss>http://alvinj.net/2009/12/29/%e6%88%91%e4%b9%9f%e6%9d%a5%e5%8a%a0%e4%b8%aa%e6%bb%91%e5%8a%a8%e6%95%88%e6%9e%9c%e7%9a%84%e8%bf%94%e5%9b%9e%e9%a1%b6%e9%83%a8/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Wubi安装的Ubuntu重装Windows后怎么办？</title>
		<link>http://alvinj.net/2009/12/29/wubi%e5%ae%89%e8%a3%85%e7%9a%84ubuntu%e9%87%8d%e8%a3%85windows%e5%90%8e%e6%80%8e%e4%b9%88%e5%8a%9e%ef%bc%9f/</link>
		<comments>http://alvinj.net/2009/12/29/wubi%e5%ae%89%e8%a3%85%e7%9a%84ubuntu%e9%87%8d%e8%a3%85windows%e5%90%8e%e6%80%8e%e4%b9%88%e5%8a%9e%ef%bc%9f/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 05:53:05 +0000</pubDate>
		<dc:creator>Alvin.J</dc:creator>
				<category><![CDATA[技术/教程]]></category>

		<guid isPermaLink="false">http://alvinj.net/2009/12/29/wubi%e5%ae%89%e8%a3%85%e7%9a%84ubuntu%e9%87%8d%e8%a3%85windows%e5%90%8e%e6%80%8e%e4%b9%88%e5%8a%9e%ef%bc%9f/</guid>
		<description><![CDATA[虽然我个人不怎么喜欢折腾linux，我是linux小白……装Ubuntu完全是为了可以更好地运行 Dynamips（cisco IOS模拟器），这个模拟器在Windows下重负载运行时有点不稳定，经常在我还没保存配置时就毫无征兆就崩溃了。后来听说该模拟器原来是在linux下开发的，所以在linux下的表现会比Windows下要好，所以我也试就装了试试。的确，该模拟器在linux下的表现要比Windows下要好，我在Windows下开10个路由器机器就很慢了，而且还偶尔崩溃，但在linux下，10个路由器还行，试过一次在接口上抓包时提示dynamips服务崩溃，但奇怪的是还可以继续操作！我可以从容地保存配置！如果在Windows下服务崩溃了就崩溃了，基本没有时间保存配置。
可以说我现时装Ubuntu是为了运行模拟器……杯具吧？
第一次用wubi安装Ubuntu，感觉很强大，装个系统就像装个软件一样！简单得不能再简单了，我甚至连光盘都不用刻录，连双启动都帮你造好了！但问题来了，linux的引导信息时写在Windows管理的引导文件里的，所以如果你重装了也意味着无法再实现双系统引导了。
在Xp下这个还好解决，只需要将你原来通过wubi安装的Ubuntu目录下的wubidr.mbr和wubildr两个文件复制到C盘，然后打开C盘下的boot.ini文件，加上：
c:\wubildr.mbr=”Ubuntu”
保存后就可以重新实现双系统引导了。
但Vista和Windows7下市没有boot.ini的，取而代之的是bootmgr，我不知道怎样去修改它……不过想起wubi安装Ubuntu时会修改它，如果我用wubi重新安装一次Ubuntu不就可以有另个启动项了吗？
解决方法：先将原来安装Ubuntu时产生的Ubuntu文件夹改名为Ubuntu1以示区分，然后运行wubi安装Ubuntu，要保持安装位置和你上次安装的一致，等安装文件复制完成之后，提示重启，我们选择不要重启，然后把刚才安装时产生的文件夹删除，将Ubuntu1文件夹重新改名为Ubuntu。Ok，重启后就可以发现可以看见可以选择由哪个系统启动了。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://alvinj.net/wp-content/uploads/2009/12/ubuntu.gif"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="ubuntu" src="http://alvinj.net/wp-content/uploads/2009/12/ubuntu_thumb.gif" border="0" alt="ubuntu" width="154" height="140" align="right" /></a>虽然我个人不怎么喜欢折腾linux，我是linux小白……装Ubuntu完全是为了可以更好地运行 Dynamips（cisco IOS模拟器），这个模拟器在Windows下重负载运行时有点不稳定，经常在我还没保存配置时就毫无征兆就崩溃了。后来听说该模拟器原来是在linux下开发的，所以在linux下的表现会比Windows下要好，所以我也试就装了试试。的确，该模拟器在linux下的表现要比Windows下要好，我在Windows下开10个路由器机器就很慢了，而且还偶尔崩溃，但在linux下，10个路由器还行，试过一次在接口上抓包时提示dynamips服务崩溃，但奇怪的是还可以继续操作！我可以从容地保存配置！如果在Windows下服务崩溃了就崩溃了，基本没有时间保存配置。</p>
<p>可以说我现时装Ubuntu是为了运行模拟器……杯具吧？</p>
<p>第一次用wubi安装Ubuntu，感觉很强大，装个系统就像装个软件一样！简单得不能再简单了，我甚至连光盘都不用刻录，连双启动都帮你造好了！但问题来了，linux的引导信息时写在Windows管理的引导文件里的，所以如果你重装了也意味着无法再实现双系统引导了。</p>
<p>在Xp下这个还好解决，只需要将你原来通过wubi安装的Ubuntu目录下的wubidr.mbr和wubildr两个文件复制到C盘，然后打开C盘下的boot.ini文件，加上：</p>
<blockquote><p>c:\wubildr.mbr=”Ubuntu”</p></blockquote>
<p>保存后就可以重新实现双系统引导了。</p>
<p>但Vista和Windows7下市没有boot.ini的，取而代之的是bootmgr，我不知道怎样去修改它……不过想起wubi安装Ubuntu时会修改它，如果我用wubi重新安装一次Ubuntu不就可以有另个启动项了吗？</p>
<p>解决方法：先将原来安装Ubuntu时产生的Ubuntu文件夹改名为Ubuntu1以示区分，然后运行wubi安装Ubuntu，要保持安装位置和你上次安装的一致，等安装文件复制完成之后，提示重启，我们选择不要重启，然后把刚才安装时产生的文件夹删除，将Ubuntu1文件夹重新改名为Ubuntu。Ok，重启后就可以发现可以看见可以选择由哪个系统启动了。</p>
]]></content:encoded>
			<wfw:commentRss>http://alvinj.net/2009/12/29/wubi%e5%ae%89%e8%a3%85%e7%9a%84ubuntu%e9%87%8d%e8%a3%85windows%e5%90%8e%e6%80%8e%e4%b9%88%e5%8a%9e%ef%bc%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>破解Sony VAIO官方驱动</title>
		<link>http://alvinj.net/2009/10/03/%e7%a0%b4%e8%a7%a3sony-vaio%e5%ae%98%e6%96%b9%e9%a9%b1%e5%8a%a8/</link>
		<comments>http://alvinj.net/2009/10/03/%e7%a0%b4%e8%a7%a3sony-vaio%e5%ae%98%e6%96%b9%e9%a9%b1%e5%8a%a8/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 16:30:42 +0000</pubDate>
		<dc:creator>Alvin.J</dc:creator>
				<category><![CDATA[技术/教程]]></category>

		<guid isPermaLink="false">http://alvinj.net/2009/10/03/%e7%a0%b4%e8%a7%a3sony-vaio%e5%ae%98%e6%96%b9%e9%a9%b1%e5%8a%a8/</guid>
		<description><![CDATA[前些时候朋友从日本购回了一台VAIO P80H Netbook。随即打电话过来求救……随机的Vista系统跑起来简直让人抓狂，真不明白Sony吃错了什么药，让Vista在1.33G的Atom z530 CPU上跑！没办法，只能换回XP，于是也就有了这篇文章
没光驱的NetBook装起系统来不是一般的麻烦！单单搞个U盘启动盘就花了我不少时间（迟些再写写这方面的东东）。好不容易装上系统了，另一件令人抓狂的事又来了——装驱动！
装了这么多系统，我觉得装系统的精髓在于如何为PC装上合适的驱动！合适的驱动不仅可以保证系统稳定运行，还可以充分发挥硬件应有的性能。我一直不主张使用系统自带的驱动，随了方便没有其他好处！（特别是那些自制版系统后来自行添加进去的）驱动可以说是连接操作系统跟硬件的桥梁，可见其重要性。
言归正传，P80H是日本市场独有的型号，在国内的官网上是下载不到它的驱动的，我也试过到日本的官网上找，可惜我这位爱国主义者不懂看日文，只能打消这个念头。其实日版的VAIO P配置跟国内的版本基本上是一样的，只是多了个WWAN模块和GPS，我们大可以将行货上的驱动装到日版机上，不过……sony可不会让你这样做！当你尝试在VAIO笔记本上安装跟你机型不相符的官方驱动时，安装程序会发现并中断安装。对于驱动还好，因为知道机器的配置就可以找到兼容驱动，但如果要完整实现VAIO的功能，你还需要装上一大堆软件！没有这些软件，你甚至连显示器亮度也无法调节！键盘上的功能键也形同虚设！无奈之下，我尝试“破解”这些驱动安装程序。
其实也不算是破解，从原理上说只是绕过了sony的硬件检测程序。很明显，sony是在原始应用程序上重新封装，并加上了相应的硬件检测机制，而我要做的就是将这些原始的应用程序提取出来！下面请出主角：Universal Extractor

Universal Extractor是一款近乎于万能的文件提取器，支持的文件类型多达40多种。无论是简单的压缩文件如zip、rar、7z,还是软件的安装程序如Inno Setup、InstallShield、Winodws Installer，抑或是一些软盘光盘镜像如IMG、ISO，甚至某些加壳的PE文件都可以使用它将打包在其中的文件提取出来.软件的使用十分方便，只需要指定待提取的文件和目标文件夹，Universal Extractor 会自动分析文件类型并提取完成。
你可以再这里下载
以我从sony官网上下载到的一个驱动为例：

下载回来之后得到的是一个可执行文件

打开Universal Extractor，将SonyNC.EXE拖进路径框

确定后，软件将会对文件进行分析

完毕后，将会询问用户使用哪种方式进行解包，这里我们选择第二种！

解包进行中……完毕后，将会得到一个新的文件夹，里面就包含了我们需要的驱动程序了！

至此，我们已经绕开了烦人的检测了！马上为你的水货VAIO装上驱动吧！
如有错漏之处，欢迎大家指出！
本文章谢绝转载
]]></description>
			<content:encoded><![CDATA[<p>前些时候朋友从日本购回了一台VAIO P80H Netbook。随即打电话过来求救……随机的Vista系统跑起来简直让人抓狂，真不明白Sony吃错了什么药，让Vista在1.33G的Atom z530 CPU上跑！没办法，只能换回XP，于是也就有了这篇文章</p>
<p>没光驱的NetBook装起系统来不是一般的麻烦！单单搞个U盘启动盘就花了我不少时间（迟些再写写这方面的东东）。好不容易装上系统了，另一件令人抓狂的事又来了——装驱动！</p>
<p>装了这么多系统，我觉得装系统的精髓在于如何为PC装上合适的驱动！合适的驱动不仅可以保证系统稳定运行，还可以充分发挥硬件应有的性能。我一直不主张使用系统自带的驱动，随了方便没有其他好处！（特别是那些自制版系统后来自行添加进去的）驱动可以说是连接操作系统跟硬件的桥梁，可见其重要性。</p>
<p>言归正传，P80H是日本市场独有的型号，在国内的官网上是下载不到它的驱动的，我也试过到日本的官网上找，可惜我这位爱国主义者不懂看日文，只能打消这个念头。其实日版的VAIO P配置跟国内的版本基本上是一样的，只是多了个WWAN模块和GPS，我们大可以将行货上的驱动装到日版机上，不过……sony可不会让你这样做！当你尝试在VAIO笔记本上安装跟你机型不相符的官方驱动时，安装程序会发现并中断安装。对于驱动还好，因为知道机器的配置就可以找到兼容驱动，但如果要完整实现VAIO的功能，你还需要装上一大堆软件！没有这些软件，你甚至连显示器亮度也无法调节！键盘上的功能键也形同虚设！无奈之下，我尝试“破解”这些驱动安装程序。</p>
<p>其实也不算是破解，从原理上说只是绕过了sony的硬件检测程序。很明显，sony是在原始应用程序上重新封装，并加上了相应的硬件检测机制，而我要做的就是将这些原始的应用程序提取出来！下面请出主角：Universal Extractor</p>
<blockquote><p>
<img onclick="grin(':?:');" src="http://alvinj.net/wp-includes/images/smilies/icon_question.gif" alt=":?:" />Universal Extractor是一款近乎于万能的文件提取器，支持的文件类型多达40多种。无论是简单的压缩文件如zip、rar、7z,还是软件的安装程序如Inno Setup、InstallShield、Winodws Installer，抑或是一些软盘光盘镜像如IMG、ISO，甚至某些加壳的PE文件都可以使用它将打包在其中的文件提取出来.软件的使用十分方便，只需要指定待提取的文件和目标文件夹，Universal Extractor 会自动分析文件类型并提取完成。</p></blockquote>
<p>你可以再这里下载：<a class="downloadlink" href="http://alvinj.net/downloadUniversal+Extractor" title="Versionv1.6 downloaded 159 times" >Universal Extractor (159)</a></p>
<p>以我从sony官网上下载到的一个驱动为例：</p>
<p><a href="http://alvinj.net/wp-content/uploads/SonyVAIO_13CBD/hack_vaio_1.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="hack_vaio_1" src="http://alvinj.net/wp-content/uploads/SonyVAIO_13CBD/hack_vaio_1_thumb.png" border="0" alt="hack_vaio_1" width="81" height="82" /></a></p>
<p>下载回来之后得到的是一个可执行文件</p>
<p><a href="http://alvinj.net/wp-content/uploads/SonyVAIO_13CBD/hack_vaio_2.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="hack_vaio_2" src="http://alvinj.net/wp-content/uploads/SonyVAIO_13CBD/hack_vaio_2_thumb.png" border="0" alt="hack_vaio_2" width="332" height="190" /></a></p>
<p>打开Universal Extractor，将SonyNC.EXE拖进路径框</p>
<p><a href="http://alvinj.net/wp-content/uploads/SonyVAIO_13CBD/hack_vaio_3.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="hack_vaio_3" src="http://alvinj.net/wp-content/uploads/SonyVAIO_13CBD/hack_vaio_3_thumb.png" border="0" alt="hack_vaio_3" width="331" height="191" /></a></p>
<p>确定后，软件将会对文件进行分析</p>
<p><a href="http://alvinj.net/wp-content/uploads/SonyVAIO_13CBD/hack_vaio_5.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="hack_vaio_5" src="http://alvinj.net/wp-content/uploads/SonyVAIO_13CBD/hack_vaio_5_thumb.png" border="0" alt="hack_vaio_5" width="362" height="273" /></a></p>
<p>完毕后，将会询问用户使用哪种方式进行解包，这里我们选择第二种！</p>
<p><a href="http://alvinj.net/wp-content/uploads/SonyVAIO_13CBD/hack_vaio_6.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="hack_vaio_6" src="http://alvinj.net/wp-content/uploads/SonyVAIO_13CBD/hack_vaio_6_thumb.png" border="0" alt="hack_vaio_6" width="503" height="272" /></a></p>
<p>解包进行中……完毕后，将会得到一个新的文件夹，里面就包含了我们需要的驱动程序了！</p>
<p><a href="http://alvinj.net/wp-content/uploads/SonyVAIO_13CBD/hack_vaio_8.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="hack_vaio_8" src="http://alvinj.net/wp-content/uploads/SonyVAIO_13CBD/hack_vaio_8_thumb.png" border="0" alt="hack_vaio_8" width="404" height="209" /></a></p>
<p>至此，我们已经绕开了烦人的检测了！马上为你的水货VAIO装上驱动吧！</p>
<p>如有错漏之处，欢迎大家指出！<img onclick="grin(':smile:');" src="http://alvinj.net/wp-includes/images/smilies/icon_smile.gif" alt=":smile:" /></p>
<h2 style="text-align: right;"><span style="color: #ff9900;"><span style="color: #000000; font-weight: normal; font-size: 13px;"><img onclick="grin(':!:');" src="http://alvinj.net/wp-includes/images/smilies/icon_exclaim.gif" alt=":!:" /></span>本文章谢绝转载</span></h2>
]]></content:encoded>
			<wfw:commentRss>http://alvinj.net/2009/10/03/%e7%a0%b4%e8%a7%a3sony-vaio%e5%ae%98%e6%96%b9%e9%a9%b1%e5%8a%a8/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>安装打印机时提示&#8220;RPC服务不可用&#8221;的解决方法</title>
		<link>http://alvinj.net/2009/09/25/%e5%ae%89%e8%a3%85%e6%89%93%e5%8d%b0%e6%9c%ba%e6%97%b6%e6%8f%90%e7%a4%barpc%e6%9c%8d%e5%8a%a1%e4%b8%8d%e5%8f%af%e7%94%a8%e7%9a%84%e8%a7%a3%e5%86%b3%e6%96%b9%e6%b3%95/</link>
		<comments>http://alvinj.net/2009/09/25/%e5%ae%89%e8%a3%85%e6%89%93%e5%8d%b0%e6%9c%ba%e6%97%b6%e6%8f%90%e7%a4%barpc%e6%9c%8d%e5%8a%a1%e4%b8%8d%e5%8f%af%e7%94%a8%e7%9a%84%e8%a7%a3%e5%86%b3%e6%96%b9%e6%b3%95/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 16:48:24 +0000</pubDate>
		<dc:creator>Alvin.J</dc:creator>
				<category><![CDATA[技术/教程]]></category>

		<guid isPermaLink="false">http://alvinj.net/2009/09/25/%e5%ae%89%e8%a3%85%e6%89%93%e5%8d%b0%e6%9c%ba%e6%97%b6%e6%8f%90%e7%a4%barpc%e6%9c%8d%e5%8a%a1%e4%b8%8d%e5%8f%af%e7%94%a8%e7%9a%84%e8%a7%a3%e5%86%b3%e6%96%b9%e6%b3%95/</guid>
		<description><![CDATA[前几天帮宿舍的同学修打印机时，发现在安装打印机驱动时出现“RPC服务不可用”的问题，看起来很简单的问题，应该是RPC服务没有开启吧，于是进入服务管理器将两个RPC服务设为自动启动，重启电脑。
 
但是问题并没有因此而得到解决，在为打印机安装驱动时依然提示“RPC服务不可用”！究竟是什么问题呢？在网上找了很久都没有得到完美的解决方法，于是再次进入服务管理器逐个任务查看，看看有什么是与打印有关的服务没有开启，其间看到了一个名为“Print Spooler”的任务没有开启，其中的描述为：将文件加载到内存供稍后打印。
 
相信读计算机专业的同学都知道什么是spooling技术。就是在内存中开辟出一片区域供低速设备缓存数据，而且该技术可以实现了虚拟设备的共享，供多个进程同时使用一个独享的设备（其实是分时使用，但使用者会认为自己独占该设备），而事实上这是逻辑上的独享设备。而Spooling技术应用的最典型例子就是打印服务，通过该技术可以为多个用户提供一个独享的逻辑设备，所以打印机的共享使用也得以实现。更多关于Spooling技术的知识可以参考wiki百科http://en.wikipedia.org/wiki/Spooling
回到主题上来，打开Print Spooler服务是否可以成功解决上面的问题呢？答案是肯定的。经过测试启动RPC和Print Spooler服务就可以成功安装打印机驱动。
这是我遇到的情况，不确定是否适用于所有案例，这里希望可以起到一个抛砖引玉的作用吧！
]]></description>
			<content:encoded><![CDATA[<p>前几天帮宿舍的同学修打印机时，发现在安装打印机驱动时出现“RPC服务不可用”的问题，看起来很简单的问题，应该是RPC服务没有开启吧，于是进入服务管理器将两个RPC服务设为自动启动，重启电脑。</p>
<p><a href="http://alvinj.net/wp-content/uploads/RPC_B3A/1.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="1" border="0" alt="1" src="http://alvinj.net/wp-content/uploads/RPC_B3A/1_thumb.png" width="434" height="26" /></a> </p>
<p>但是问题并没有因此而得到解决，在为打印机安装驱动时依然提示“RPC服务不可用”！究竟是什么问题呢？在网上找了很久都没有得到完美的解决方法，于是再次进入服务管理器逐个任务查看，看看有什么是与打印有关的服务没有开启，其间看到了一个名为“Print Spooler”的任务没有开启，其中的描述为：将文件加载到内存供稍后打印。</p>
<p><a href="http://alvinj.net/wp-content/uploads/RPC_B3A/2.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="2" border="0" alt="2" src="http://alvinj.net/wp-content/uploads/RPC_B3A/2_thumb.png" width="435" height="47" /></a> </p>
<p>相信读计算机专业的同学都知道什么是spooling技术。就是在内存中开辟出一片区域供低速设备缓存数据，而且该技术可以实现了虚拟设备的共享，供多个进程同时使用一个独享的设备（其实是分时使用，但使用者会认为自己独占该设备），而事实上这是逻辑上的独享设备。而Spooling技术应用的最典型例子就是打印服务，通过该技术可以为多个用户提供一个独享的逻辑设备，所以打印机的共享使用也得以实现。更多关于Spooling技术的知识可以参考wiki百科<a href="http://en.wikipedia.org/wiki/Spooling">http://en.wikipedia.org/wiki/Spooling</a></p>
<p>回到主题上来，打开Print Spooler服务是否可以成功解决上面的问题呢？答案是肯定的。经过测试启动RPC和Print Spooler服务就可以成功安装打印机驱动。</p>
<p>这是我遇到的情况，不确定是否适用于所有案例，这里希望可以起到一个抛砖引玉的作用吧！</p>
]]></content:encoded>
			<wfw:commentRss>http://alvinj.net/2009/09/25/%e5%ae%89%e8%a3%85%e6%89%93%e5%8d%b0%e6%9c%ba%e6%97%b6%e6%8f%90%e7%a4%barpc%e6%9c%8d%e5%8a%a1%e4%b8%8d%e5%8f%af%e7%94%a8%e7%9a%84%e8%a7%a3%e5%86%b3%e6%96%b9%e6%b3%95/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>初探WLAN</title>
		<link>http://alvinj.net/2009/08/29/%e5%88%9d%e6%8e%a2wlan/</link>
		<comments>http://alvinj.net/2009/08/29/%e5%88%9d%e6%8e%a2wlan/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 08:29:09 +0000</pubDate>
		<dc:creator>Alvin.J</dc:creator>
				<category><![CDATA[技术/教程]]></category>
		<category><![CDATA[802.11]]></category>
		<category><![CDATA[Wi-Fi]]></category>
		<category><![CDATA[wlan]]></category>

		<guid isPermaLink="false">http://alvinj.net/2009/08/29/%e5%88%9d%e6%8e%a2wlan/</guid>
		<description><![CDATA[Wi-Fi——无线上网的代名词，人们都习以为常地认为Wi-Fi就是无线上网的标准，殊不知Wi-Fi只是一个组织（联盟），显然人们对其背后由IEEE制定的一大堆标准都不甚了解，因为很多人都认为能上网就行了管它什么标准不标准，有Wi-Fi就代表有无线信号。的确当初我也有这样的想法，对于主要以上网为应用的我，802.11g的速率已经卓卓有余。


记得当初打算布置无线网络是为图方便的，而我也认为54Mbps的速率已经足够了！哈哈，天真的我以为这个54Mbps跟有线的100Mbps传输速率也就差一半这样子，最差应该也有后者的三人之一吧！不过一次偶尔的机会需要向台机传大文件，郁闷的事情来了，究竟这个54M是不是宣传策略用来欺骗我们这些消费者？
哈哈，现在想想也觉得好笑，很明显我是被这个54M的信号传输速率“骗了”。我查阅了一些资料，上面的解析式这样的：It operates at a maximum physical layer bit rate of 54 Mbit/s exclusive of forward error correction codes  原来这个54M是对于物理层而言的，其描述的是物理层上传输的比特率，而我理所当然地认为这个信息比特率（net bit rate，我不清楚准确翻译）就等同于数据比特率，其实ThroughPut（吞吐量）所指出的速率才是有效载荷的传输速率，而要命的是11g的Throughput之后可怜的22Mbps。
究竟是什么原因导致信息速率和数据速率相差这么大呢？
以我现在的见解，我猜想是两者在传输前对数据的处理方式不同而造成的，是因为对数据处理时对附加了较多的比特位，导致信息的利用率下降？以前一直认为信息比特率跟数据率应该是比较接近的（至少没有想到WLAN中相差的这么离谱），这一观点是从Ethernet上得出的，因为Ethernet中信息比特率跟数据率很接近，Ethernet的编码方式利用率比较高（达到80%）。也就是说问题的根本在于我将基带传输与频带传输混为一谈了？
那，为什么有线可以用基带传输，而无线要用频带呢？
以我们常用的100BaseT为例，它在导体上进行基带传输，受到干扰和其他环境因素的影响较小，而且可以独占导体进行传输，所以在传输数据前不需要为数据如何正确无误地到达对端而作过多的考虑，在经过码型变换，不调制，直接送到信道传输，效率当然高。但无线是在开放的环境中传输的，其载体是空气，最起码独占载体这一点是做不到的了，而且空气中充满了各种各样的电波，如何避免干扰和如何不干扰其他数据的正常传输也是要考虑的，所以它不能像有线传输那样不经调制就往空气中发送信号，如果这样做只会成为一个干扰源,于是DSSS和OFDM等调制技术得以应用，也正因为这些调制技术的应用，紧张的RF频率可以得到更加充分的利用，原始信号经过调制后可以以在载体上以不同的频段进行发送。通过收窄信号传输需要的频段，就可以在载体上传输更多路信号了。
802.11g的精髓应该是对信号的调制，这也是最让人感到困惑的地方，对于我这样的非通信工程专业的学生有点读天书的味道&#8230;&#8230;至今还没搞懂DSSS和OFDM等调制方式。所以，调制信号时到底有没有导致信息的利用率大幅下降还不得而知。
802.11b/g 混合模式对传输速率的影响
在定制11g的时候除了使用ofdm调制方式之外，为了向后兼容11b而加入了DSSS，当11g的设备使用ofdm调制信号发射载波时，11b的设备是不能解调出其中的内容的，这可能发生双方同时发送信号而导致通讯失败。而当设备启用CTS（clear to send）to self时，11g会在发送数据前，用DSSS载波发送CTS帧，使11b的设备知道接下来会有它不认识的OFDM调制信号，这种机制可以有效避免载波的碰撞，这种碰撞避免的方式会导致额外的开销，致使网络性能再度下降（ThroughPut降为14.7M左右）。所以如果在没有11b设备的环境中最好将路由器设为G-Only，并关闭11g保护。
802.11系列标准作为一个主流的无线接入技术，它代表着现今比较优秀的技术，是很值得去探究的，要透切理解其中的技术要点不是一两天的事情，先写到这里，有时间再深入一点去探讨802.11中的技术
以上观点出于本人对WLAN的浅见，如有不正之处，希望可以得到高人指点~
]]></description>
			<content:encoded><![CDATA[<p>Wi-Fi——无线上网的代名词，人们都习以为常地认为Wi-Fi就是无线上网的标准，殊不知Wi-Fi只是一个组织（联盟），显然人们对其背后由IEEE制定的一大堆标准都不甚了解，因为很多人都认为能上网就行了管它什么标准不标准，有Wi-Fi就代表有无线信号。的确当初我也有这样的想法，对于主要以上网为应用的我，802.11g的速率已经卓卓有余。</p>
<p><a href="http://alvinj.net/wp-content/uploads/10a996227408_D3BE/wifi.jpg"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="wifi" src="http://alvinj.net/wp-content/uploads/10a996227408_D3BE/wifi_thumb.jpg" border="0" alt="wifi" width="310" height="80" /></a></p>
<p><span id="more-246"></span></p>
<p>记得当初打算布置无线网络是为图方便的，而我也认为54Mbps的速率已经足够了！哈哈，天真的我以为这个54Mbps跟有线的100Mbps传输速率也就差一半这样子，最差应该也有后者的三人之一吧！不过一次偶尔的机会需要向台机传大文件，郁闷的事情来了，究竟这个54M是不是宣传策略用来欺骗我们这些消费者？</p>
<p>哈哈，现在想想也觉得好笑，很明显我是被这个54M的信号传输速率“骗了”。我查阅了一些资料，上面的解析式这样的：It operates at a maximum physical layer bit rate of 54 Mbit/s exclusive of forward error correction codes  原来这个54M是对于物理层而言的，其描述的是物理层上传输的比特率，而我理所当然地认为这个信息比特率（net bit rate，我不清楚准确翻译）就等同于数据比特率，其实ThroughPut（吞吐量）所指出的速率才是有效载荷的传输速率，而要命的是11g的Throughput之后可怜的22Mbps。</p>
<p>究竟是什么原因导致信息速率和数据速率相差这么大呢？</p>
<p>以我现在的见解，我猜想是两者在传输前对数据的处理方式不同而造成的，是因为对数据处理时对附加了较多的比特位，导致信息的利用率下降？以前一直认为信息比特率跟数据率应该是比较接近的（至少没有想到WLAN中相差的这么离谱），这一观点是从Ethernet上得出的，因为Ethernet中信息比特率跟数据率很接近，Ethernet的编码方式利用率比较高（达到80%）。也就是说问题的根本在于我将基带传输与频带传输混为一谈了？</p>
<p>那，为什么有线可以用基带传输，而无线要用频带呢？</p>
<p>以我们常用的100BaseT为例，它在导体上进行基带传输，受到干扰和其他环境因素的影响较小，而且可以独占导体进行传输，所以在传输数据前不需要为数据如何正确无误地到达对端而作过多的考虑，在经过码型变换，不调制，直接送到信道传输，效率当然高。但无线是在开放的环境中传输的，其载体是空气，最起码独占载体这一点是做不到的了，而且空气中充满了各种各样的电波，如何避免干扰和如何不干扰其他数据的正常传输也是要考虑的，所以它不能像有线传输那样不经调制就往空气中发送信号，如果这样做只会成为一个干扰源,于是DSSS和OFDM等调制技术得以应用，也正因为这些调制技术的应用，紧张的RF频率可以得到更加充分的利用，原始信号经过调制后可以以在载体上以不同的频段进行发送。通过收窄信号传输需要的频段，就可以在载体上传输更多路信号了。</p>
<p>802.11g的精髓应该是对信号的调制，这也是最让人感到困惑的地方，对于我这样的非通信工程专业的学生有点读天书的味道&#8230;&#8230;至今还没搞懂DSSS和OFDM等调制方式。所以，调制信号时到底有没有导致信息的利用率大幅下降还不得而知。</p>
<p>802.11b/g 混合模式对传输速率的影响</p>
<p>在定制11g的时候除了使用ofdm调制方式之外，为了向后兼容11b而加入了DSSS，当11g的设备使用ofdm调制信号发射载波时，11b的设备是不能解调出其中的内容的，这可能发生双方同时发送信号而导致通讯失败。而当设备启用CTS（clear to send）to self时，11g会在发送数据前，用DSSS载波发送CTS帧，使11b的设备知道接下来会有它不认识的OFDM调制信号，这种机制可以有效避免载波的碰撞，这种碰撞避免的方式会导致额外的开销，致使网络性能再度下降（ThroughPut降为14.7M左右）。所以如果在没有11b设备的环境中最好将路由器设为G-Only，并关闭11g保护。</p>
<p>802.11系列标准作为一个主流的无线接入技术，它代表着现今比较优秀的技术，是很值得去探究的，要透切理解其中的技术要点不是一两天的事情，先写到这里，有时间再深入一点去探讨802.11中的技术</p>
<p>以上观点出于本人对WLAN的浅见，如有不正之处，希望可以得到高人指点~</p>
]]></content:encoded>
			<wfw:commentRss>http://alvinj.net/2009/08/29/%e5%88%9d%e6%8e%a2wlan/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>减少RMClock造成的爆音</title>
		<link>http://alvinj.net/2009/08/04/%e5%87%8f%e5%b0%91rmclock%e9%80%a0%e6%88%90%e7%9a%84%e7%88%86%e9%9f%b3/</link>
		<comments>http://alvinj.net/2009/08/04/%e5%87%8f%e5%b0%91rmclock%e9%80%a0%e6%88%90%e7%9a%84%e7%88%86%e9%9f%b3/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 15:08:14 +0000</pubDate>
		<dc:creator>Alvin.J</dc:creator>
				<category><![CDATA[技术/教程]]></category>
		<category><![CDATA[RightMark]]></category>
		<category><![CDATA[RmClock]]></category>

		<guid isPermaLink="false">http://alvinj.net/2009/08/04/%e5%87%8f%e5%b0%91rmclock%e9%80%a0%e6%88%90%e7%9a%84%e7%88%86%e9%9f%b3/</guid>
		<description><![CDATA[RMClock使用已经有很长一段时间了，效果的确很好！不过，该软件在动态跳频中可能会造成声卡产生爆音，对于这个问题，我也非常困扰！我也一直在寻找解决方法，经过了解这很大程度上是因为笔记本的声卡设计不完善所造成的，也可以说是硬件上的缺陷，我们能做的就是尽量避免CPU频率频繁变动，令其处于较稳定的状态，这样声卡产生爆音的几率也应该得以降低。
CPU频率变动会引起爆音？
这可能是因为CPU频率在变动时引起电源电压的波动产生波纹，而声卡的电源滤波部分设计部完善时电压变动引入了音频信号。也有可能是CPU频率大幅度变动引起声卡所处的总线频率产生偏移，进而引起数据传输的错误。当然这只是我的猜测，内里原因可能会更复杂，但可以比较肯定的是，这很大程度上时硬件缺陷。
通过设定“目标CPU占用率指标”我们可以定义当CPU的占用率达到设定的阀值时才跳向更高一级的频率，而需要配合调整的就是“上行”、“下行”转换间隔了，它定义了CPU占用率超过阀值多久后才跳向更高一级的频率。我们使用电脑时，很多时候CPU的使用率都是突发性的，而它所持续的时间很短，但如果我们将上下行转换间隔时间设置得过短时，就有可能出现CPU频率因为占用率突发性的增长而提高，但由于高占用率是瞬间的，所以软件侦测到占用率降下来后就马上将频率降下来，这就造成了CPU频率的频繁变动了！而通过修改上述两个参数就可以减缓这一状况（还有，请物表将CPU的负载计算设为核心负载均值）。而事实上，经过这样的设置之后，声卡出现爆音的几率的确小了。但如果要彻底摆脱爆音，建议你暂时退出RMClock，让系统接手CPU的频率管理，或者使用更好的外置声卡。

除此之外,你还可以尝试设置CPU相位锁定时间、FID/VID转换稳定时间、DPSLP至CPUSLP延时、DPRSLPRVR至STPCPU延时等相关参数。
RMClock项目据闻已经停止开发和更新了，较新的CPU型号会不支持，所以如果你使用了RMClock之后觉得不稳定，建议你停止使用
RMClock的使用就先写到这里，有什么问题的可以直接留言或者E-Mail给我
]]></description>
			<content:encoded><![CDATA[<p>RMClock使用已经有很长一段时间了，效果的确很好！不过，该软件在动态跳频中可能会造成声卡产生爆音，对于这个问题，我也非常困扰！我也一直在寻找解决方法，经过了解这很大程度上是因为笔记本的声卡设计不完善所造成的，也可以说是硬件上的缺陷，我们能做的就是尽量避免CPU频率频繁变动，令其处于较稳定的状态，这样声卡产生爆音的几率也应该得以降低。</p>
<blockquote><p>CPU频率变动会引起爆音？</p>
<p>这可能是因为CPU频率在变动时引起电源电压的波动产生波纹，而声卡的电源滤波部分设计部完善时电压变动引入了音频信号。也有可能是CPU频率大幅度变动引起声卡所处的总线频率产生偏移，进而引起数据传输的错误。当然这只是我的猜测，内里原因可能会更复杂，但可以比较肯定的是，这很大程度上时硬件缺陷。</p></blockquote>
<p>通过设定“目标CPU占用率指标”我们可以定义当CPU的占用率达到设定的阀值时才跳向更高一级的频率，而需要配合调整的就是“上行”、“下行”转换间隔了，它定义了CPU占用率超过阀值多久后才跳向更高一级的频率。我们使用电脑时，很多时候CPU的使用率都是突发性的，而它所持续的时间很短，但如果我们将上下行转换间隔时间设置得过短时，就有可能出现CPU频率因为占用率突发性的增长而提高，但由于高占用率是瞬间的，所以软件侦测到占用率降下来后就马上将频率降下来，这就造成了CPU频率的频繁变动了！而通过修改上述两个参数就可以减缓这一状况（还有，请物表将CPU的负载计算设为核心负载均值）。而事实上，经过这样的设置之后，声卡出现爆音的几率的确小了。但如果要彻底摆脱爆音，建议你暂时退出RMClock，让系统接手CPU的频率管理，或者使用更好的外置声卡。</p>
<p><a href="http://alvinj.net/wp-content/uploads/RMClock_14513/RMClock1.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="RMClock1" src="http://alvinj.net/wp-content/uploads/RMClock_14513/RMClock1_thumb.png" border="0" alt="RMClock1" width="341" height="163" /></a></p>
<p>除此之外,你还可以尝试设置CPU相位锁定时间、FID/VID转换稳定时间、DPSLP至CPUSLP延时、DPRSLPRVR至STPCPU延时等相关参数。</p>
<p>RMClock项目据闻已经停止开发和更新了，较新的CPU型号会不支持，所以如果你使用了RMClock之后觉得不稳定，建议你停止使用</p>
<p>RMClock的使用就先写到这里，有什么问题的可以直接留言或者E-Mail给我</p>
]]></content:encoded>
			<wfw:commentRss>http://alvinj.net/2009/08/04/%e5%87%8f%e5%b0%91rmclock%e9%80%a0%e6%88%90%e7%9a%84%e7%88%86%e9%9f%b3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在Adobe Reader 9中启用硬件加速</title>
		<link>http://alvinj.net/2009/05/29/%e5%9c%a8adobe-reader-9%e4%b8%ad%e5%90%af%e7%94%a8%e7%a1%ac%e4%bb%b6%e5%8a%a0%e9%80%9f/</link>
		<comments>http://alvinj.net/2009/05/29/%e5%9c%a8adobe-reader-9%e4%b8%ad%e5%90%af%e7%94%a8%e7%a1%ac%e4%bb%b6%e5%8a%a0%e9%80%9f/#comments</comments>
		<pubDate>Thu, 28 May 2009 17:48:59 +0000</pubDate>
		<dc:creator>Alvin.J</dc:creator>
				<category><![CDATA[技术/教程]]></category>

		<guid isPermaLink="false">http://alvinj.net/2009/05/29/%e5%9c%a8adobe-reader-9%e4%b8%ad%e5%90%af%e7%94%a8%e7%a1%ac%e4%bb%b6%e5%8a%a0%e9%80%9f/</guid>
		<description><![CDATA[最近经常使用Adobe Reder来看PDF文档，有朋友问我为什么不用FoxitReader看，无可否认FoxitReader是一款非常优秀的软件，我之前也一直在用，不过AdobeReader也是有它的闪亮点的，就是2D图形加速（2D graphics acceleration）也就是俗称的硬件加速了。该功据说在上一版本8.X中已经有，不过我现在使用的是9，并未在8上测试过。
为什么要启用2D图形加速？众所周知，我们在PC上运行的大部分程序都是依靠CPU去处理和运算数据的，这包括我们平时经常使用的文档处理程序、浏览器、播放器等。与此同时，我们的处理器资源也是有限的，我们当然想在更短的时间内或者同样的开销下完成更多得事情。而随着Nvidia和AMD（ATI）在通用图形处理领域的发展，我们将有机会在更多的程序当中使用GPU的强大并行运算能力，以图将CPU从沉重的多任务处理中释放出来，这也是图形加速出现的目的。（说到GPU跟CPU之间的斗争，可能要花非常大的篇幅，在这里只稍微提一下而已）比较典型的利用GPU来替代CPU进行复杂运算的例子就是近期非常流行的硬件高清视频解码了（PC游戏不算，因为GPU本来就是为处理3D场景而生的，我讨论的是利用GPU去处理非图形数据如视频流）。而Adobe Reader中的2D加速跟这应该有异曲同工之妙吧，两者都利用了GPU的强大运算能力。（而且某种程度上利用了GPU空闲的运算能力）
怎么在Adobe Reader9中启用图形加速？
方法非常简单，而且效果明显。
打开Adobe Reader9，在Edit菜单中选择Preferences（Ctrl+K）打开设置菜单，在左手边选中其中的Page Display设置，然后在右手边的Rendering（渲染）中勾选“Use 2D Graphics Acceleration”即可！
如图：
&#160;
其实在3D&#38;Multimedia设置中还有一个选项是用于开启3D硬件渲染的
 
开启硬件加速后的效果？
 
如图，这时未开启硬件加速时，我用鼠标快速滚动PDF文档时CPU的占用率，可以见到CPU占用率还是比较高的，此时CPU自动跳频至1.2G。（左侧的瞬时值不作参考，请参照又边的曲线图）

这时开启硬件加速后，用鼠标快速滚动PDF文档时CPU的占用率，由曲线可以看出，CPU占用率比未开启要低，而这时，CPU还没有自动跳频，运行频率维持在1G！
对比两个测试结果，硬件加速还是相当明显的！
时间不早了，先写到这里吧，有什么问题的欢迎留言！
]]></description>
			<content:encoded><![CDATA[<p>最近经常使用Adobe Reder来看PDF文档，有朋友问我为什么不用FoxitReader看，无可否认FoxitReader是一款非常优秀的软件，我之前也一直在用，不过AdobeReader也是有它的闪亮点的，就是2D图形加速（2D graphics acceleration）也就是俗称的硬件加速了。该功据说在上一版本8.X中已经有，不过我现在使用的是9，并未在8上测试过。</p>
<p>为什么要启用2D图形加速？众所周知，我们在PC上运行的大部分程序都是依靠CPU去处理和运算数据的，这包括我们平时经常使用的文档处理程序、浏览器、播放器等。与此同时，我们的处理器资源也是有限的，我们当然想在更短的时间内或者同样的开销下完成更多得事情。而随着Nvidia和AMD（ATI）在通用图形处理领域的发展，我们将有机会在更多的程序当中使用GPU的强大并行运算能力，以图将CPU从沉重的多任务处理中释放出来，这也是图形加速出现的目的。（说到GPU跟CPU之间的斗争，可能要花非常大的篇幅，在这里只稍微提一下而已）比较典型的利用GPU来替代CPU进行复杂运算的例子就是近期非常流行的硬件高清视频解码了（PC游戏不算，因为GPU本来就是为处理3D场景而生的，我讨论的是利用GPU去处理非图形数据如视频流）。而Adobe Reader中的2D加速跟这应该有异曲同工之妙吧，两者都利用了GPU的强大运算能力。（而且某种程度上利用了GPU空闲的运算能力）</p>
<p>怎么在Adobe Reader9中启用图形加速？</p>
<p>方法非常简单，而且效果明显。</p>
<p>打开Adobe Reader9，在Edit菜单中选择Preferences（Ctrl+K）打开设置菜单，在左手边选中其中的Page Display设置，然后在右手边的Rendering（渲染）中勾选“Use 2D Graphics Acceleration”即可！</p>
<p>如图：</p>
<p><a href="http://alvinj.net/wp-content/uploads/AdobeReader9_192F/reader1.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="reader1" border="0" alt="reader1" src="http://alvinj.net/wp-content/uploads/AdobeReader9_192F/reader1_thumb.png" width="528" height="341" /></a>&#160;</p>
<p>其实在3D&amp;Multimedia设置中还有一个选项是用于开启3D硬件渲染的</p>
<p><a href="http://alvinj.net/wp-content/uploads/AdobeReader9_192F/reader4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="reader4" border="0" alt="reader4" src="http://alvinj.net/wp-content/uploads/AdobeReader9_192F/reader4_thumb.png" width="459" height="176" /></a> </p>
<p>开启硬件加速后的效果？</p>
<p><a href="http://alvinj.net/wp-content/uploads/AdobeReader9_192F/reader2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="reader2" border="0" alt="reader2" src="http://alvinj.net/wp-content/uploads/AdobeReader9_192F/reader2_thumb.png" width="449" height="126" /></a> </p>
<p>如图，这时未开启硬件加速时，我用鼠标快速滚动PDF文档时CPU的占用率，可以见到CPU占用率还是比较高的，此时CPU自动跳频至1.2G。（左侧的瞬时值不作参考，请参照又边的曲线图）</p>
<p><a href="http://alvinj.net/wp-content/uploads/AdobeReader9_192F/reader3.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="reader3" border="0" alt="reader3" src="http://alvinj.net/wp-content/uploads/AdobeReader9_192F/reader3_thumb.png" width="458" height="125" /></a></p>
<p>这时开启硬件加速后，用鼠标快速滚动PDF文档时CPU的占用率，由曲线可以看出，CPU占用率比未开启要低，而这时，CPU还没有自动跳频，运行频率维持在1G！</p>
<p>对比两个测试结果，硬件加速还是相当明显的！</p>
<p>时间不早了，先写到这里吧，有什么问题的欢迎留言！</p>
]]></content:encoded>
			<wfw:commentRss>http://alvinj.net/2009/05/29/%e5%9c%a8adobe-reader-9%e4%b8%ad%e5%90%af%e7%94%a8%e7%a1%ac%e4%bb%b6%e5%8a%a0%e9%80%9f/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>自制版Windows7 ATI Mobility驱动</title>
		<link>http://alvinj.net/2009/05/19/%e8%87%aa%e5%88%b6%e7%89%88windows7-ati-mobility%e9%a9%b1%e5%8a%a8/</link>
		<comments>http://alvinj.net/2009/05/19/%e8%87%aa%e5%88%b6%e7%89%88windows7-ati-mobility%e9%a9%b1%e5%8a%a8/#comments</comments>
		<pubDate>Tue, 19 May 2009 14:29:45 +0000</pubDate>
		<dc:creator>Alvin.J</dc:creator>
				<category><![CDATA[技术/教程]]></category>
		<category><![CDATA[ATI]]></category>
		<category><![CDATA[Mobility驱动]]></category>
		<category><![CDATA[Windows7]]></category>

		<guid isPermaLink="false">http://alvinj.net/?p=142</guid>
		<description><![CDATA[首先有必要为大家介绍下移动平台上驱动的情况：
众所周知大部分硬件厂商都不会直接发布移动版的设备驱动,而是交由笔记本的生产厂商或者各品牌厂商提供给用户.因为各笔记本厂商所提供的驱动都经由过测试和相应修改的,通用版驱动不一定能够在他们的笔记本上稳定运行。虽然这样在一定程度上提高了驱动的稳定性。
不过这给用户带来不少麻烦，笔记本厂商所提供的驱动不一定能够跟上进度，而很多Laptop上所使用的芯片跟Desktop上使用的是同一架构的，驱动也是由Desktop上改进而来的。所以就有了自制版移动驱动了！
典型的例子就是今天要为大家介绍的ATI Mobility驱动了
首先，我们需要下载一款适合你笔记本上GPU型号的驱动
然后下载今天的主角：ATI Mobility Modder  v1.2（加入了对Windows7支持，下面简称Modder）
这里下载
该程序基于.NET语言开发，需要安装.NET框架（Vista以下系统需要安装）

软件的界面非常简单，使用方法同样简单！
首先，将你下载回来的驱动安装文件打开，然后它会提示你解压驱动文件以便安装。这时点确定进行解压操作，解压完毕之后会提示你是否运行驱动安装程序。这时点“否”，取消执行驱动安装操作。
然后找到刚才驱动解压的路径，一般在{ C:ATI  }文件夹下，这时打开Modder，点击Browse按钮，找到刚才驱动解压的路径。这时Modder会自动搜索目录，找到相关INF文件和MSI文件进行修改。几秒钟之后即可完成驱动修改的操作，自此自制版ATI Mobility驱动诞生了！
下面是INF文件修改前后的内容：

修改好后的驱动已经可以正常安装，不过貌似在我地机子上出了点问题，安装过程中检测不到我地显卡（Mobility 2400XT）这时只能用非常规的方法了
不通过驱动安装中心强制安装驱动：
1.首先在计算机管理中打开 设备管理器
2.找到显示适配器
3.双击它打开属性对话框

4.单击“更新驱动程序” &#8212;&#8212;&#62;选择“从计算机的设备驱动程序列表中选择”
5.点击“从磁盘安装”

然后找到刚才驱动解压目录中的INF文件
一般都可以在X:PackagesDriversDisplayXX_INF 中找到该INF（xx_INF文件夹视驱动版本的不同而不同），确定后就可以看到兼容的硬件型号了，选择好你Laptop所配备的GPU型号后就可以顺利安装了。至此驱动安装完毕！
由于本人才疏识浅，有什么不正确的请多加指正，有疑问的也可以留言或者Mail我
]]></description>
			<content:encoded><![CDATA[<h4>首先有必要为大家介绍下移动平台上驱动的情况：</h4>
<p>众所周知大部分硬件厂商都不会直接发布移动版的设备驱动,而是交由笔记本的生产厂商或者各品牌厂商提供给用户.因为各笔记本厂商所提供的驱动都经由过测试和相应修改的,通用版驱动不一定能够在他们的笔记本上稳定运行。虽然这样在一定程度上提高了驱动的稳定性。</p>
<p>不过这给用户带来不少麻烦，笔记本厂商所提供的驱动不一定能够跟上进度，而很多Laptop上所使用的芯片跟Desktop上使用的是同一架构的，驱动也是由Desktop上改进而来的。所以就有了自制版移动驱动了！</p>
<p>典型的例子就是今天要为大家介绍的ATI Mobility驱动了</p>
<p>首先，我们需要下载一款适合你笔记本上GPU型号的驱动</p>
<p>然后下载今天的主角：ATI Mobility Modder  v1.2（加入了对Windows7支持，下面简称Modder）</p>
<p>这里下载：<a class="downloadlink" href="http://alvinj.net/downloadATI+Mobility+Modder" title="Versionv1.2 downloaded 156 times" >ATI Mobility Modder (156)</a></p>
<h4>该程序基于.NET语言开发，需要安装.NET框架（Vista以下系统需要安装）</h4>
<p><a href="http://alvinj.net/wp-content/uploads/Windows7ATIMobility_13BBD/ATI_Modder.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="ATI_Modder" src="http://alvinj.net/wp-content/uploads/Windows7ATIMobility_13BBD/ATI_Modder_thumb.png" border="0" alt="ATI_Modder" width="497" height="240" /></a></p>
<p>软件的界面非常简单，使用方法同样简单！</p>
<p>首先，将你下载回来的驱动安装文件打开，然后它会提示你解压驱动文件以便安装。这时点确定进行解压操作，解压完毕之后会提示你是否运行驱动安装程序。这时点“否”，取消执行驱动安装操作。</p>
<p>然后找到刚才驱动解压的路径，一般在{ C:ATI  }文件夹下，这时打开Modder，点击Browse按钮，找到刚才驱动解压的路径。这时Modder会自动搜索目录，找到相关INF文件和MSI文件进行修改。几秒钟之后即可完成驱动修改的操作，自此自制版ATI Mobility驱动诞生了！</p>
<p>下面是INF文件修改前后的内容：</p>
<p><a href="http://alvinj.net/wp-content/uploads/Windows7ATIMobility_13BBD/ATI_Modder2.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="ATI_Modder2" src="http://alvinj.net/wp-content/uploads/Windows7ATIMobility_13BBD/ATI_Modder2_thumb.png" border="0" alt="ATI_Modder2" width="514" height="334" /></a></p>
<p>修改好后的驱动已经可以正常安装，不过貌似在我地机子上出了点问题，安装过程中检测不到我地显卡（Mobility 2400XT）这时只能用非常规的方法了</p>
<h4>不通过驱动安装中心强制安装驱动：</h4>
<p>1.首先在计算机管理中打开 设备管理器</p>
<p>2.找到显示适配器<a href="http://alvinj.net/wp-content/uploads/Windows7ATIMobility_13BBD/ATI_Modder3.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="ATI_Modder3" src="http://alvinj.net/wp-content/uploads/Windows7ATIMobility_13BBD/ATI_Modder3_thumb.png" border="0" alt="ATI_Modder3" width="264" height="68" /></a></p>
<p>3.双击它打开属性对话框</p>
<p><a href="http://alvinj.net/wp-content/uploads/Windows7ATIMobility_13BBD/ATI_Modder4.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="ATI_Modder4" src="http://alvinj.net/wp-content/uploads/Windows7ATIMobility_13BBD/ATI_Modder4_thumb.png" border="0" alt="ATI_Modder4" width="338" height="351" /></a></p>
<p>4.单击“更新驱动程序” &#8212;&#8212;&gt;选择“从计算机的设备驱动程序列表中选择”</p>
<p>5.点击“从磁盘安装”</p>
<p><a href="http://alvinj.net/wp-content/uploads/Windows7ATIMobility_13BBD/ATI_Modder5.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="ATI_Modder5" src="http://alvinj.net/wp-content/uploads/Windows7ATIMobility_13BBD/ATI_Modder5_thumb.png" border="0" alt="ATI_Modder5" width="447" height="183" /></a></p>
<p>然后找到刚才驱动解压目录中的INF文件</p>
<p>一般都可以在X:PackagesDriversDisplayXX_INF 中找到该INF（xx_INF文件夹视驱动版本的不同而不同），确定后就可以看到兼容的硬件型号了，选择好你Laptop所配备的GPU型号后就可以顺利安装了。至此驱动安装完毕！</p>
<p>由于本人才疏识浅，有什么不正确的请多加指正，有疑问的也可以留言或者Mail我</p>
]]></content:encoded>
			<wfw:commentRss>http://alvinj.net/2009/05/19/%e8%87%aa%e5%88%b6%e7%89%88windows7-ati-mobility%e9%a9%b1%e5%8a%a8/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
