本文主要介绍如何制作一个可启动的 U 盘,并通过该 U 盘引导启动安装 VMware ESXi。 制作可引导的 USB 驱动器 为什么这个过程还值得写下来?因为笔者在这里遇到很多问题,搜索了很多资料,才顺利的做好一个可以引导安装的 U 盘。
首先,在 Windows 下使用 UltraISO 软件制作的可启动 U 盘是无法启动安装的,开机即显示 Initial menu has no LABEL entries!,搜索显示这个跟什么 syslinux 有关。其次,在 Windows 下下载 syslinux 包制作启动 U 盘,仍然无法引导,试过 syslinux 6.x 和 4.x 版本,总有这样那样的问题。最后,老老实实回到官方文档上所使用的 Linux 系统来制作启动盘,才终于成功安装。
以下过程主要参考官方文档《vSphere 安装和设置》中的格式化 USB 闪存驱动器以引导 ESXi 安装或升级章节。
一、先决条件 1.准备 Linux 系统,我使用的是 CentOS 6.7 2.确保 Linux 中安装了 syslinux 软件包, VMware ESXi 6.0 需要使用 syslinux 版本 3.86 来制作启动 U 盘。笔者直接使用 yum install syslinux 来安装 syslinux 软件包,其版本其实是 4.x,这将导致一个问题,在后面会详述。 3.确保 Linux 中包含格式化 fat32 (mkfs.vfat 命令) 的软件,需要 dosfstools 软件包,在 CentOS 中执行 yum install dosfstools 即可安装。
二、步骤 如果您的 USB 闪存驱动器未检测为 /dev/sdb,或者您不确定 USB 闪存驱动器是如何检测到的,请确定该闪存驱动器的检测方式。
在终端窗口中,运行以下命令。
tail -f /var/log/messages
该命令将在终端窗口中显示当前日志消息。插入 USB 闪存驱动器。该终端窗口将以类似如下消息的格式显示标识 USB 闪存驱动器的若干条消息。
Sep 25 13:25:23 linux kernel:[ 712.447080] sd 3:0:0:0:[sdb] Attached SCSI removable disk
在此示例中,[sdb] 用于标识 USB 设备。如果您设备的标识方式与此不同,则会使用您设备的标识方式(不带方括号)来替换此处的 sdb。
在 USB 闪存驱动器上创建分区表。
/sbin/fdisk /dev/sdb
键入 d 删除分区,直至将其全部删除。
键入 n 创建遍及整个磁盘的主分区 1。
键入 t 将 FAT32 文件系统的类型设置为适当的设置,选则 c。
键入 a 在分区 1 上设置活动标记。
键入 p 打印分区表。结果应类似于以下文本:
Disk /dev/sdb:2004 MB, 2004877312 bytes 255 heads, 63 sectors/track, 243 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 243 1951866 c W95 FAT32 (LBA)
键入 w 写入分区表并退出。
使用 Fat32 文件系统格式化 USB 闪存驱动器。 /sbin/mkfs.vfat -F 32 -n USB /dev/sdb1
运行下列命令(注意命令参数,一个是 sdb1,一个是 sdb)。 syslinux /dev/sdb1 cat /usr/share/syslinux/mbr.bin > /dev/sdb
挂载 USB 闪存驱动器。 mkdir /usbdisk mount /dev/sdb1 /usbdisk
挂载 ESXi 安装程序 ISO 映像。 mkdir /esxi_cdrom mount -o loop VMware-VMvisor-Installer-5.x.x-XXXXXX.x86_64.iso /esxi_cdrom
将 ISO 映像的内容复制到 /usbdisk。 cp -r /esxi_cdrom/* /usbdisk
将 isolinux.cfg 文件重命名为 syslinux.cfg。 mv /usbdisk/isolinux.cfg /usbdisk/syslinux.cfg
在 /usbdisk/syslinux.cfg 文件中,将 APPEND -c boot.cfg 一行更改为 APPEND -c boot.cfg -p 1。
将 Linux 系统中的 syslinux 下的 menu.c32 文件复制到 /usbdisk(当前 Linux 中安装的 syslinux 版本不是 3.86 时需要执行该步骤,否则跳过该步)。 cp /usr/share/syslinux/menu.c32 /usbdisk
卸载 USB 闪存驱动器。 umount /usbdisk
卸载安装程序 ISO 映像。 umount /esxi_cdrom 现在,USB 闪存驱动器可以引导 ESXi 安装程序了。
注意: 从第 5 步开始,以下的步骤都可以在 Windows 环境下完成,总结起来就是把 ISO 包中的内容全部复制到 U 盘,然后将 isolinux.cfg 文件重命名为 syslinux.cfg,然后修改 syslinux.cfg 的内容,将 APPEND -c boot.cfg 一行更改为 APPEND -c boot.cfg -p 1 使用 syslinux 4.x 制作的 U 盘,如果不执行第 10 步,在启动时会报错 menu.c32 not a com32r image。因为 ISO 包中自带的 menu.c32 文件是 syslinux 3.86 版本的。

发表评论