「ESXi」- 制作USB启动(源自官方文档)

更新日期:2019年11月06日

内容简介

本文将介绍如何制作ESXi的USB启动盘。

注意事项

本文内容源自对官方文档的整理,具体细节请参考官方「Format a USB Flash Drive to Boot the ESXi Installation or Upgrade」文档。

在用于引导的U盘中,不能包含ks.cfg文件(该文件包含安装脚本)。

前提条件

1)、具有root权限的Linux主机(我们使用Debian发行版)。
2)、可以被Linux主机识别的USB启动盘。
3)、ESXi的ISO镜像,VMware-VMvisor-Installer-6.0.0-2494585.x86_64.iso,该镜像包含了isolinux.cfg文件
4)、在Linux中已安装syslinux包。

开始制作


# 找到USB存储设备

将U盘插入Linux主机中,并找到该U盘。在我们的场景中是/dev/sdc设备。

# 删除旧分区,创建新分区

该步骤的主要目的是删除所有旧分区,创建一个新分区,将类型设置为FAT32文件系统,将active标志设置为1即可,最后保存。

如果使用fdisk命令,则大致操作过程如下(不再详细展开):

# fdisk /dev/sdc
Enter 「d」 to delete partitions until they are all deleted.
Enter 「n」 to create a primary partition 1 that extends over the entire disk.
Enter 「t」 to set the type to an appropriate setting for the FAT32 file system, such as c.
Enter 「a」 to set the active flag on partition 1.
Enter 「p」 to print the partition table.
Enter 「w」 to write the partition table and exit the program.

# 创建新文件系统

#!/bin/sh

mkfs.vfat -F 32 -n VMWARE-VMVISOR-INSTALLER-6.0 /dev/sdc1

# 写入syslinux引导程序

#!/bin/sh

syslinux /dev/sdc1
cat /usr/lib/SYSLINUX/mbr.bin > /dev/sdc

# 我们使用Debian发行版,如果使用CentOS发行版,则上述命令可能会有所不同。

# 复制安装文件到USB驱动

#!/bin/sh

mkdir /usbdisk
mount /dev/sdc1 /usbdisk

mkdir /esxi_cdrom
mount -o loop /path/to/VMware-VMvisor-Installer-6.x.x-XXXXXX.x86_64.iso /esxi_cdrom

cp -vr /esxi_cdrom/* /usbdisk

# 创建syslinux.cfg文件

#!/bin/sh

mv -v /usbdisk/isolinux.cfg /usbdisk/syslinux.cfg

sed -i 's/APPEND -c boot.cfg/APPEND -c boot.cfg -p 1/g' /usbdisk/syslinux.cfg

# 清理工作

#!/bin/sh

umount /usbdisk
umount /esxi_cdrom

rm -rf -v /usbdisk /esxi_cdrom

# 启动测试

最后,可以使用制作完成的USB启动盘进行测试了,已确保它可以正常启动。

问题描述


# Failed to load COM32 file menu.c32


问题描述:
在某些PC上从USB启动时,会遇到如下错误:

SYSLINUX 6.04 EDD 20190226 Copyright (C) 1994-2015 H. Peter Anvin et al
Fail to load COM32 file menu.c32
boot: 

但是某些PC是正常的。

问题原因:
暂未解决。这并不是一个要紧的问题,所以我也没有进行任何解决方案查找。

参考文献



Backlinks: 00.INDEX

ToC

内容简介

注意事项

前提条件

开始制作

# 找到USB存储设备

# 删除旧分区,创建新分区

# 创建新文件系统

# 写入syslinux引导程序

# 复制安装文件到USB驱动

# 创建syslinux.cfg文件

# 清理工作

# 启动测试

问题描述

# Failed to load COM32 file menu.c32

参考文献