可以格式化 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 软件包

过程

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

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

  2. 在 USB 闪存驱动器上创建分区表。
    /sbin/fdisk /dev/sdb
    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 写入分区表并退出程序。
  3. 使用 Fat32 文件系统格式化 USB 闪存驱动器。
    /sbin/mkfs.vfat -F 32 -n USB /dev/sdb1
  4. 在 USB 闪存驱动器上安装 Syslinux 引导加载程序。
    Syslinux 可执行文件和 mbr.bin 文件的位置可能因 Syslinux 版本而异。例如,如果下载的是 Syslinux 6.02,请运行以下命令。
    /usr/bin/syslinux /dev/sdb1
    cat /usr/lib/syslinux/mbr/mbr.bin > /dev/sdb
  5. 创建一个目标目录并向其挂载 USB 闪存驱动器。
    mkdir /usbdisk
    mount /dev/sdb1 /usbdisk
  6. 创建一个目标目录并向其挂载 ESXi 安装程序 ISO 映像。
    mkdir /esxi_cdrom
    mount -o loop VMware-VMvisor-Installer-6.x.x-XXXXXX.x86_64.iso /esxi_cdrom
  7. 将 ISO 映像的内容复制到 USB 闪存驱动器。
    cp -r /esxi_cdrom/* /usbdisk
  8. isolinux.cfg 文件重命名为 syslinux.cfg
    mv /usbdisk/isolinux.cfg /usbdisk/syslinux.cfg
  9. 在 /usbdisk/syslinux.cfg 文件中,将 APPEND -c boot.cfg 一行改为 APPEND -c boot.cfg -p 1
  10. 卸载 USB 闪存驱动器。
    umount /usbdisk
  11. 卸载安装程序 ISO 映像。
    umount /esxi_cdrom

结果

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