1、准备一个至少8G的U盘,准备centos的iso,可以从 http://mirrors.ta139.com/centos/6/isos/x86_64/ 下载
2、制作u盘的系统需要安装了syslinux,我的版本是3.11
3、u盘分区成如下格式
  1. [root@localhost ~]# fdisk -l /dev/sdb

  2. Disk /dev/sdb: 7948 MB, 7948206080 bytes
  3. 245 heads, 62 sectors/track, 1021 cylinders
  4. Units = cylinders of 15190 * 512 = 7777280 bytes
  5. Sector size (logical/physical): 512 bytes / 512 bytes
  6. I/O size (minimum/optimal): 512 bytes / 512 bytes
  7. Disk identifier: 0xcad4ebea

  8.    Device  Boot Start End   Blocks  Id  System
  9. /dev/sdb1  *    1     14    106299  b   W95 FAT32
  10. /dev/sdb2       15    1021  7648165 c   W95 FAT32 (LBA)
注意将sdb1分区设为Boot分区。
4、分别格式化两个分区
  1. mkfs.vfat -n BOOT /dev/sdb1
  2. mkfs.vfat -n DATA /dev/sdb2
5、 mount DATA分区,mount第一个iso,复制一些数据到DATA分区,再把iso都复制到DATA分区,然后umount DATA分区
  1.   mkdir -p /media/iso /media/DATA
  2.  mount /dev/sdb2 /media/DATA
  3.  mount -o loop /path/to/CentOS-6.0-x86_64-bin-DVD1.iso /media/iso/
  4.  cp -rv /media/iso/images /media/DATA
  5.  cp -rv /path/to/CentOS-6.0-x86_64-bin-DVD*.iso /media/DATA
  6.  umount /media/DATA
6、覆盖u盘的mbr,安装syslinux以及启动需要的内核文件
  1.   dd if=/usr/lib/syslinux/mbr.bin of=/dev/sdb
  2.  syslinux -s /dev/sdb1
  3.  mkdir -p /media/BOOT
  4.  mount /dev/sdb1 /media/BOOT
  5.  cp /media/iso/isolinux/isolinux.bin /media/BOOT/syslinux.bin
  6.  cp /media/iso/isolinux/isolinux.cfg /media/BOOT/syslinux.cfg
  7.  cp /media/iso/isolinux/vmlinuz /media/BOOT
  8.  cp /media/iso/isolinux/initrd.img /media/BOOT
7、编辑/media/BOOT/syslinux.cfg
  1.   default CentOS
  2.   prompt 0

  3.   label CentOS
  4.   kernel vmlinuz
  5.   append initrd=initrd.img method=hd:sda2:/
注意method这里指定的是U盘第二个分区,即DATA分区。默认从U盘启动系统时,设备盘符应为sda2,而非sdb2。
8、最后umount BOOT和iso就完成啦,enjoy it!!!

转自:http://blog.csdn.net/phoenixie/article/details/6641165
01-21 18:29