硬件要求:

8G或以上的u盘,服务器支持从u盘启动。

原理及难点:

Centos6.4的dvd文件非常大,超过4G,fat32文件系统不支持4G以上文件;而用于引导linux的文件系统恰恰就是fat32格式。

解决办法:将u盘分成两个或多个分区,一个用于启动linux,为fat32文件系统;一个用于存放安装文件,为ext2文件系统。

linux(本人是ubuntu 13.4)环境下制作。没有linux环境的朋友只有先用虚拟机安装一个linux系统。  

过程:

1、检查当前磁盘情况

sudo fdisk -l

    u 盘通常为/dev/sdc (为以示对比,特选用sdc为U盘驱动号)

    卸载u盘

sudo umount /dev/sdc1

2、分区

sudo fdisk /dev/sdc

d # 删除分区 –

1 # 删除第几个分区,有可删除分区号1-4

n # 创建新的分区

p # 创建主分区,e为扩展分区

1 # 选择分区号

<enter> # 直接按回车键设置默认起始扇区(也可手动输入起始扇区,但不建议)

+100M # 设置该分区大小,此为设置为100M;100K为:+100K;100字节为:+100;直接输入数字则表示该分区结束于第几扇区;直接回车则表示使用剩余所有空间。

t # 更改分区的文件类型

1 # 要更改的分区号

B # 更改为:VFAT(即FAT32)。注意大小写!

n # new partition

p # primary

2 # partition number

<enter> # take the default

<enter> # take the default

a # 设置启动分区

1 # 将启动分区指定为第几分区

w # 保存到硬盘(U盘),q为不保存直接退出

3、格式化

sudo mkfs.vfat /dev/sdc1

sudo mkfs.ext2 /dev/sdc2

4、创建挂载目录

    cd

   mkdir tmp

   cd tmp

   mkdir iso

   mkdir usb

5、挂载iso

    sudo mount -o loop,ro CentOS-6.2-x86_64-bin-DVD1.iso iso/

6、挂载u盘
   sudo sudomount /dev/sdc2 usb/
7、将iso文件拷贝到u盘的/dev/sdc2分区。

拷贝的时间比较长,需要半个小时,也可能要一个小时。耐心等待。拷贝之后可以做sha1sum校验,不过一般没有问题,这里就省了。除了拷贝iso文件外,还要拷贝dvd1.iso的image文件夹,这一点官网的文档没有提到,也许centos5.x的不用吧。

sudo cp -v CentOS-6.2-x86_64-bin-DVD*.iso usb/

sudo cp -rv iso/images usb/

sudo umount usb/

8、用syslinux在u盘的/dev/sdc1分区制作linux启动盘。

如果没有安装syslinux,那么sudo apt-get install syslinux

sudo syslinux -s /dev/sdc1 # 设置到启动盘,如果非默认第一分区为启动盘,则将/dev/sdc1改为相应的分区,如/dev/sdc2

sudo dd if= /usr/lib/syslinux/mbr.bin of=/dev/sdc # mbr.bin文件所在地方不一定一样,我的就在这。of后面的目的地就是/dev/sdc,而不是/dev/sdc1或其他

   sudo mount /dev/sdc1 usb/

   sudo cp -rv iso/isolinux usb/

       sudo mv usb/isolinux usb/syslinux

sudo mv usb/syslinux/isolinux.cfg usb/syslinux/syslinux.cfg

9、修改syslinux.cfg。

在append语句后面加上 method=hd:sda2:/ # 注意:这里的hd:sda2:/指的是安装的ISO文件所在的分区,其中sda是不能改的,从U盘启动时就默认是sda驱动器,但如果ISO文件在U盘的第三个分区,则应改为:hd:sda3:/

sudo vi usb/syslinux/syslinux.cfg

 

#内容片段start

  label linux

  menu label ^Install or upgrade an existing system

  menu default

  kernel vmlinuz

  append method=hd:sda2:/ initrd=initrd.img

#内容片段end

 sudo umount usb/

10、制作完成了,从此不用光驱安装CentOS6.4,爽!

安装过程中需要选择iso镜像位置,选中U盘第二个分区即可