马丁博客

创业是条艰苦的路!

首页: http://www.blags.org


由马丁博客撰写的日志

centos 本地化配置

最近使用svn更新的时候经常出现一些奇怪的错误。经过查询得知是本地化环境没有配置,导致的。记录以下解决方法。
本人环境:centos 5.x
错误现象:

View Code ERRORsvn: Valid UTF-8 data
(hex: 62 74 6e 5f 30 32)
followed by invalid UTF-8 sequence
(hex: b1 b8 b7 dd)

vim ~/.bash_profile [编辑配置文件]
在按下 shift + g 把 ~/.bash_profile
添加:

View Code SHELLexport SVN_EDITOR=vim
export LANG=zh_CN.UTF8
export LC_MESSAGES="en_US.UTF-8"

mysql 错误大全以及解决方法

     最近一直在捣鼓mysql.中间遇到各种各样的问题,记录一下。
服务器环境:lamp (linux[centos],apache2,mysql(5.x),php(5.2X)).
linux 环境下。所有数据库以及用户信息的存放位置可以在(vim /etc/my.cnf)查看[datadir=/usr/local/mysql_data ].
备份好这个目录里面的数据就会将mysql用户信息已经数据信息全部备份好了。安装好新的mysql版本之后修改[datadir]的指向,重启mysql就可以读取到信息了。
本人为了省事就采用了[yum install mysql],当然也可以采用下载然后编译.
以上过程中可能出现的问题:

读取不到数据库信息(原因:移动datadir过程中权限也改变了[chown mysql:mysql -R datadir]) ,datadir是你的存放路径。
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2),解决方法[查看是不是存在该文件。修改相应的路径 vim /etc/my.cnf,
查看是不是权限不对.ls -l ].
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (111),解决方法[修改相应的路径 vim /etc/my.cnf]
添加下面这段:

View Code MYSQL[client]
port More >

ubuntu 安装 ffmpeg php-ffmpeg

    最近在做一个视频网站安装本地环境费了不少时间。本地是ubuntu 9.10 而服务器是redhat as4 所以到时候本人会把服务器安装过程和大家分享出来。
本人环境如下

php —- 5.210
apache 2.2
ubuntu 9.10

ffmpeg 功能很强大包括视频抓图,视频信息,视频转换,在线视频录制,而且是免费的。所有一般的视频网站都会采用他。
本人首先是采用编译安装,但是一直都没有成功。编译过程中出现了很多问题。安装要使用ffmpeg往往需要编译很多包。感觉很麻烦。这些包又依赖于很多其他包。安装顺序也有要求。所以放弃了。
最终采用ubuntu 强大的 apt-get (使用dpkg进行安装) 进行安装(当然cenos,red hat这类使用rpm的系统都可以使用yum进行安装,具体的安装方法可以在本站进行查找).
apt-get 安装步骤如下:
sudo apt-get update ##更新以下源
sudo apt-get install ffmpeg
sudo apt-get install php5-ffmpeg
sudo apt-get install mencoder
sudo apt-get install flvtool2 ##视频转换flv
sudo apt-get install lame ##音频
sudo apt-get install yasm
编译安装ffmpeg 如下:
从 http://ffmpeg.mplayerhq.hu 下载
./configure –help ##查看有那些参数
./configure–prefix=/usr–enable-gpl–enable-shared–enable-libmp3lame–enable-libamr_nb–enable-libogg–enable-libvorbis–enable-libxvid–enable-liba52–enable-liba52bin–enable-pp–enable-libfaad–enable-libfaadbin–enable-libfaac–enable-pthreads–disable-ffserver–enable-x11grab
如果报错则安装该包,或者直接去掉该参数,只需要配置自己使用过程中需要使用到的就行了。
make & make install
其他的则一个一个的下载解压在编译就是了。
具体参考本文:centos+zendce+red5+ffmpeg安装配置

下面是php-ffmpeg 使用的api。功能是很少了。
如果需要给视频抓图择需要使用shell脚本。也就是用到php当中的(system,exec,passthru)这类执行外部命令函数。
往往很多服务器都将种类函数视为危险函数屏蔽掉了。所以想做视频网站对服务器的配置要求比较高。
当然最好是自己的独立服务器。vps 也可以。随便你怎么整都可以。

