---
layout: post
title: 通过 U 盘安装 VMware ESXi 5.5 的过程及其注意事项
date: '2014-10-02 13:29'
updated: '2014-10-11 10:00'
comments: true
published: true
description: "本文记录了安装 VMware ESXi 5.5 的过程,并记录了安装过程中遇到的问题和应该注意的事项。"
excerpt: "本文记录了安装 VMware ESXi 5.5 的过程,并记录了安装过程中遇到的问题和应该注意的事项。"
categories: [software]
tags: [VMware, vSphere, ESXi, ESXi-Customizer, Realtek, 虚拟化]
url: '/2014/install-vmware-esxi-from-usb-drive/'
snapshot: '/wp-content/uploads/2014/esxi.jpg'
---
VMware vSphere Hypervisor 是可供小型企业或个人免费使用的虚拟化产品。VMware ESXi 是其重要的组成部分,是一个安装在裸机上的虚拟机管理软件。
可以在 VMware 官网注册并免费下载该软件,通常是一个 ISO 文件,例如当前版本是 `VMware-VMvisor-Installer-5.5.0.update01-1623387.x86_64.iso`。将该文件刻录到 CD 或者 DVD,然后就可以使用该 CD 或 DVD 驱动引导系统,安装 VMware ESXi 了。这种方式通常都比较简单,这里不再赘述。
本文主要介绍如何制作一个可启动的 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 安装和设置》][vmware-installation-setup-guide]中的[格式化 USB 闪存驱动器以引导 ESXi 安装或升级][format-usb-drive]章节。
### 先决条件
- 准备 Linux 系统,笔者使用的是 CentOS 6.2。
- 确保 Linux 中安装了 `syslinux` 软件包, VMware ESXi 5.5 需要使用 syslinux 版本 3.86 来制作启动 U 盘。笔者直接使用 `yum install syslinux` 来安装 syslinux 软件包,其版本其实是 4.x,这将导致一个问题,在后面会详述。
- 确保 Linux 中包含格式化 fat32 (mkfs.vfat 命令) 的软件,需要 `dosfstools` 软件包,在 CentOS 中执行 `yum install dosfstools` 即可安装。
### 步骤
1. 如果您的 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`。
1. 在 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 写入分区表并退出。
1. 使用 Fat32 文件系统格式化 USB 闪存驱动器。
```
/sbin/mkfs.vfat -F 32 -n USB /dev/sdb1
```
1. 运行下列命令(注意命令参数,一个是 `sdb1`,一个是 `sdb`)。
```
syslinux /dev/sdb1
cat /usr/share/syslinux/mbr.bin > /dev/sdb
```
1. 挂载 USB 闪存驱动器。
```
mkdir /usbdisk
mount /dev/sdb1 /usbdisk
```
1. 挂载 ESXi 安装程序 ISO 映像。
```
mkdir /esxi_cdrom
mount -o loop VMware-VMvisor-Installer-5.x.x-XXXXXX.x86_64.iso /esxi_cdrom
```
1. 将 ISO 映像的内容复制到 `/usbdisk`。
```
cp -r /esxi_cdrom/* /usbdisk
```
1. 将 `isolinux.cfg` 文件重命名为 `syslinux.cfg`。
```
mv /usbdisk/isolinux.cfg /usbdisk/syslinux.cfg
```
1. 在 `/usbdisk/syslinux.cfg` 文件中,将 `APPEND -c boot.cfg` 一行更改为 `APPEND -c boot.cfg -p 1`。
1. 将 Linux 系统中的 syslinux 下的 `menu.c32` 文件复制到 `/usbdisk`(当前 Linux 中安装的 syslinux 版本不是 **3.86** 时需要执行该步骤,否则跳过该步)。
```
cp /usr/share/syslinux/menu.c32 /usbdisk
```
1. 卸载 USB 闪存驱动器。
```
umount /usbdisk
```
1. 卸载安装程序 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 版本的。
## 安装过程
只要制作的引导 U 盘没有问题,安装过程就极为简单。
图文安装过程,可浏览这里。
## 注意事项
硬件配置必须满足最低条件,否则安装过程会终止。最基本的需求是,必须 4GB 以上内存,必须有一个以上 ESXi 默认支持的网卡。详见官方文档[硬件需求][hardware-requirements]章节。
比如,台式机上常用的网卡 Realtek 8168, Realtek 8169, Realtek 8139 等就在默认不支持的行列(据说在 ESXi 5.5 之前的版本中是包含这些驱动的),即 VMware ESXi 5.5 的默认安装包中不包含这些网卡的驱动,在安装过程中也就找不到相应的网卡。
此时,我们就需要定制自己的 ISO,将相应的网卡驱动打进自己的 ISO 包中。
步骤相对比较简单:
1. 下载工具 [ESXi-Customizer](http://www.v-front.de/p/esxi-customizer.html#download),这个工具专门用于修改 ESXi 的 ISO 包。
2. 获取 Realtek 网卡的驱动程序文件,这些文件是 VIB 格式的,可以从 ESXi 5.5 之前版本的 ISO 中解压提取出来,也可以通过以下链接下载(zip文件请解压)。
* Realtek 8168,8111e: [下载地址1][r8168-link1],[下载地址2][r8168-link2]
* Realtek 8169: [下载地址1][r8169-link1],[下载地址2][r8169-link2]
3. 打开 ESXi-Customizer,分别选择原始 ESXi 5.5 ISO 文件,网卡驱动 VIB 文件和将要生成的 ISO 保存路径,点击运行即可。如图。
![ESXi-Customizer](/wp-content/uploads/2014/ESXi-Customizer_ESXi-5.5.0_r8168.jpg)
4. 使用新生成的自定义 ISO 文件制作启动盘即可(U 盘,CD, DVD)。如果已经通过前面的步骤制作好了可引导的 U 盘,只需要将新 ISO 包中的所有文件再次复制覆盖到 U 盘即可(**注意:不要覆盖 menu.c32 文件**)。
## Update 2014-10-07
1. 在 Windows XP/2003 x86 上安装 VMware vSphere Client 5.5 无法连接 ESXi 5.5 服务器的问题。
出现该问题的原因是新版本 vSphere Cient 中增强了加密强度,而 Windows XP 和 Windows Server 2003 未能达到所需加密强度,64 位的 Windows Server 2003 可以通过安装修复补丁来解决,补丁下载链接 。而对于 32 位的 Windows Server 2003 和 Windows XP 没有相应的补丁,只能升级操作系统,或者采取以下的方式解决:
通过 SSH 客户端登录到 ESXi 主机(必须先开启主机的 SSH 服务,参考下一条),修改文件 `/etc/vmware/rhttpproxy/config.xml`。在 `vmacore/ssl` 节点插入内容 `ALL`。
```xml
...
...
...
ALL
...
...
```
然后保存修改,执行以下命令重启服务:
```shell
/etc/init.d/rhttpproxy restart
```
当然,稳妥的做法是在修改文件前先备份。
1. 开启 ESXi 5.5 主机的 SSH 服务。
登录 vSphere Client,选择要管理的 ESXi 主机,点击`配置`标签页,在左边的菜单中选择`安全配置文件`。
点击 `服务` 的属性按钮,在列表中选择 `SSH`,再点击`选项`按钮,在出来的界面中选择`与主机一起启动或停止`,并点击`启动`按钮立即启动主机的 `SSH` 服务。
点击 `防火墙` 的属性按钮,在 `SSH 服务器` 前打勾,这样就在主机防火墙了开启了 SSH 服务的端口。
## Update 2014-10-11
vSphere Client 和 vSphere PowerCLI 可能无法连接到 vCenter Server 5.5,并出现握手错误
安装在 Windows XP 或 Windows Server 2003 主机上之后,vSphere Client 和 vSphere PowerCLI 可能无法连接到 vCenter Server 5.5,并出现握手错误。vSphere 5.5 使用 Open SSL 库,为安全起见,该库会默认配置为仅接受使用强密码套件的连接。在 Windows XP 或 Windows Server 2003 上,vSphere Client 和 vSphere PowerCLI 不使用强密码套件来连接 vCenter Server。服务器端会出现错误 没有匹配的密码套件 (No matching cipher suite),并在 vSphere Client 或 vSphere PowerCLI 端出现握手错误。
解决办法:执行下列操作之一。
* 对于 Windows Server 2003 或 64 位 Windows XP,应用适用于您的平台的 Microsoft 修补程序:
* x64 平台: [351403_ENU_x64_zip.exe](http://hotfixv4.microsoft.com/Windows%20Server%202003/sp3/Fix192447/3790/free/351403_ENU_x64_zip.exe)
* ia64 平台: [351397_ENU_ia64_zip.exe](http://hotfixv4.microsoft.com/Windows%20Server%202003/sp3/Fix192447/3790/free/351397_ENU_ia64_zip.exe)
* i386 平台: [351385_ENU_i386_zip.exe](http://hotfixv4.microsoft.com/Windows%20Server%202003/sp3/Fix192447/3790/free/351385_ENU_i386_zip.exe)
* 对于 Windows XP 32 位、Windows XP 64 位或 Windows Server 2003,请执行下列操作之一。
在主机上安装 vSphere Client 或 vSphere PowerCLI 之前,将 Windows 操作系统升级到 Windows Vista 或更高版本。
在 vCenter Server 主机上,通过允许服务器使用弱密码套件进行通信来降低隐含安全性。为此,请在 vCenter Server vpxd.cfg文件中加入以下内容:
```xml
...
...
...
ALL
...
...
...
```
更多请参考[官方文档](http://www.vmware.com/cn/support/support-resources/pubs/vsphere-esxi-vcenter-server-pubs/vsphere-vcenter-server-55u2-release-notes.html#installupgradeissues)。
## 相关资源
* [VMware vSphere Hypervisor 5.5 下载](https://my.vmware.com/cn/web/vmware/evalcenter?p=free-esxi5&lp=default)
* [VMware vSphere 5.5 文档中心](http://pubs.vmware.com/vsphere-55/index.jsp)
* [VMware vSphere 5.5 PDF文档下载](http://pubs.vmware.com/vsphere-55/topic/com.vmware.ICbase/PDF/ic_pdf.html)
[vmware-installation-setup-guide]: http://pubs.vmware.com/vsphere-55/topic/com.vmware.vsphere.install.doc/GUID-7C9A1E23-7FCD-4295-9CB1-C932F2423C63.html
[format-usb-drive]: http://pubs.vmware.com/vsphere-55/topic/com.vmware.vsphere.install.doc/GUID-33C3E7D5-20D0-4F84-B2E3-5CD33D32EAA8.html
[hardware-requirements]: http://pubs.vmware.com/vsphere-55/topic/com.vmware.vsphere.install.doc/GUID-DEB8086A-306B-4239-BF76-E354679202FC.html
[r8168-link1]: https://www.dropbox.com/s/pfw5pjowb5nuqdb/VMware_bootbank_net-r8168_8.013.00-3vmw.510.0.0.799733.vib
[r8168-link2]: http://dev-random.net/wp-content/uploads/2014/01/VMware_bootbank_net-r8168+r8111e.zip
[r8169-link1]: https://www.dropbox.com/s/vr4ftwoewk9c5lt/VMware_bootbank_net-r8169_6.011.00-2vmw.510.0.0.799733.vib
[r8169-link2]: http://dev-random.net/wp-content/uploads/2014/01/VMware_bootbank_net-r8169.zip