Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2109594
  • 博文数量: 333
  • 博客积分: 10161
  • 博客等级: 上将
  • 技术积分: 5238
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-19 08:59
文章分类

全部博文(333)

文章存档

2017年(10)

2014年(2)

2013年(57)

2012年(64)

2011年(76)

2010年(84)

2009年(3)

2008年(37)

分类: LINUX

2010-10-25 15:27:05

U盘自动安装centos5.3到服务器 
作者:田逸(sery@163.com from: http://blog.formyz.org 
  
前几天,买服务器,供货商赠送18GU盘,于是我就想拿这个U盘来做一个centos的安装盘。这样做的好处主要有3点:保存较长的时间(dvd盘放置一段时间就脏了,再拿来装系统很不容易成功。曾经有惨痛的教训啊!)、安装速度快、省事(相对与网络安装,不需要弄tftpnfs等)。 
  
基本想法 
1、所有需要的东西都在u盘,如镜像文件、引导系统所需的文件等。这样做的目的就是不再需要借助其他资源来完成安装。 
2、安装自动进行。分区、软件包的选择等都是自动完成,大大加快了安装的速度。 
3centos被安装到服务器的硬盘而不是u盘。网上有不少文章,是把系统安装到u盘的,这种方法,不是服务器所需要的。 
  
U盘安装系统时磁盘的命名规则 
服务器自己的硬盘被当成sda,u盘被当成sdb。这个要弄清楚。 
  
安装前的处理 
安装本身是很容易的事情,更何况是自动安装。而安装前所需要做的工作,才是比较费事和容易出问题的了,因此这里用较多的篇幅来叙述这个过程。 
  
(一)准备所需要的软件。它包括Centos镜像(DVD)文件和windows版的syslinux.exe文件。当然可以直接用linux系统自带的syslinux,不过linuxsyslinux做引导处理有点麻烦,所以改用windows版的syslinux.exe.麻烦在哪里?执行完syslinux -s /dev/sda1 后还要来个dd 操作。 
(二)准备两个操作系统,一个windows,一个linux.windows用来做引导--mbr和生成ldlinux.sys;linux用来创建分区、拷贝文件等。 
(三)先在linux系统上进行如下操作: 
1、下载centos镜像文件。这个文件很大,网上有完整的dvd镜像下载(一个文件这种),可用的下载地址为: .我把它用wget下载到/root目录。 
  
2、挂接这个镜像文件,以便我们可以使用镜像文件里的目录。mount -o loop /root/CentOS-5.3-i386-bin-DVD.iso  /mnt/ios 执行命令 cd /mnt/iso,可以像浏览dvd光盘一样查看目录及其里面的文件。 
  
3、把U盘插入linux服务器,然后执行fdisk -l检查是否被识别。在我的系统里,它被识别为/dev/sdb. 
1)创建2个分区,使用的命令是#fdisk /dev/sdb 以菜单的方式创建 /dev/sdb1/dev/sdb2两个分区。其中/dev/sdb1512M的空间,其余的留给/dev/sdb2.一定需要两个分区么?不是的。我这样干的目的是我对/dev/sdb1进行操作的时候,不会把镜像文件弄丢了(镜像文件3.8G,拷贝起来还是很费时间的)。 
2)创建好分区后,需要在上面创建文件系统,这个不难,其命令无非 #mkfs.msdos  /dev/sdb1 ;mkfs.ext2 /dev/sdb2,执行成功后,就产生一个dos分区和一个ext2分区。请注意,这里是ext2文件系统而不是ext3,因为syslinux好像只跟dosext2文件系统友好。 
3)把这个两个分区挂接到linux系统,我使用的挂接目录是/mnt/usb1/mnt/usb2. 
4)复制目录及文件。需要复制的目录是/mnt/iso/isolinux,需要复制的文件是/root/anaconda-ks.cfg.文件/root/anaconda-ks.cfg不是必须的,为了能自动安装centos,所以使用了这个文件。 

1)      拷贝isolinux目录(注意改了目录的名称,以便syslinux能正常工作)cp –a /mnt/iso/isolinux /mnt/usb1/syslinux 

2)      拷贝anaconda-ks.cfg文件(任何安装完成的centos系统都会在/root目录自动生成这个文件)cp /root/anaconda-ks.cfg  /mnt/usb1

3)      拷贝dvd镜像文件cp /root/CentOS-5.3-i386-bin-DVD.iso /mnt/usb2

4)改文件名 /mnt/usb1/syslinux/isolinux.cfg/mnt/usb1/syslinux/syslinux.cfg
mv /mnt/usb1/syslinux/isolinux.cfg /mnt/usb1/syslinux/syslinux.cfg

  
4、修改文件 /mnt/usb1/syslinux/syslinux.cfg,其修改后的内容如下: 


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 - 


  
  
  
  
  
  
  
  
“append ks=hd:sdb1:/anaconda-ks.cfg initrd=initrd.img”这一行是做了修改的,其作用是以硬盘方式(u盘也被认为是硬盘)引导系统,其所需的centos镜像文件在u盘的第二个分区,并且使用kickstart自动安装,指定kickstart配置文件的路径为/anaconda-ks.cfg,即u盘第一个分区的根目录下。 
  
5、修改文件/mnt/usb1/anaconda-ks.cfg,使其内容如下: 


# 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 


  
  
  
  
  
  
  
  
  
  
  
 
  
6、拔出u盘,把它插在windows系统的机器上,然后执行命令 syslinux.exe  -a -m  i: 就开始写mbr和生成文件ldlinux.sys文件。注意u盘在linux下分了2区,在windows下只能识别被格式化成的dos的那个分区(/dev/sdb1)。到这一步,前期的处理基本完成了。
  
开始安装 
把处理好的u盘插如欲安装系统的服务器,然后开机,把引导设备改成u盘。无误后,片刻出现centos 的安装界面,这个界面会有一个syslinux.cfg关键字错误的提示,不用理会,直接输入 ks 回车,安装自动开始,2-3分钟就自动安装完毕。 
  
需要注意一点,以我这个anaconda-ks.cfg的设置来安装系统的话,硬盘的分区将重新格式化。我们可以根据自己的需要来编写这个文件,使之符合我们的实际需求。

阅读(819) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-10-26 19:01:24

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com