原始出处 :http://redking.blog.51cto.com/27212/1216136


制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘
本次使用的U盘为Kingston16G,/dev/sdb,默认已有分区为/dev/sdb4
下面将对U盘进行分区第一个分区为FAT32,引导计算机进行系统安装,第二个分区为EXT2,存放我们的系统ISO文件。
删除原有分区
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_02

[root@localhost ~]# fdisk /dev/sdb

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): d
Selected partition 4

Command (m for help): p

Disk /dev/sdb: 15.5 GB, 15479597056 bytes
255 heads, 63 sectors/track, 1881 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xcad4ebea

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1881, default 1): 
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-1881, default 1881): +250M

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): l

 0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        
 1  FAT12           39  Plan 9          82  Linux swap / So c1  DRDOS/sec (FAT-
2  XENIX root      3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-
3  XENIX usr       40  Venix 80286     84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
4  FAT16 <32M      41  PPC PReP Boot   85  Linux extended  c7  Syrinx         
 5  Extended        42  SFS             86  NTFS volume set da  Non-FS data    
 6  FAT16           4d  QNX4.x          87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS       4e  QNX4.x 2nd part 88  Linux plaintext de  Dell Utility   
 8  AIX             4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt         
 9  AIX bootable    50  OnTrack DM      93  Amoeba          e1  DOS access     
 a  OS/2 Boot Manag 51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O        
 b  W95 FAT32       52  CP/M            9f  BSD/OS          e4  SpeedStor      
 c  W95 FAT32 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs        
 e  W95 FAT16 (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  GPT            
 f  W95 Ext'd (LBA) 55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor      
12  Compaq diagnost 61  SpeedStor       a9  NetBSD          f4  SpeedStor      
14  Hidden FAT16 <3 63  GNU HURD or Sys ab  Darwin boot     f2  DOS secondary  
16  Hidden FAT16    64  Novell Netware  af  HFS / HFS+      fb  VMware VMFS    
17  Hidden HPFS/NTF 65  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
18  AST SmartSleep  70  DiskSecure Mult b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 75  PC/IX           bb  Boot Wizard hid fe  LANstep        
1c  Hidden W95 FAT3 80  Old Minix       be  Solaris boot    ff  BBT            
1e  Hidden W95 FAT1
Hex code (type L to list codes): b
Changed system type of partition 1 to b (W95 FAT32)

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (34-1881, default 34): 
Using default value 34
Last cylinder, +cylinders or +size{K,M,G} (34-1881, default 1881): 
Using default value 1881

Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 83

Command (m for help): p

Disk /dev/sdb: 15.5 GB, 15479597056 bytes
255 heads, 63 sectors/track, 1881 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xcad4ebea

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1          33      265041    b  W95 FAT32
/dev/sdb2              34        1881    14844060   83  Linux

Command (m for help): a
Partition number (1-4): 1

Command (m for help): p

Disk /dev/sdb: 15.5 GB, 15479597056 bytes
255 heads, 63 sectors/track, 1881 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xcad4ebea

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1          33      265041    b  W95 FAT32
/dev/sdb2              34        1881    14844060   83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)

WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.
[root@localhost ~]# 

格式化U盘的两个分区,并命名第一个分区卷名为boot,FAT32格式,第二个卷名为data,ext2格式,这个卷名大家随便起,各人习惯而已。
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_03
挂载boot分区和data分区到/mnt目录下
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_04
拷贝CentOS6.4第一张光盘CentOS-6.4-x86_64-bin-DVD1.iso中isolinux目录到U盘boot分区中并改名为syslinux目录,然后重命名isolinux.cfg文件为syslinux.cfg。
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_05
如果系统中没有安装syslinux工具,yum install syslinux安装一下。
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_06
使用syslinux工具将U盘的/dev/sdb1分区制作成启动盘,拷贝光盘中p_w_picpath目录到boot分区。
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_07
这样CentOS的U盘启动盘就OK了,接着我们将CentOS的两个DVDISO文件拷贝到U盘的data分区。CENTOS6.4 x86_64的ISO文件拷贝时间比较长,大约半小时到1小时之间。
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_08
因实体机截图不方便,所以在虚拟机VM测试,效果一样。
虚拟机要U盘启动要做一下设置。将U盘加载成虚拟硬盘。
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_09
NEXT,选择使用物理磁盘。
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_10
一般为最后一个,如果只有一个的话,关掉VMWARE,重新插拔U盘再开VMWARE。
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_11
如果有多个或自己不确认的话,下面看一下加载的硬盘空间大小就行了,我的是16G的U盘,加载后容量为14.4G
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_12
虚拟机开机后按F2,进入BIOS,启动U盘启动,F10保存。
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_13
下面就熟悉了,也没什么说的。
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_14
系统引导中
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_15
到这里,选择Hard drive
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_16
选择/dev/sdb1,sda是虚拟机硬盘,sdb1是U盘boot分区,sdb2为data分区。
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_17
OK继续
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_18
因为是测试机,所以随便分下区
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_19
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_20
这里要将boot loader从/dev/sdb改为/dev/sda2
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_21
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_22
下面按CTRL+ALT+F2,这一步挂载U盘的data分区到/mnt/isodir目录下。
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_23
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_24
按CTRL+ALT+F6回到安装界面。Retry.
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_25
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_26
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_27
快好了
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_28
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_29
重启电脑设置硬盘启动。
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_30

制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_31
下面启动项为root (hd1,1),U盘第二个分区
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_32
可以按E后修改成(hd0,1)临时引导linux.
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_33

制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_34

制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_35

制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_36

制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_37
CentOS重启后还是会找不到硬盘分区,一般为下面三张错误信息。
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_38

制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_39

制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_40
这样电脑重启后还不能正常启动,有时需要重装下GRUB并改/boot/grub/grub.conf.指定正确的linux分区。
U盘启动时选择Rescue Installed System.
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_41
下面和上面安装时一样选择U盘
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_42

制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_43

制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_44

制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_45

制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_46

制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_47

制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_48
hd1被map到/dev/sda上面去了
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_49
下面修改下/boot/grub/grub.conf
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_50
三处地方更改为(hd0,1)
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_51
保存退出重启计算机。
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_52
启动后这里Relabeling会花一点时间。
制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_53

制作CentOS 6.4 U盘启动安装盘_centos 启动盘 U盘_54

That's all!