View Code PHP$movie = new ffmpeg_movie(String path_to_media, More >

centos 5.x 安装 zendOptimizer 5.x

最近在配置一台服务器,主要是lamp 环境。由于访问量不是很大就采用了lamp,访问量大可以采用lnmp环境。
这里我的前提是安装了lamp环境.
linux 环境 : Description:    CentOS release 5.5 (Final)
apache 环境 : apache 2.x
mysql 环境 : mysql 5.x
php 环境 : 5.2x
下面是简单的zend Optimizer 安装过程.

wget -q -O – http://www.atomicorp.com/installers/atomic.sh | sh
这个过程已经下载配置好了yum,接下来就是一句话.
当然也可以直接冲官方下载再编译安装 (wget http://downloads.zend.com/optimizer/3.3.3/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz)
yum install php-zend-optimizer
等待安装完成.
通过查看 phpinfo Loaded Configuration File 得到php.ini所在位置.
根据自己php的版本选择zend Optimizer 文件.例如 php 5.2x 选择zend Optimizer5.2x
在配置文件php.ini 最后部分添加.(vim /etc/php.ini)
[Zend]
zend_optimizer.optimization_level=15
zend_extension=”/usr/lib/php/zend/ZendOptimizer-5.2.so”

安装基本完成了.
service httpd restart
重启之后服务器网页刷新一下就自动关闭了。
后来一想,自己在之前已经安装了php-apc 同为加速器。估计有冲突。后台将php-apc 屏蔽掉,再重启下可以了。
下面是其他可能出现的问题解决方案
很多人说是slinux 出现了问题把。估计也不是空穴来潮。虽然我没有遇到。
方法如下:
vim /etc/selinux/config
#SELINUX=enforcin => SELINUX=disabled
重启下 selinux (service More >

linux 安装配置 vsftpd (centos)

前提是安装了 linux ,yum,不会的可以查看此文章 red hat centos 安装 yum

yum update

yum install vsftpd

service vsftpd status 查看状态

备份配置文件 cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

配置vsftpd  vim /etc/vsftpd/vsftpd.conf
本人配置:

View Code CONF# Example config file /etc/vsftpd/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf.5 for all More >

red hat centos 安装 yum

最近配置了服务器需要安装软件方法有几种。

下载软件包 ,编译安装 (./configure,make,make install)这样安装配置性更高。相信高手都是这样安装的。
yum安装。这样安装起来比较简单。(yum install 软件包名称) 主要适用于(centos,red hat)等.
卸载:yum remove  软件包名称.
apt-get 安装 这个和yum安装差不多。(sudo apt-get install 软件包名称 ) 主要适用于(ubuntu ,debian).
卸载 : sudo apt-get autoremove 卸载所有相关包。
采用 package 方式安装 : 用 package 安装,只要抓取该程序 package 档案。
安装 (pkg_add package_name) 移除 (pkg_delete package_name) 就可以完成安装 / 移除。
注意 :文件名称 .tgz 结尾的是 package 文件名称 .tar.gz 结尾的是 source 。
注 : 目前已经安装的 package 数据库放在 /var/db/pkg/ 这个数据夹之中。
另外还有 port tree 方式安装 More >

html5 实现 flash

html5 在一年前就已经进入我们耳中了。但是一直都没有看到实际性的东西出来。下面这段相信会让大家眼前一亮。

如何提高PHP编程效率

    用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种 可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。
1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。
2、$row[’id’] 的速度是$row[id]的7倍。
3、echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。
4、在执行for循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用foreach代替。
5、注销那些不用的变量尤其是大数组,以便释放内存。
6、尽量避免使用__get,__set,__autoload。
7、require_once()代价昂贵。
8、include文件时尽量使用绝对路径,因为它避免了PHP去include_path里查找文件的速度,解析操作系统路径所需的时间会更少。
9、如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用$_SERVER[‘REQUEST_TIME’]要好于time()。
10、函数代替正则表达式完成相同功能。
11、str_replace函数比preg_replace函数快,但strtr函数的效率是str_replace函数的四倍。
12、如果一个字符串替换函数,可接受数组或字符作为参数,并且参数长度不太长,那么可以考虑额外写一段替换代码,使得每次传递参数是一个字符,而不是只写一行代码接受数组作为查询和替换的参数。
13、使用选择分支语句(译注:即switch case)好于使用多个if,else if语句。
14、用@屏蔽错误消息的做法非常低效,极其低效。
15、打开apache的mod_deflate模块,可以提高网页的浏览速度。
16、数据库连接当使用完毕时应关掉,不要用长连接。
17、错误消息代价昂贵。
18、在方法中递增局部变量,速度是最快的。几乎与在函数中调用局部变量的速度相当。
19、递增一个全局变量要比递增一个局部变量慢2倍。
20、递增一个对象属性(如:$this->prop++)要比递增一个局部变量慢3倍。
21、递增一个未预定义的局部变量要比递增一个预定义的局部变量慢9至10倍。
22、仅定义一个局部变量而没在函数中调用它,同样会减慢速度(其程度相当于递增一个局部变量)。PHP大概会检查看是否存在全局变量。
23、方法调用看来与类中定义的方法的数量无关,因为我(在测试方法之前和之后都)添加了10个方法,但性能上没有变化。
24、派生类中的方法运行起来要快于在基类中定义的同样的方法。
25、调用带有一个参数的空函数,其花费的时间相当于执行7至8次的局部变量递增操作。类似的方法调用所花费的时间接近于15次的局部变量递增操作。
26、Apache解析一个PHP脚本的时间要比解析一个静态HTML页面慢2至10倍。尽量多用静态HTML页面,少用脚本。
27、除非脚本可以缓存,否则每次调用时都会重新编译一次。引入一套PHP缓存机制通常可以提升25%至100%的性能,以免除编译开销。
28、尽量做缓存,可使用memcached。memcached是一款高性能的内存对象缓存系统,可用来加速动态Web应用程序,减轻数据库负载。对运算码 (OP code)的缓存很有用,使得脚本不必为每个请求做重新编译。
29、当操作字符串并需要检验其长度是否满足某种要求时,你想当然地会使用strlen()函数。此函数执行起来相当快,因为它不做任何计算,只返回在 zval 结构(C的内置数据结构,用于存储PHP变量)中存储的已知字符串长度。但是,由于strlen()是函数,多多少少会有些慢,因为函数调用会经过诸多步 骤,如字母小写化(译注:指函数名小写化,PHP不区分函数名大小写)、哈希查找,会跟随被调用的函数一起执行。在某些情况下,你可以使用isset() 技巧加速执行你的代码。
(举例如下)
if (strlen($foo) < 5) { echo “Foo is too short”$$ }
(与下面的技巧做比较)
if (!isset($foo{5})) { echo “Foo is too short”$$ }
调用isset()恰巧比strlen()快,因为与后者不同的是,isset()作为一种语言结构,意味着它的执行不需要函数查找和字母小写化。也就是说,实际上在检验字符串长度的顶层代码中你没有花太多开销。
34、当执行变量$i的递增或递减时,$i++会比++$i慢一些。这种差异是PHP特有的,并不适用于其他语言,所以请不要修改你的C或Java代码并 指望它们能立即变快,没用的。++$i更快是因为它只需要3条指令(opcodes),$i++则需要4条指令。后置递增实际上会产生一个临时变量,这个 临时变量随后被递增。而前置递增直接在原值上递增。这是最优化处理的一种,正如Zend的PHP优化器所作的那样。牢记这个优化处理不失为一个好主意,因 为并不是所有的指令优化器都会做同样的优化处理,并且存在大量没有装配指令优化器的互联网服务提供商(ISPs)和服务器。
35、并不是事必面向对象(OOP),面向对象往往开销很大,每个方法和对象调用都会消耗很多内存。
36、并非要用类实现所有的数据结构,数组也很有用。
37、不要把方法细分得过多,仔细想想你真正打算重用的是哪些代码?
38、当你需要时,你总能把代码分解成方法。
39、尽量采用大量的PHP内置函数。
40、如果在代码中存在大量耗时的函数,你可以考虑用C扩展的方式实现它们。
41、评估检验(profile)你的代码。检验器会告诉你,代码的哪些部分消耗了多少时间。Xdebug调试器包含了检验程序,评估检验总体上可以显示出代码的瓶颈。
42、mod_zip可作为Apache模块,用来即时压缩你的数据,并可让数据传输量降低80%。
43、在可以用file_get_contents替代file、fopen、feof、fgets等系列方法的情况下,尽量用 file_get_contents,因为他的效率高得多!但是要注意file_get_contents在打开一个URL文件时候的PHP版本问题;
44、尽量的少进行文件操作,虽然PHP的文件操作效率也不低的;
45、优化Select SQL语句,在可能的情况下尽量少的进行Insert、Update操作(在update上,我被恶批过);
46、尽可能的使用PHP内部函数(但是我却为了找个PHP里面不存在的函数,浪费了本可以写出一个自定义函数的时间,经验问题啊!);
47、循环内部不要声明变量,尤其是大变量:对象(这好像不只是PHP里面要注意的问题吧?);
48、多维数组尽量不要循环嵌套赋值;
49、在可以用PHP内部字符串操作函数的情况下,不要用正则表达式;
50、foreach效率更高,尽量用foreach代替while和for循环;
51、用单引号替代双引号引用字符串;
52、“用i+=1代替i=i+1。符合c/c++的习惯,效率还高”;
53、对global变量,应该用完就unset()掉;
转载网络.

网站信息查询工具

最近花了点时间写己几个对站长实用的工具。当然还有很多可以做有时间将其补上去.希望能帮到大家.
Martin MD5在线加解密
Martin alexa排名查询
Martin Google PageRank查询
下面是一些seo方面的知识。
站外SEO
站外SEO,也可以说是脱离站点的搜索引擎技术,命名源自外部站点对网站在搜索引擎排名的影响,这些外部的因素是超出网站的控制的。最有用功能最强大的外部站点因素就是反向链接,即我们所说的外部链接。毫无疑问,外部链接对于一个站点收录进搜索引擎结果页面起到了重要作用。
那么如何产生高质量的反向链接呢?

高质量的内容
产生高质量的外部链接最好的方法就是书写高质量的内容,你的文章能够让读者产生阅读的欲望而对文章进行转载。
合作伙伴、专业交换
与合作伙伴互相推荐链接。与行业网站、相关性网站进行链接。
分类目录
将网站提交到DMOZ目录、yahoo目录、ODP目录一个一些专业目录网站。
社会化书签
将网站加入百度搜藏、雅虎收藏、Google书签、QQ书签等社会化书签

站内SEO
站内SEO优化的几个重要因素:

域名选择
选择域名有大量的学问,其重要的一点是尽量选择包括关键词的域名。其次查看这个域名之前是否有注册过。如果之前有高质量的站点和它做反向链接,那你就受益了;但是也有可能做反向链接的都是一些质量不好的站点,那你可能会被搜索引擎不友好一段时间了。
关键词设置
为你的文章增加新的关键词将有利于搜索引擎的“蜘蛛”爬行文章索引,从而增加网站的质量。但不要堆砌太多的关键词,应该考虑“人们在搜索引擎中找到这篇文章,会搜索什么样的关键词”。
这些关键词需要在你的文章中被频繁的提及,可以遵循下面的方法:
关键词应该出现在网页标题标签里面;
在网页导出链接的链接文字中包含关键词;
用粗体显示关键词(至少试着做一次);
在标签中提及该关键词(关于如何运用head标签有过争论,但一致都认为h1标签比h2、h3、 h4的影响效果更好,当然有些没有运用head标签的网页也有很高的PR值);
图像ALT标签可以放入关键词;
整个文章中都要包含关键词,但最好在第一段第一句话就放入;
在元标签(meta 标签)放入关键词,建议关键词密度最好在5-20% 之间。
站点设计
搜索引擎更喜欢友好的网页结构,无误的代码和明确导航的站点。确保你的页面都是有效的和在主流浏览器中的可视化。搜索引擎不喜欢太多的Flash、i frames和java script脚本,所以保持站点的干净整洁,也有利于搜索引擎“蜘蛛”更快更精确的爬行到你网站的索引。
站点的内部链接
搜索引擎的工作方式是通过“蜘蛛”程序抓取网页信息,追踪你写的内容和通过网页的链接地址来寻找网页,抽取超链接地址。许多SEO专家都建议网站提供网站地图,在网站上的每个页面之间最好都有一个到两个的深入链接。网站要做的第一步是确保导航中包含目录页面 ,也要确保每个子页面都有链接回到主页面和其它的重要页面。
有规律的更新
网站更新的次数越频繁,搜索引擎蜘蛛爬行的也就越频繁。这意味着网站新文章几天甚至几小时内就可以出现在索引中,而不需要等几个星期。这是网站最好的受益方式。
导出链接
导出链接会提高网站在搜索引擎中的排名,在文章中链接到其它相关站点对读者们是有用的,也有一些轶趣的证据来支持这种理论。太多的导出链接将影响降低你的网站,应该“适度是关键”。
每篇文章的主题
一个页面的主题越紧凑,搜索引擎对它的排名就越好。有时发现你写了很长的文章,覆盖了一些不同的话题,它们的相关性并不高,所以在搜索引擎上的排名也不好。如果你关心搜索引擎的排名,那最好把这样的文章切块,分成几个主题更密切的文章。最简单的方法是:选取关键词,围绕关键词书写文章,内容集中,不要写的过宽。
写适宜长度的文章
太短的文章不能获得较高的排名,一般控制每篇文章至少有300个字。另一方面,也不要让文章显得太长,因为这将不利于你保持关键词的密度,文章看上去也缺少紧凑。研究显示过长的文章会急剧减少读者的数量,他们在看第一眼的时候就选择了关闭文章。
避免内容重复
搜索引擎在使用指南中严重警告过关于多个网页相同内容的问题。不管这些网页是你拥有的还是别人拥有的。因为一系列的垃圾站点就是不断复制网页内容(也窃取别人网站内容)。有一些争论关于什么样的内容算复制,其实要看这些内容是否对你的网站有用来选择。
目录的数量
当我的目录过多的时候,我自己都会陷入麻烦。我认为大站点的等级比小站高,当然一些小站点也有高的等级,这并不是标准。目录越多,搜索引擎搜索的也就越全面。如果你有太多的页面,你需要组织它们以方便搜索引擎爬行。
提交到搜索引擎
如果你做了所有站内SEO都该做的事,网站却还没有出现在搜索引擎中。那是因为搜索引擎还没有开始收录,每个搜索引擎都允许用户提交未收录站点,这个工程一般要等待3-5天。
SEO是依据通过对长期摸索、观察得出来的技术与经验,利用搜索引擎录取网站的规则,将网站的整体结构、网站布局、关键词分布及密度进行优化,使网站对搜索引擎的抓取有友好性,从而进行搜索引擎优化,达到网站提高排名的效果。由于搜索引擎的排名规则及算法是是在不断改变中的,而且这些规则和算法又是商业机密,所以不可能达到保证排在某几位的效果的。
seo=更多页面的收录+页面文字的友好安排+转化率
SEO分为白帽SEO和黑帽SEO,白帽SEO就是正规合理的运作,黑帽SEO就是作弊手法,下面介绍几种常见的作弊方法,希望大家不要用
桥页(doorway pages)
通常是用软件自动生成大量包含关键词的网页,然后从这些网页做自动转向到主页。目的是希望这些以不同关键词为目标的桥页在搜索引擎中得到好的排名。当用户点击搜索结果的时候,会自动转到主页。有的时候是在桥页上放上一个通往主页的链接,而不自动转向。大部分情况下,这些桥页都是由软件生成的。你可以想象,生成的文字是杂乱无章,没有什么逻辑的。如果是由人写出来的真正包含关键词的文章,就不是桥页了。
关键词堆砌(keyword stuffing)
在网页中大量堆砌关键词,希望提高关键词密度,提高网页针对关键词的相关度。关键词堆砌可以在很多地方,比如在用户可以看到的文章本身中,也有在title网站标题,关键词标签keywords,说明标签description中。随着搜索引擎算法的改进,关键词密度已经不是一个重要的因素。
隐藏文字(hidden text)
隐藏文字是在网页的HTML文件中放上含有关键词的文字,但这些字不能被用户所看到,只能被搜索引擎看到。可以有几种形式,比如说超小字号的文字,与背景同样颜色的文字,放在评论标签当中的文字,放在表格input标签里面的文字,通过样式表把文字放在不可见的层上面等等。其目的也都是想提高网页的相关性。有的时候,有的人还在这些地方放上与网站内容无关的,但是很热门的关键词,希望网页能在这些热门关键词下得到好的排名和流量。
隐藏链接(hidden link)
隐藏链接和隐藏文字相似,但是区别是把关键词放在链接里面,而这个链接也是用户所看不到的。
隐藏页面(cloaked page)
有的网页使用程序或脚本来检测来访问的是搜索引擎还是普通用户。如果是搜索引擎,网页就返回经过优化的网页版本。如果来访的是普通人,返回的是另外一个版本。这种作弊方式,通常用户无法发现。因为一旦你的浏览器去看这个网页,无论是在页面上还是在HTML源文件中,你所得到的都已经是与搜索引擎看到的不同的版本。检测的方法是,看一下这个网页的快照。
细微文字
许多做搜索引擎优化的人士明白隐藏文字可能会遭到惩罚,所以就将本来隐藏的文字以细微的字体暴露出来。细微文字即使是使用微小的字体在网页不显眼的地方书写带有关键词的句子。一般这些文字是放在网页的最顶端或者最底部。这些文字的色彩虽然不是和隐藏文字那样与背景使用相同颜色,但是经常也以非常相近的颜色出现。
在搜索引擎眼中,像“版权所有”这样的声明性的文字一般是用迷你字体来显示的。这些细微文字一般会被浏览者忽视,但是他们组成的句子会有滥用的嫌疑。

windows xp 磁盘安装 ubuntu 10.04 方法

ubuntu 10.04 也发布一段时间了相信很多人都迫不及待了,ubuntu 10.04是一个长期支持的版本。
安装方法有三种。

通过 ubuntu 9.10 直接升级到10.04不过的更新起来比较慢,但是可以保留之前一些软件的配置,还是值得一试。
通过向官方申请 ubuntu 10.04 安装光盘。然后通过光盘安装就是了,不过申请光盘是需要时间的,相信很多人都没这个耐心吧。当然也可以通过下载ubuntu 10.04 镜像文件,然后自己刻录ubuntu 10.04 安装盘。
通过引导进行磁盘安装。

上面第一和第二种都是很普通的方法。下面就讲解一下磁盘安装方法吧。

准备工作

下载 grub4dos-0.4.4-2009-06-20.zip 选择一个版本 本人选择的是grub4dos-0.4.4。
下载ubuntu-10.04-desktop-i386.iso 文件.下载地址见:http://www.blags.org/ubuntu-10-04-lts-release/.

配置引导

右击 我的电脑->属性->高级->启动和故障恢复->设置->编辑
在最后面加上 C:\grldr=”install ubuntu 10.04 ” ,当然也可以直接 开始 ->运行 (c:/boot.ini) 进行编辑,不过要修改一下boot.ini文件的可写属性。
接下来将下载的 grub4dos-0.4.4-2009-06-20.zip 里面文件 解压至c盘,是整个解压至c不是解压目录至c
复制下载下来的 ubuntu-10.04-desktop-i386.iso 镜像文件至c盘。同时解压ubuntu-10.04-desktop-i386.iso 里面的 .disk文件,casper 下的initrd.lz ,vmlinuz 解压至c盘。
编辑c:/menu.lst 在最后加上这段
title Install Ubuntu 10.04
find –set-root /ubuntu-10.04-desktop-i386.iso
kernel /vmlinuz boot=casper iso-scan/filename=/ubuntu-10.04-desktop-i386.iso locale=zh_CN.UTF-8
initrd /initrd.lz
保存.

重启windows.

会出现一个windows xp 和 install ubuntu 10.04 的选项。选择 More >