公司以前服务器都是用的ubuntu的系统,这次听了一大牛的话,把系统换成CentOS的,并且把web服务器换成了nginx

听说金山的也是用的这样的Web架构

不过下载的Centos live cd是不能安装系统到硬盘的,现在手上又没有DVD的盘来刻录。当时就想ubuntu的有可以制作usb启动盘的,能不能把Centos的也做成一个呢?

以前用Ultral ISO制作过XP的安装盘,是很简单的,不过试了下直接用下载的centos的dvd(1-2里的第一个ISO文件)制作完成后启动失败,说是什么东西错了 就把这条路给断了

看下制作成功的步骤

    准备工作:

       linux系统、  windows系统、8G   U盘一个、Centos DVD ISO文件(一般都有两个文件,只需要第一个就行了),syslinux.exe文件

  开始工作:

   1、把U盘插入linux系统里,运行    fdisk -l

          这一步一般是不会出什么问题的,只是检测下系统能不能发现U盘

   2、执行    fdisk  /dev/sdb   (一般U盘在linux下都以sdb开头)进行对U盘进行分区(本人对这个命令不是很熟,刚好使用的是ubuntu系统,就直接使用ubuntu的硬盘管理工具进行了分区)

        分成两个  /dev/sdb1 和/dev/sdb2  其中/dev/sdb1为512M  剩下的就全给/dev/sdb2这样做主要是为了在对/dev/sdb1操作时不把放到/dev/sdb2中的ISO文件给弄丢,一个4G的文件拷起来还是很费时的

3、格式化分区    

Shell代码 复制代码 收藏代码
  1. mkfs.msdos  /dev/sdb1  
 mkfs.msdos  /dev/sdb1
Shell代码 复制代码 收藏代码
  1. mkfs.ext2  /dev/sdb2  
  mkfs.ext2  /dev/sdb2

 4、在/mnt下建立iso、usb1、usb2三个目录(这个命令就不用说了吧),分别对应iso文件和新建的U盘上的两个分区

 5、挂载对应的分区

Shell代码 复制代码 收藏代码
  1. <SPAN style="WHITE-SPACE: normal">   <SPAN style="WHITE-SPACE: pre">mount -o loop /root/CentOS-5.5-x86_654-bin-DVD.iso  /mnt/iso</SPAN></SPAN>  
   mount -o loop /root/CentOS-5.5-x86_654-bin-DVD.iso  /mnt/iso
Shell代码 复制代码 收藏代码
  1. mount   /dev/sdb1  /mnt/usb1   
  2. mount /dev/sdb2   /mnt/usb2  
mount   /dev/sdb1  /mnt/usb1
mount /dev/sdb2   /mnt/usb2

   6、下面开始拷贝文件

Shell代码 复制代码 收藏代码
  1. cp –a /mnt/iso/isolinux /mnt/usb1/syslinux  
   cp –a /mnt/iso/isolinux /mnt/usb1/syslinux
Shell代码 复制代码 收藏代码
  1. touch /mnt/usb1/anaconda-ks.cfg  
   touch /mnt/usb1/anaconda-ks.cfg
Shell代码 复制代码 收藏代码
  1. <SPAN style="WHITE-SPACE: normal">   因为我使用的是ubuntu系统,没有anaconda-ks.cfg文件,这里就直接新建一个</SPAN>  
   因为我使用的是ubuntu系统,没有anaconda-ks.cfg文件,这里就直接新建一个
Shell代码 复制代码 收藏代码
  1. cp /root/CentOS-5.5-x86_654-bin-DVD.iso /mnt/usb2  
cp /root/CentOS-5.5-x86_654-bin-DVD.iso /mnt/usb2

  7、修改文件

  将isolinux.cfg改为syslinuxcfg

Java代码 复制代码 收藏代码
  1. mv /mnt/usb1/syslinux/isolinux.cfg /mnt/usb1/syslinux/syslinux.cfg  
mv /mnt/usb1/syslinux/isolinux.cfg /mnt/usb1/syslinux/syslinux.cfg

 修改syslinux.cfg,修改后内容如下

