A. 关于linux里的pxe的安装和配置
1、准备CentOS5
2、安装tftp/dhcp/vsftp
yum -y install tftp-server dhcp vsftpd
3、禁用防火墙或者开通相应的端口
设置/etc/sysconfig/selinux
SELINUX=disabled
重启或执行setenforce 0
service iptables stop
4、配置tftp-server
vi /etc/xinetd.d/tftp
server_args = -s /var/lib/tftpboot 这里如果不修改默认是/tftpboot 会提示
PXE-T01:File not found
PXE-E3B:TFTP Error – file not found
PXE……………..
#设置disable的值由yes变为no
disable = no
/etc/init.d/xinetd restart重启xinetd服务
netstat -nulp检查tftp启动是否成功
udp 0 0 0.0.0.0:69 0.0.0.0:*
5、配置dhcp
vi /etc/dhcp/dhcpd.conf或者vi /etc/dhcpd.conf
option domain-name-servers 8.8.8.8, 202.106.0.20;
default-lease-time 86400;
max-lease-time 604800;
authoritative;
ddns-update-style ad-hoc;
filename “pxelinux.0″;
subnet 192.168.209.0 netmask 255.255.255.0 {
range 192.168.209.15 192.168.209.17;
next-server 192.168.209.18;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.209.255;
option routers 192.168.209.18;
}
#启动dhcp
/etc/init.d/dhcpd start
#检查dhcp是否启动成功:
netstat -nulp
udp 0 0 0.0.0.0:67 0.0.0.0:* 4741/dhcpd
6、默认配置vsftp即可
/etc/init.d/vsftpd start
netstat -ntlp
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 4680/vsftpd
7、设置ftp数据源
mount /dev/cdrom /var/ftp/pub
mount -o loop /opt/CentOS-5.9-x86_64-bin-DVD-1of2.iso /var/ftp/pub
8、PXE Boot loader (PXE引导加载程序)
pxelinux.0是syslinux套件提供的,如果没有请安装
yum install syslinux
用以下命令查看系统是否已安装和存放的目录,
rpm -ql syslinux | grep pxelinux.0
发现pxelinux.0存放在
/usr/share/syslinux/pxelinux.0 或者/usr/lib/syslinux/pxelinux.0
mkdir /var/lib/tftpboot
把pxelinux.0复制到tftpboot
cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot
9、 需要引导文件
cp /var/ftp/pub/images/pxeboot/initrd.img /var/lib/tftpboot
cp /var/ftp/pub/images/pxeboot/vmlinuz /var/lib/tftpboot
cp /var/ftp/pub/isolinux/*.msg /var/lib/tftpboot
mkdir /var/lib/tftpboot/pxelinux.cfg/
cp /var/ftp/pub/isolinux/isolinux.cfg /var/lib//tftpboot/pxelinux.cfg/default
10、设置开机自启动tftp-server/dhcp/vsftp
chkconfig xinetd on
chkconfig dhcpd on
chkconfig vsftpd on
service xinetd start(或者/etc/init.d/xinetd start)
service dhcpd start(或者/etc/init.d/dhcpd start)
service vsftpd start(或者/etc/init.d/vsftpd start)
11、netstat -ntul 检查服务是否正确启动
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
udp 0 0 0.0.0.0:67 0.0.0.0:*
udp 0 0 0.0.0.0:69 0.0.0.0:*
12、访问ftp://ip/pub 检查ftp是否生效
13、在其他电脑用网卡引导检查是否可以通过PXE安装CentOS/RHEL
14、无人干预安装CentOS/RHEL,这不是必须的:
用system-config-kickstart 配置ks.cfg
15、配置default文件
vi /var/lib//tftpboot/pxelinux.cfg/default
label linux
kernel vmlinuz
append initrd=initrd.img ks=ftp://192.168.209.18/ks.cfg
B. 如何制作 PXE 启动文件
制作 PXE 的启动文件,推荐使用 3Com 的 DABS(Dynamic Access Boot Services)。DABS 提供了功能强大的 PXE 启动服务、管理功能,但是,网上可供下载的是一个30天的试用版。所以,我们只用它的启动映像文件制作功能,而由 Windows 2000 Server 的 DHCP 服务器来提供 PXE 启动服务。
DABS 可以安装在任何一台运行 Windows 的机器上。安装后,运行 3Com Boot Image Editor,出现主界面图。选择“创建TCP/IP或PXE映像文件(Create a TCP/IP or PXE image file)”,出现对话窗口。为即将建立的映像文件命名,例如:pxeghost.img,其他采用默认选项,将经测试正常的网络启动盘放入软驱,选择[OK],创建PXE启动映像 Pxeghost.img文件。
在 3Com Boot Image Editor 的主菜单中,选择“创建PXE菜单启动文件(Creat a PXE menu boot file)”,在出现的窗口中选择[添加(Add)],加入我们刚刚创建的启动映像文件Pxeghost.img,在“选项(Options)”标签中可以设置菜单标题和等待时间。
选择[保存(Save)],给保存的PXE菜单启动文件命名为 Pxemenu.pxe。
C. 用PXE如何启动多台电脑Win7网络安装
一、 首先制作一张 ghost 带网卡驱动的启动盘。Start > Programs > Symantec Ghost > Ghost Boot Wizard->Network Boot Disk 如果你的网卡在列表内直接选择它就可以生成一张带 PC-DOS 的启动盘。(但 6.5版的生成的软盘经常有问题,不能成功启动)如果你的网卡不在列表内,你要建立专用的 Packet Driver。ADD->Packet Driver (网卡的驱动程序中有)往下根据提示一步一步走,填入工作站的 ip(ghost 一定要 tcp/ip 协议)。最后生成一张软盘,但此软盘仍不能使用,要改 autoexec.bat 文件在 net xxxx.dos 后面加一个16进制的地址,如 0X75 等。多台计算机只需改 wattcp.cfg 文件中的 ip 即可: IP = 192.168.100.44 NETMASK = 255.255.255.0 GATEWAY = 192.168.100.1 二、 在 server 端运行 multicast server 出来的画面。先给 server一个Session Name(别名)如:bb,再选择 image file 就是你的 gho 文件。然后 ->Dump From Client->rtitions->More Options-> 在 auto start 的 client 中填入 50(如果你要同时复制50台)->accept client 就算完成了,当你的工作站数达到50台时,server就自动传送*.gho 文件。
3、详述: 目前,相当多的电子教室都采用了没有软驱、光驱的工作站。在没有软驱、光驱的情况下,当硬盘的软件系统出现问题时,能否实现网络硬盘克隆呢?PXE(Preboot Execution Environment,它是基于 TCP/IP、DHCP、TFTP 等 Internet 协议之上的扩展网络协议)技术提供的从网络启动的功能,
三、怎样采用Ghost 7.0来实现基于 PXE 的网络硬盘克隆。 网络硬盘克隆过程简述 网络硬盘克隆过程为:在装有软驱的工作站上,用一张引导盘来启动机器,连接到服务器,使用 Ghost 多播服务(Multicast Server)将硬盘或分区的映像克隆到工作站,这样就实现了不拆机、安全、快速的网络硬盘克隆。 实现 PXE 网络启动方式 对于没有软驱、光驱的工作站,要实现PXE网络启动方式,需要完成三个步骤:
1、工作站的PXE启动设置 PXE网络启动一般要求在网卡上加装 PXE 启动芯片(PXE Boot ROM);对于某些型号的网卡,也可以将 PXE 启动代码(Boot Code)写入主板的 Flash ROM;而一些主板上集成了网卡的品牌机(例如清华同方的商用机),可直接支持PXE启动。 常用的 RTL8139 芯片的网卡,其 PXE 启动设置方式是:机器启动时根据屏幕提示按下Shift+F10,在启动类型中选择PXE,开启网络启动选项即可。 2、制作 PXE 启动文件 制作 PXE 的启动文件,推荐使用 3Com 的 DABS(Dynamic Access Boot Services)。DABS 提供了功能强大的 PXE 启动服务、管理功能,但是,网上可供下载的是一个30天的试用版。所以,我们只用它的启动映像文件制作功能,而由 Windows 2000 Server 的 DHCP 服务器来提供 PXE 启动服务。 DABS 可以安装在任何一台运行 Windows 的机器上。安装后,运行 3Com Boot Image Editor,出现主界面图。选择“创建TCP/IP或PXE映像文件(Create a TCP/IP or PXE image file)”,出现对话窗口。为即将建立的映像文件命名,例如:pxeghost.img,其他采用默认选项,将经测试正常的网络启动盘放入软驱,选择[OK],创建PXE启动映像 Pxeghost.img文件。 在 3Com Boot Image Editor 的主菜单中,选择“创建PXE菜单启动文件(Creat a PXE menu boot file)”,在出现的窗口中选择[添加(Add)],加入我们刚刚创建的启动映像文件Pxeghost.img,在“选项(Options)”标签中可以设置菜单标题和等待时间。 选择[保存(Save)],给保存的PXE菜单启动文件命名为 Pxemenu.pxe。
3、服务器的PXE启动服务设置 Windows 2000 Server 的 DHCP 服务支持两种启动协议:DHCP 和 BOOTP。我们可以设定以下三种选择:仅 DHCP、仅 BOOTP、两者。如果我们的局域网中由其他的 DHCP 服务器提供动态 IP 地址分配,那么这里选“仅BOOTP”即可;如果需要这台服务器提供动态 IP 地址分配,则需要选“两者”。 接下来,设置启动文件名。在DHCP服务器的作用域选项中配置选项“067:启动文件名”,字串值为我们创建的 PXE 菜单启动文件名 Pxemenu.pxe。注意:文件名不包含路径。 DHCP 服务器只是将启动文件名通知给 BOOTP 客户机,客户机通过什么方式下载启动文件呢?答案是,需要 TFTP 服务。3Com 的 DABS 包含了一个 TFTP 服务组件,当然,也可以下载一个免费的 TFTP 服务器软件长期使用。 在 TFTP 服务器的设置中,规定一个服务目录。将制作的 PXE 启动文件 Pxeghost.img、Pxemenu.pxe 放到 TFTP 的服务目录中。TFTP 服务器设置为自动运行。
D. 什么是PXE及PXE启动
预启动执行环境(Preboot eXecution Environment,PXE)也被称为预执行环境,提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统。
PXE启动是指联系启动服务,和一个正在启动系统的启动服务联系必须有一个IP地址(可能来自DHCP服务)。通过多播或单播一个带有特殊的PXE选项的 DHCPREQUEST 包(扩展DHCPREQUEST包)到 4011/UDP端口,或者广播(网路)这种包到 67/UDP端口。
这种包包含有PXE启动服务类型和PXE启动层,一个守护进程允许运行多个启动服务类型。 一个扩展 DHCPREQUEST包可能是一个DHCPINFORM包。
(4)pxe安装后运行脚本扩展阅读:
优点
PXE被设计成适合各种计算机体系。2.1版的描述中确定了6种系统规格,包括IA-64和DEC Alpha。可是只有IA-32的完全表述.Intel 在IA-64 的 扩展固件接口中包括了PXE,落实了标准。
协议
PXE 协议大致上结合了DHCP和TFTP,虽然都有在两者上面有改进。DHCP用于查找合适的启动服务器,TFTP用于下载初始引导程序和附加文件。
为了开始一个PXE自检会话,PXE固件广播一个带有明确的PXE选项DHCPDISCOVER包(扩展DHCPDISCOVER)到67/UDP端口(DHCP服务器端口)。PXE选项是PXE固件有PXE能力的鉴定,但是会被一般的DHCP服务忽略。
E. PXE安装Linux过程中重启后系统会重新安装,这个问题如何避免 ...
不要把网卡设为第一启动项,把硬盘设为第一启动项, 重启按F12从pxe启动
F. 请教一各位高手一下,想用PXE启动LINUX(INITRD+VMLINUZ),然后开机就运行自己的脚本跑测试,如何实现。
pxe自己折腾,网上教程多。
脚本,放到/etc/rc.local调用就是。
G. 如何通过PXE实现一键自动化安装操作系统
因为之前的工作需要搭建红帽实验室环境,由于机器数量比较多,所有需要批量自动化无人值守安装系统,所以我尝试使用RHEL5+PXE+DHCP+Apache+Kickstart安装了RHCE5.1 i386实验室环境,并取得了成功,不过过程比较漫长,所以我特地记录下PXE+DHCP+Apache+Kickstart无人值守安装的过程。现阶段,由于需要大规模应用CentOS5.8 x86_64系统用于集群环境,所以将此方法主要用于在公司内网批量安装新服务器系统,这极大地简化了用光盘重复安装CentOS5.8 x86_64的过程,再加上分布式自动化运维工具puppet进行批量部署,达到了自动化运维的目的,避免了重复性劳动,极大的提高了工作效率。
首先,我们来介绍一下与之相关的原理和概念。
1. 什么是PXE
严格来说,PXE 并不是一种安装方式,而是一种引导方式。进行 PXE 安装的必要条件是在要安装的计算机中必须包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE (Pre-boot Execution Environment)协议可以使计算机通过网络启动。此协议分为 Client端和 Server 端,而PXE Client则在网卡的 ROM 中。当计算机引导时,BIOS 把 PXE Client 调入内存中执行,然后由 PXE Client 将放置在远端的文件通过网络下载到本地运行。运行 PXE 协议需要设置 DHCP 服务器和 TFTP 服务器。DHCP 服务器会给 PXE Client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE Client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。此外,在 PXE Client 的 ROM 中,已经存在了 TFTP Client,那么它就可以通过 TFTP 协议到 TFTP Server 上下载所需的文件了。
2. 什么是Kickstart
Kickstart是一种无人值守的安装方式。它的工作原理是在安装过程中记录典型的需要人工干预填写的各种参数,并生成一个名为 ks.cfg的文件。如果在安装过程中(不只局限于生成Kickstart安装文件的机器)出现要填写参数的情况,安装程序首先会去查找 Kickstart生成的文件,如果找到合适的参数,就采用所找到的参数;如果没有找到合适的参数,便需要安装者手工干预了。所以,如果Kickstart文件涵盖了安装过程中可能出现的所有需要填写的参数,那么安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后就去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中的设置重启系统,并结束安装。
3. PXE + Kickstart的安装条件和详细步骤
执行PXE+Kickstart安装需要的设备为:
DHCP服务器。
TFTP 服务器。
Kickstart所生成的ks.cfg配置文件。
一台存放系统安装文件的服务器,如 NFS、HTTP 或 FTP 服务器。
一个带有 PXE 支持网卡的主机。
系统环境绍如下:
服务器系统为CentOS 5.6 x86_64,IP为192.168.11.29(此服务器并非一定要限定为CentOS 5.8 x86_64系统),由于是最小化安装的,我们在后面要用到system-config-kickstart工具,它必须依赖于X windows,所以我们要提前安装好X windows及gnome并重启系统,步骤如下所示:
先装X windows和GNOME桌面环境,命令如下所示:
yum -y groupinstall 'X Window System'
yum -y groupinstall 'GNOME Desktop Environment'
然后修改/etc/inittab文件并重启服务器,使其运行在图形模式下,主要修改文件内容如下所示:
id:5:initdefault:
重启服务器命令如下:
reboot
完成上述的准备工作后,PXE+DHCP+Apache+Kickstart无人值守安装CentOS5.8安装的步骤如下:
(1)我们先下载CentOS5.8 x86_64光盘至/usr/local/src下,并挂载至/mnt/cdrom目录下,并确认系统已安装好httpd服务,如下:
cd /usr/local/src
wget //mirror.neu.e.cn/CentOS/5.8/isos/x86_64/CentOS-5.8-x86_64-bin-DVD-1of2.iso
mkdir –p /mnt/cdrom
接下来我们挂载光盘ISO文件至/mnt/cdrom目录下,如下命令:
mount -o loop CentOS-5.8-x86_64-bin-DVD-1of2.iso /mnt/cdrom
CetnOS5.x x86_64系列已默认安装Apache,我们可以用命令看下其版本号,如下所示:
rpm -q httpd
命令显示结果如下所示:
httpd-2.2.3-65.el5.CentOS
(2)接下来我们复制光盘下的所有内容(文件和文件夹)到/var/html/www(此目录为Apache默认DocumentRoot目录)下,无论是红帽系统还是CentOS 5.x系统,如果是最小化安装,基本上第一张DVD光盘文件就够了,复制命令如下所示:
cp -rf /mnt/cdrom /var/html/www
(3)安装 tftp-server,并启用tftp服务,同时启动xinetd进程,步骤如下所示。
1.我们用命令安装tftp-server,命令如下:
yum -y install tftp-server
2.接着修改/etc/xinetd.d/tftp文件,将disable的值由yes变为no,内容如下所示:
3.接着重启xinetd进程,命令如下所示:
service xinetd restart
(4)配置支持PXE的启动程序(注意:前面已经将CentOS5.8 x86_64第一张光盘的内容复制到/var/www/html目录中了,所以需要的文件只需要从/var/www/html目录中复制就行了)。
a) 建立tftpboot文件夹,如下所示,若该文件夹已经存在则不用建立。
mkdir -p /tftpboot
b) 复制pxelinux.0文件至tftpboot文件夹中,如下所示。
cp /usr/lib/syslinux/pxelinux.0 /tftpboot
c) 把DVD光盘上的/image/pxeboot/initrd.img和vmlinux复制到/tftpboot/中,如下所示。
cp /var/www/html/images/pxeboot/vmlinuz /tftpboot
d) 复制DVD光盘上的isolinux/*.msg到/tftpboot目录下,如下所示:
cp /var/www/html/isolinux/*.msg /tftpboot/
e) 在tftpboot中新建一个pxelinux.cfg目录:
mkdir pxelinux.cfg
f) 将isolinux目录中的isolinux.cfg复制到pxelinux.cfg目录中,同时更改文件名称为default,命令如下所示:
cd pxelinux.cfg
cp /var/www/html/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
g) 在上一个步骤,即第6点中,暂时不要修改default文件,进行到这一步时,虽然已经可以通过网络来引导并手动安装Kickstart了,但是由于这里讨论的是无人值守安装,所以先不修改这个default文件。
(5)安装dhcp服务,同时修改如下配置:
yum –y install dhcp
然后复制配置模板文件到指定的目录中,并重新命名。
cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
接着修改/etc/dhcpd.conf配置文件,文件最后修改内容如下所示:
最后启动dhcp服务:
service dhcpd start
注:如果机器数量过多的话,注意dhcp服务器的地址池,不要因为耗尽IP而导致dhcpd服务器没有IP地址release情况。
(6)用yum工具自动安装Kickstart,同时配置system-config-kickstart。
a) 首先我们需要安装Kickstart这个工具包,在CentOS最小化安装系统时,此软件包并没有默认安装,yum安装命令如下所示:
yum –y install system-config-kickstart
b) 在gnome环境下配置Kickstart,命令如下所示:
system-config-Kickstart
运行上面的命令后可以对系统的一些基本配置进行设置,例如选择时区、设置root的密码等。
c) 接下来便要进行安装了,建议选择httpd安装,切记不要输入任何账号,而是采用匿名安装。
在安装过程中,根据引导选择安装选项,不需要做更改。
d) Kickstart会让我们选择需要批量安装的CentOS5.8分区信息,按照上一节所介绍的CentOS5.5 x86_64的安装方法,我们创建四个分区,即/、/boot、/data和swap分区。
e) 在进行网络配置时,我使用的静态分配地址(动态同样如此),这里跟前面进行光盘安装是一样的。
f) 设置显示配置时可以按照我们的习惯选择。
g) 关于软件包的选择,大家可以根据实际的工作需求来选择自己需要的软件包,由于服务器安装后用途都是不一样的,建议大家这里选择最小化安装。
h) 其他都选择默认设置,不需要修改。
i) 最后将生成的文件ks.cfg保存到/var/www/html下,此为自动化无人值守安装的重难点,此文件稍有配置不当的话就会需要人为干预了,如果大家遇到问题,建议参考我下面的ks.cfg配置文件。
(7)修改/tftpboot/pxelinux.cfg/default文件,指定读取ks.cfg的方法,即修改文件第一行内容,改动后文件第一行内容如下所示:
default text ks=192.168.11.29/ks.cfg
另外,也建议将timeout时间由原先的600改为1,timeout时间是引导时等待用户手动选择的时间,设为“1”可直接引导。
(8)/var/www/html/ks.cfg文件内容如下所示(此内容是整个实验过程的重难点,请关注):
此配置过程中的重难点我这里说明下:
分区操作按照目前线上分区来操作,即分成/、/boot、/data及swap四个分区,其中/data分区是存放数据的,我们这里用--grow --size=1参数来将其余的剩余空间全部分配给/data分区。
key --skip如果是红帽系统,此选项可以跳过输入序列号过程;如果是CentOS 5.x系列,则可以不保留此项内容;
reboot 此选项必须存在,也必须文中设定位置,不然kickstart显示一条消息,并等待用户按任意键后才重新引导,此问题是很多朋友在论坛上发言提问的,我在实验过程中也遇到此问题,建议多做几次实验;
clearpart --all --initlabel此条命令必须添加,不然系统会让用户手动选择是否清除所有数据,这就需要人为干预了,从而导致自动化过程失败;
其它方面选项较容易看懂,我这里就不再重复了。
(9)将Kickstart需要的服务器均启动后,此自动化安装系统的过程就完成了,我们就可以在内网机柜中全自动同时安装CentOS5.8 x86_64系统了,服务器端启动相应命令如下:
service httpd start
chkconfig httpd on
service dhcpd start
chkconfig dhcpd on
service xinetd restart
系统完成最小化后安装后,大家可以根据自己公司的实际情况来进行系统的优化,此最小化优化脚本init.sh还可以让puppet服务器进行推送,此脚本内容如下所示:
注意:
#tune kernel parametres为内核优化部分,在这里我只做了基础处理,大家有需求可以自行修改,记住:一切以系统稳定为原则。
#vim setting选项为vim的个性化配置,如果想vim语法高亮,则必须安装vim-enhanced包,另外,vim在使用搜索功能,搜索选中内容为高亮,感觉不是特别舒服,所以我这里用了set nohlsearch选项,如果大家不介意此项功能,则不需要添加此语句;
#disable ipv6选项我在测试时发现,在CentOS5.8 x86_64系统下,如果不添加install ipv6 /bin/true此语句到/etc/modprobe.conf文件里,是关闭不了ipv6选项的,而测试的CentOS5.5 | 5.6不添加此句均可以顺利关闭ipv6,这点请大家注意,当然了,最后要reboot系统让此配置生效。
引申:相信大家的开发环境应该有不少Xen虚拟机,虽然Xen有自身的模板文件操作,但我们也可以利用Kickstart的方式快速无人值守安装Xen虚拟机系统,命令如下所示:
virt-install -n vm4 -r 300 -f /data/vm/vm4.img -s 8 -p -l -x ks=192.168.11.29/ks.cfg
我们单位有个叫noc-ps的服务器,可以通过他自动安装各种操作系统,把镜像都做好,可以像给任务一样都完全自动化,比PXE还简单,原本是一个老员工做的,他走了,老板让我现在做一个功能就是让他能自动破解windows密码,我只会家里平时用用GHOST里的工具去破解,赛光盘直接进软件然后选择磁盘的sam文件,但是通过noc-ps我就不是很清楚,老板叫我做个WINPE,然后通过脚本方式实现,既然是winpe我想论坛很多GHOST系统里开机都有WINPE的,我猜想把这个系统镜像里的系统GHOST文件去除,减少点容量,然后想办法通过NOC-PS引导到像家里光驱启动一样的界面,让他自己进入WINPE,然后系统启动后自动让他执行破解软件的脚本,不知道是这样否,现在我把系统镜像上传上去,引导就是引导不起来,不知道论坛下载的ISO文件本身带自己引导吗?因为我通常把ISO放到虚拟机里CD/DVD光驱,虚拟机只要按运行虚拟机自动会启动的,不知道NOC-ps是不是要我手工把ISO这个文件制作成带启动功能的,请大侠指点我