制作 ESXi 5.1 的USB闪存"引导安装"盘
1 准备工作
linux 系统 //我这里是Ubuntu 12.04
U盘一个 //8GB kingston
ESXi ISO文件 //vmware 官网下载 VMware-VMvisor-Installer-5.1.0-799733.x86_64.iso,XXXXXX为内部版本号
2. 为U盘创建分区表
fdisk /dev/sdb
"d" 删除全部分区
"n" 创建遍及整个磁盘的主分区1
"t" 设置文件系统为FAT32(LBA),代码为"c"
"a" 设置主分区1的Boot标记
"p" 打印分区表
结果应类似下表:
Disk /dev/sdb: 8076 MB, 80761322352 bytes
186 heads, 28 sectors/track, 3028 cylinders
Units = cylinders of 5208 * 512 = 2666496 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 3029 7885824 c W95 FAT32 (LBA)
"w" 写入分区表并退出
注意:如有疑问可以参考最后的 fdisk 详细过程。
3. 使用FAT32文件系统格式化U盘
mkfs.vfat -F 32 -n ESXi /dev/sdb1
4. 安装syslinux并写入MBR
syslinux /dev/sdb1
cat /usr/lib/syslinux/mbr.bin > /dev/sdb
5. 挂载U盘
mount /dev/sdb1 /mnt/usb
6. 挂载ESXi安装程序ISO镜像
mount -o loop VMware-VMvisor-Installer-5.1.0-799733.x86_64.iso /mnt/iso
7. 将ISO镜像的内容复制到U盘
cp -r /mnt/iso/* /mnt/usb/
8. 将isolinux.cfg文件重命名为syslinux.cfg
mv /mnt/usb/isolinux.cfg /mnt/usb/syslinux.cfg
9. 编辑syslinux.cfg 文件
vim /mnt/usb/syslinux.cfg
在/mnt/usb/syslinux.cfg 文件中,将APPEND -c boot.cfg 一行更改为 APPEND -c boot.cfg -p 1。
10. 拷贝一个新的menu.c32文件到U盘,覆盖原来的文件
cp /usr/lib/syslinux/menu.c32 /mnt/usb/
注意:这步并不在VMware vSphere官方手册 中,如没有此步骤,引导时会出现“menu.c32: not a COM32R image”这样的错误。
11. 卸载U盘
umount /mnt/usb
12. 卸载ISO镜像
umount /mnt/iso
完工:现在U盘可以引导安装ESXi 5.1 了
fdisk 详细过程,注意红色字
fdisk /dev/sdb
Command (m for help): p
Disk /dev/sdb: 8166 MB, 8166703104 bytes
64 heads, 32 sectors/track, 7788 cylinders, total 15950592 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4bd294d1
Device Boot Start End Blocks Id System
/dev/sdb1 * 0 3311615 1655808 17 Hidden HPFS/NTFS
Command (m for help): d
Selected partition 1
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-15950591, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-15950591, default 15950591):
Using default value 15950591
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): c
Changed system type of partition 1 to c (W95 FAT32 (LBA))
Command (m for help): a
Partition number (1-4): 1
Command (m for help): p
Disk /dev/sdb: 8166 MB, 8166703104 bytes
64 heads, 32 sectors/track, 7788 cylinders, total 15950592 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4bd294d1
Device Boot Start End Blocks Id System
/dev/sdb1 * 2048 15950591 7974272 c W95 FAT32 (LBA)
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.