Shell代码 复制代码 收藏代码
  1. default linux   
  2. prompt 1  
  3. timeout 600  
  4. display boot.msg   
  5. F1 boot.msg   
  6. F2 options.msg   
  7. F3 general.msg   
  8. F4 param.msg   
  9. F5 rescue.msg   
  10. label linux   
  11.   kernel vmlinuz   
  12.   append initrd=initrd.img   
  13. label text   
  14.   kernel vmlinuz   
  15.   append initrd=initrd.img text   
  16. label ks   
  17.   kernel vmlinuz   
  18.   append ks=hd:sdb1:/anaconda-ks.cfg initrd=initrd.img   
  19. label local   
  20.   localboot 1  
  21. label memtest86   
  22.   kernel memtest   
  23.   append -  
default linux
prompt 1
timeout 600
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
  kernel vmlinuz
  append initrd=initrd.img
label text
  kernel vmlinuz
  append initrd=initrd.img text
label ks
  kernel vmlinuz
  append ks=hd:sdb1:/anaconda-ks.cfg initrd=initrd.img
label local
  localboot 1
label memtest86
  kernel memtest
  append -

  修改文件/mnt/usb1/anaconda-ks.cfg,使其内容如下:

Shell代码 复制代码 收藏代码
  1. <SPAN style="WHITE-SPACE: normal"><SPAN style="WHITE-SPACE: pre"># Kickstart file automatically generated by anaconda.</SPAN></SPAN>   
  2. install   
  3. harddrive --partition=sdb2 --dir=   
  4. lang en_US.UTF-8  
  5. keyboard us   
  6.     
  7. text   
  8. rootpw  123456  
  9. firewall --enabled --port=22:tcp   
  10. authconfig --enableshadow --enablemd5   
  11. selinux --enforcing   
  12. timezone --utc America/New_York   
  13. bootloader --location=partition --driveorder=sda   
  14. # The following is the partition information you requested   
  15. # Note that any partitions you deleted are not expressed   
  16. # here so unless you clear all partitions first, this is   
  17. # not guaranteed to work   
  18. clearpart --linux   
  19. part / --fstype ext3 --size=20000  
  20. part /var --fstype ext3 --size=20000  
  21. part /usr --fstype ext3 --size=20000  
  22. part /data --fstype ext3 --size=1 --grow   
  23. part swap --size=4096  
  24.     
  25. %packages   
  26. @development-libs   
  27. @system-tools   
  28. @core   
  29. @base   
  30. @network-server   
  31. @admin-tools   
  32. @development-tools   
  33. audit   
  34. kexec-tools   
  35. device-mapper-multipath   
  36. imake   
# Kickstart file automatically generated by anaconda.
install
harddrive --partition=sdb2 --dir=
lang en_US.UTF-8
keyboard us
 
text
rootpw  123456
firewall --enabled --port=22:tcp
authconfig --enableshadow --enablemd5
selinux --enforcing
timezone --utc America/New_York
bootloader --location=partition --driveorder=sda
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
clearpart --linux
part / --fstype ext3 --size=20000
part /var --fstype ext3 --size=20000
part /usr --fstype ext3 --size=20000
part /data --fstype ext3 --size=1 --grow
part swap --size=4096
 
%packages
@development-libs
@system-tools
@core
@base
@network-server
@admin-tools
@development-tools
audit
kexec-tools
device-mapper-multipath
imake 

  

8、给U盘写入mbr

  将U盘插到windows的系统上,执行命令

Dos代码 复制代码 收藏代码
  1. syslinux.exe  -a -m  i:  
syslinux.exe  -a -m  i:

 上面的i:为盘符,请根据自己的实际情况来定

这步完成后就可以来安装系统了,将U盘插到服务器上,在启动过程中把启动项选择为USB

就带你进入Centos的安装界面了

中间安装中注意分区时不要把U盘给算上,还有一个大致为选择安装源文件位置的,选择硬盘再选择sdb2就OK啦

安装完成后有可能grub的启动有误,手动改一下boot(hd1,0) 为boot(hd0,0)就OK啦

 以后不用每次都拿光驱来安装系统了

posted on 2011-08-09 15:39  长风大侠IV  阅读(4169)  评论(0)    收藏  举报