您可以格式化 USB 闪存驱动器以引导 ESXi 安装或升级。

此过程中的说明假设 USB 闪存驱动器被检测为 /dev/sdb

注: 包含安装脚本的 ks.cfg 文件不能位于引导安装或升级所使用的同一个 USB 闪存驱动器上。

前提条件

  • 超级用户可以访问的 Linux 计算机
  • Linux 计算机可以检测到的 USB 闪存驱动器
  • ESXi ISO 映像 VMware-VMvisor-Installer-version_number-build_number.x86_64.iso,其中包括 isolinux.cfg 文件
  • Syslinux 3.86 软件包。其他版本可能与 ESXi 不兼容。

过程

  1. 使用 susudo root 命令引导 Linux,登录并进入超级用户模式。
  2. 如果您的 USB 闪存驱动器未检测为 /dev/sdb,或者您不确定 USB 闪存驱动器是如何检测到的,请先确定该闪存驱动器的检测方式。
    1. 插入 USB 闪存驱动器。
    2. 在命令行中,运行以下命令以显示当前日志消息。
      tail -f /var/log/messages
      可以看到以类似以下消息格式显示的标识 USB 闪存驱动器的若干条消息。
      Oct 25 13:25:23 ubuntu kernel: [ 712.447080] sd 3:0:0:0: [sdb] Attached SCSI removable disk

      在此示例中,sdb 用于标识 USB 设备。如果您设备的标识方式与此不同,请使用该标识替换 sdb

  3. 在 USB 闪存驱动器上创建分区表。
    /sbin/fdisk /dev/sdb
    或者,输入 o 以创建新的空 DOS 分区表。
    1. 输入 d 删除分区,直至删除所有分区。
    2. 输入 n 创建遍及整个磁盘的主分区 1。
    3. 输入 t 将 FAT32 文件系统的类型设置为适当的设置,如 c
    4. 输入 a 在分区 1 上设置活动标记。
    5. 输入 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)
    6. 输入 w 写入分区表并退出程序。
  4. 使用 FAT32 文件系统格式化 USB 闪存驱动器。
    /sbin/mkfs.vfat -F 32 -n USB /dev/sdb1
  5. 在 USB 闪存驱动器上安装 Syslinux 引导加载程序。
    Syslinux 可执行文件和 mbr.bin 文件的位置可能因 Syslinux 版本而异。默认使用以下命令。
    /usr/bin/syslinux /dev/sdb1
    cat /usr/lib/syslinux/mbr/mbr.bin > /dev/sdb

    例如,您可以下载 syslinux-3.86.zip 的副本,解压缩存档,按照其说明编译 syslinux 源代码,随后如果从下载的目录中运行 syslinux 安装,则可以使用以下命令:

    cd ~/Downloads/syslinux-3.86
    .mtools/syslinux /dev/sdb1
    cat mbr/mbr.bin > /dev/sdb
  6. 创建一个目标目录并向其挂载 USB 闪存驱动器。
    mkdir /usbdisk
    mount /dev/sdb1 /usbdisk
  7. 创建一个源目录并向其挂载 ESXi 安装程序 ISO 映像。
    mkdir /esxi_cdrom 
    mount -o loop VMware-VMvisor-Installer-version_number-build_number.x86_64.iso /esxi_cdrom
  8. 将 ISO 映像的内容复制到 USB 闪存驱动器。
    cp -r /esxi_cdrom/* /usbdisk
  9. isolinux.cfg 文件重命名为 syslinux.cfg
    mv /usbdisk/isolinux.cfg /usbdisk/syslinux.cfg
  10. usbdisk/syslinux.cfg 文件中,将 APPEND -c boot.cfg 行编辑为 APPEND -c boot.cfg -p 1 以确保引导加载程序从您在步骤 3 中创建的第一个分区读取文件。分区号可能不同,具体取决于 USB 设备的布局。
  11. 卸载 USB 闪存驱动器。
    umount /usbdisk
  12. 卸载安装程序 ISO 映像。
    umount /esxi_cdrom

结果

您可以使用 USB 闪存驱动器引导 ESXi 安装程序。