はじめに
この手順はApple社が認めているものではありません。
またVMware社が公式に認めているものでもありません。行う場合は自己責任でお願いいたします。
経緯
Mac OSはApple社が公式に販売しているハード以外で動作させることを認めておらず、VMwareのWorkstationなどはMac OSの仮想環境を構築することはできない。
※Apple社のソフトウェア使用許諾上認められていない。
ESXi6環境のホームラボの環境が厳しく、特に「おうちKubernetes」が厳しくなってきたので、増設することにした。
構成
VMware Compatibility Guideによると、MacMini 2018はESXi7.0b以降で(内蔵SSDが利用できない、Thunderbolt 3デバイスはSSDなど一部のデバイスのみ対応、といった)一部機能制限はあるが対応している。
MacMini 2014, 2012などの過去のデバイスであれば制限はない。
ちなみにそれぞれMac 8,1やMac7,1といった型番が設定されているがどれがどの端末であるかはAppleのサイトに確認方法が用意されている。
M1 MacMiniは9,1のようだ。
用意したもの
種別 | デバイス | 年式 | CPU | メモリ | OS |
---|
作業PC | MacBook Pro 13-inch | 2016 | Intel Core i5 2.9GHz | 8GB | Big Sur (11.1) |
インストール先 | Mac Mini 2018 | 2018 | Intel Core i3 3.6GHz | 64GB | Catalina (10.15.7) |
ブート用USB(&ESXiインストール先) Buffalo 16GB
USBデバイスは稼働中はずっと差しっぱなしになるデバイスのため、容量よりもできるだけ小さいものを選ぶのが良い。8GBあれば足りるはず。
つい先日、Mac Mini の内蔵SSDが認識できるベータ版がflingsに登録されたらしいが、とりあえずはVMwareからダウンロードできるISOだけで行う(=内蔵SSDが認識されない状態で構築する)
ブート可能なUSBディスクをMac (OSX Big Sur)で作成する
Windowsから作成するときはRufusというアプリが定番のようだが、Macから作成するためにコマンドでブータブルUSBを作成する。
全体的にVIRTUALLYWIREDを参考にさせてもらった。
</div>
</div>
</div>
<div class="embed-footer">
<a href="https://virtuallywired.io" target="_blank">
<img src="https://www.google.com/s2/favicons?domain=virtuallywired.io" alt="" title="ページが見つかりませんでした" class="favicon">
https://virtuallywired.io
</a>
</div>
</div>
</div>
USBをMacに接続し、マウントポイントを確認する
今回は /dev/disk2 として認識されているUSBを利用する。外部デバイスは (external, physical) として認識されるようだ
※Install macOS Big Sur となっているのは、年末にOSアップデートに失敗して文鎮になってしまい、復旧のために作成したMac OSインストール用途USBだからです。
接続されているUSBをMS-DOS(FAT32)で初期化する
※事故防止のため、以下のコマンドは#を冒頭に伏してコメントモードにしています。自分の環境ではdisk#->disk2に置き換えます
1
| #diskutil eraseDisk MS-DOS "ESXI" MBR disk#
|
くれぐれもディスクIDを間違えないように注意。
コマンドからUSBをアンマウントする
物理的には接続解除はしない。この後作業するため、再度前ステップと同じマウントポイントを指定すること。
1
| diskutil unmountDisk /dev/disk2
|
USBにパーティションを作成する 要:管理者権限
1
| sudo fdisk -e /dev/disk#
|
パーティション1を作成(f 1)し、書き込み(write)、終了する(quite)
1
2
3
| > f 1
> write
> quite
|
ESXiのインストールISOをマウントし、中身をUSBディスクにコピーする
展開したファイルを全てUSBにペーストする。コピーアンドペーストで良い。
ダウンロードしたファイルが破損していないかをを確認するためには、sha256チェックを行うと良い。
1
| shasum -a 256 <FILE_PATH>
|
USB上のISOLINUX.CFG を SYSLINUX.CFG にリネームし編集する
SYSLINUX.CFGを編集する。OS標準のノートアプリなどを利用するのはNG。
今回はVSCodeを利用する
1
| code /Volumes/ESXI/SYSLINUX.CFG
|
以下、設定変更内容
1
2
3
4
5
6
7
8
9
10
11
12
13
| >diff -u /Volumes/ESXI-7.0B-16324942-STANDARD/ISOLINUX.CFG /Volumes/ESXI/SYSLINUX.CFG
--- /Volumes/ESXI-7.0B-16324942-STANDARD/ISOLINUX.CFG 2020-06-03 02:28:32.000000000 +0900
+++ /Volumes/ESXI/SYSLINUX.CFG 2021-02-19 18:14:32.000000000 +0900
@@ -5,7 +5,7 @@
TIMEOUT 80
LABEL install
KERNEL mboot.c32
- APPEND -c boot.cfg
+ APPEND -c boot.cfg -p 1
MENU LABEL ESXi-7.0b-16324942-standard ^Installer
LABEL hddboot
LOCALBOOT 0x80
|
自動インストール対応
ESXiの自動インストール対応を行う。
1
| code /Volumes/ESXI/BOOT.CFG
|
以下のような設定にする
1
2
3
4
5
6
7
8
9
| ❯ diff -u /Volumes/ESXI-7.0B-16324942-STANDARD/BOOT.CFG /Volumes/ESXI/BOOT.CFG
--- /Volumes/ESXI-7.0B-16324942-STANDARD/BOOT.CFG 2020-06-03 02:28:32.000000000 +0900
+++ /Volumes/ESXI/BOOT.CFG 2021-02-19 22:03:48.000000000 +0900
@@ -3,7 +3,7 @@
timeout=5
prefix=
kernel=/b.b00
-kernelopt=cdromBoot runweasel
+kernelopt=ks=usb:/KS.CFG
|
上記ESXiインストールガイドに記載されているが、ファイルパスを大文字にしないといけない。
スクリプトのパスを入力するには、大文字を使用する必要があります。
参考:ESXi のインストールとセットアップ VMware Docs
KS.CFGの設定内容は以下を参考にさせていただいた。
インストール前にOSXの起動設定を変更する
ここまで来るとあとはUSBメモリを指してブートオプションからUSBデバイスでブートするだけ。の認識だったのだが、ESXiを利用する前提でキーボード・マウスを用意していなかったので、Mac Mini のブートオプションを変えられないという痛恨のミスがあった(笑)
さらには別の端末のマウスとキーボードを利用してブートオプションを変えたものの、USBデバイスの中に入っているはずのESXiを起動できないことが発生し、少し悩んだ。
結論から言うと、こちらのページで紹介されているT2チップのセキュアブートの設定がデフォルトでONになっているため、「command」+「R」キーを押しながら電源をオンにすして、復元ボリュームを起動し、起動セキュリティユーティリティから、「安全な起動」を「セキュリティなし」に、「外部起動」を「外部メディアからの起動を許可」してあげる必要があった。
この設定はスクリーンショットが取れない(OS起動前の画面なのでディスプレイを撮影するしかない)ので、細かな手順は以下のAsciiのサイトを参考にするのが良い。
新MacBook Proシリーズが搭載するApple T2チップは、内蔵SSDの瞬時暗号化やセキュアブートなどの機能を提供している。その詳細を見ていこう。
これらの設定を変更した上で再度USBデバイスから起動すると、無事にESXiがインストールできているはず。