这几天一直在研究u盘全自动安装centos,把具体过程分享一下供参考,同时也做为我个人的一个备忘
主要准备以下4样东西
1、8G以上u盘一只2、CentOS镜像CentOS-6.2-x86_64-bin-DVD1.iso(minimal、netinstall之类的镜像不行)3、linux系统自带syslinux工具4、kickstart方式安装系统所需文件ks.cfg格式化u盘成vfat格式,假如您的u盘太大了想分很多个区,ok没问题,用fdisk先fdisk看看u盘是sdX?假设是sdc,确定此盘内没有需要保留的数据,再进行后续操作现在对u盘进行分区,至少要分两个区,用来做这个全自动安装u盘,但是如果还需要其他储存分区,就自己再分sudo fdisk /dev/sdc必有的两个分区都是primary,第一个给250M,设定类型按t然后按b选择w95 fat32类型,按a表示可启动分区,第二个区划分至少5G,类型默认(linux)分好区后,按w将更改写入u盘格式化u盘这个分区为vfat格式和ext2格式(其他格式不认)sudo mkfs.vfat -n BOOT /dev/sdc1sudo mkfs.ext2 -m 0 -b 4096 -L DATA /dev/sdc2拔出再插入u盘,两个分区分别自动挂载在/media/BOOT和/media/DATA将镜像挂载好,并复制文件sudo mkdir /media/cdsudo mkdir /media/DATA/centos6sudo mount -o loop CentOS-6.2-x86_64-bin-DVD1.iso /media/cdsudo cp -rv /media/cd/p_w_picpaths /media/DATA/centos6sudo cp -v CentOS-6.2-x86_64-bin-DVD1.iso /media/DATA/centos6/##没有sha1sum.txt就不做以下这些##sudo cp sha1sum.txt /media/DATA/centos6##cd /media/DATA/centos6##grep DVD sha1sum.txt | sha1sum -c - CentOS-6.2-x86_64-bin-DVD1.iso 建立mbr,配置BOOT引导内容sudo syslinux -s /dev/sdc1sudo dd if=/usr/lib/syslinux/mbr.bin of=/dev/sdccd /media/BOOTsudo cp -rv /media/cd/isolinux syslinux && cd syslinuxsudo mv isolinux.cfg syslinux.cfgsudo rm -f isolinux.bin修改syslinux.cfg启动菜单的appendsudo vim /media/BOOT/syslinux/syslinux.cfgappend ks=hd:sda2:/ks.cfg initrd=initrd.img ksdevice=eth0 method=hd:sda2:/centos6建立kickstart文件sudo vim /media/DATA/ks.cfg# centos kickstart fileinstalltextrebootharddrive --partition=sda2 --dir=/centos6#bootloader --driveorder=cciss/c0d0,sda --location=mbrlang en_USkeyboard usnetwork --device eth0 --bootproto dhcprootpw 123456firewall --disabledauthconfig --enableshadow --enablemd5selinux --disabledtimezone --isUtc Asia/Shanghaibootloader --location=mbr --driveorder=sdb --append="rhgb crashkernel=auto quiet"clearpart --all --drives=sdb --initlabelpart /boot --fstype ext4 --size 100 --ondisk=sdbpart swap --size=4096 --ondisk=sdbpart / --fstype ext4 --size=1 --grow --ondisk=sdb --asprimary%packagesopenssh-serveropenssh-clientsvim一些注意事项:引导的时候要把u盘插在usb2.0的接口上,别插3上,容易出这样那样的问题。ks文件非常重要,关键就是要让计算机找到这个文件才能进行自动安装。ks文件中的bootloader后必须指定--driveorder=sdb否则默认是装到sda上,也就是跑u盘上去了,肯定不行还有一些写grub和引导的方法,试过都不好用,不过也做个备忘extlinux工具可生成一个ldlinux.sys用于引导sudo extlinux -i /mnt/sdc1建立grub引导可用grub-installsudo grub-install --root-directory=/mnt/sdc1 --no-floppy /dev/sdc