自然の赴くままに・そのときの 気分次第で・なんとなく

興味を持ったことを、なんとなく気の向くまま書いています。

VMware Workstation 22H2 (Build 20486661 / 2022/09/22 Tech Preview) の登場

vmx ファイルをごにょごにょしないで Windows 11 をインストールすることができるVMware Workstation 22H2 (Build 20486661 / 2022/09/22 Tech Preview) が公開されました。

最新の VMware Workstation 22H2 (Build 20486661 / 2022/09/22 Tech Preview) で変わったこと

特にひとつ前のバージョンと機能的に追加や削除されるものはありませんが、今までのバージョンではメッセージが英語のままだったりしていたものがすべて日本語になっています。
例えば暗号化情報の画面が日本語になり、わかりやすくなっています。

暗号化情報

また、PC の起動時にユーザーが指定した仮想マシンを順番を指定して起動できる機能の画面も日本語化されました。

仮想マシンの電源操作を設定

その他の画面でも日本語も問題ないレベルになってきたと見えますので、いよいよリリース?かなと期待しています。

このビルドで定義されているゲスト OS は?

実際にサポートされるかどうかはわかりませんが、このビルドでサポートされている ゲスト OS は 137 ありました。以下がリストです。

Linux AlmaLinux 64 ビット
  Amazon Linux 2
  Amazon Linux 3 以降 (64 ビット)
  AlmaLinux 64 ビット ARM
  Debian 64 ビット ARM
  FreeBSD 13 64 ビット ARM
  FreeBSD 14 64 ビット ARM
  Linux 5.x 64 ビット ARM
  Linux 6.x 以降 64 ビット ARM
  64 ビット OS ARM
  VMware Photon OS 64 ビット ARM
  Red Hat Enterprise Linux 9 (64 ビット) ARM
  Rocky Linux 64 ビット ARM
  Ubuntu 64 ビット ARM
  Ubuntu
  Ubuntu 64 ビット
  CentOS バージョン 5 以前
  CentOS 6
  CentOS 6 64 ビット
  CentOS 7 64 ビット
  CentOS 8 (64 ビット)
  CentOS 9 (64 ビット)
  CentOS バージョン 5 以前 64 ビット
  Debian
  Debian 64 ビット
  Oracle Linux バージョン 5 以前
  Oracle Linux 6
  Oracle Linux 6 64 ビット
  Oracle Linux 7 64 ビット
  Oracle Linux 8 (64 ビット)
  Oracle Linux 9 (64 ビット)
  Oracle Linux バージョン 5 以前 64 ビット
  VMware Photon OS 64 ビット
  Red Hat エンタープライズ Linux
  Red Hat Enterprise Linux 64 ビット版
  Red Hat Enterprise Linux 9 (64 ビット)
  Rocky Linux 64 ビット
  Linux 2.4.x
  Linux 2.4.x 64 ビット
  Linux 2.6.x
  Linux 2.6.x 64 ビット
  Linux 3.x
  Linux 3.x 64 ビット
  Linux 4.x
  Linux 4.x (64 ビット)
  Linux 5.x
  Linux 5.x 64 ビット
  Linux 6.x 以降
  Linux 6.x 以降 64 ビット
  Linux Mint (64 ビット)
Vmware ESXi VMware ESXi 7 ARM
  VMware ESXi 8 以降 ARM
  VMware ESX/ESXi 4.x
  VMware ESXi 5.x
  VMware ESXi 6.0
  VMware ESXi 6.x
  VMware ESXi 7
  VMware ESXi 8 以降
Vmware CRX VMware CRX Pod 1.0 (64 ビット)
  VMware CRX Sys 1.0 (64 ビット)
Max OS Mac OS X Server 10.6 32 ビット
  Mac OS X Server 10.6
  Mac OS X 10.7 32 ビット
  Mac OS X 10.7
  OS X 10.8
  OS X 10.9
  OS X 10.10
  OS X 10.11
  macOS 10.12
  macOS 10.13
  macOS 10.14
  macOS 10.15
  macOS 11
  macOS 12
  macOS 13
  macOS 14
  Mac OS X Server 10.5 32 ビット
  Mac OS X Server 10.5
FreeBSD FreeBSD バージョン 10 以前
  FreeBSD 11
  FreeBSD 11 64 ビット
  FreeBSD 12
  FreeBSD 12 (64 ビット)
  FreeBSD 13
  FreeBSD 13 (64 ビット)
  FreeBSD 14
  FreeBSD 14 64 ビット
  FreeBSD バージョン 10 以前 64 ビット
Windows Windows 11 64 ビット ARM
  Windows 10 64 ビット ARM
  Windows 12 64 ビット ARM
  Hyper-V
  Windows Vista
  Windows Vista 64 ビット
  Windows Server 2008 R2
  Windows Server 2016
  Windows Server 2019
  Windows Server 2022
  Windows Server 2025
  Windows Server 2000
  Windows 3.1
  Windows 95
  Windows 98
  Windows 8.x
  Windows Server 2012
  Windows 8.x 64 ビット
  Windows 11 64 ビット
  Windows Millenium Edition
  Windows NT
  Windows Server 2003
  Windows Server 2003 64 ビット
  Windows 7
  Windows 7 64 ビット
  Windows 10
  Windows 10 64 ビット
  Windows 12 64 ビット
  Windows XP
  Windows XP Professional 64 ビット
  Windows Server 2008
  Windows Server 2008 64 ビット
MS-DOS MS-DOS
その他 Novell NetWare 4
  Novell NetWare 5
  Novell NetWare 6
  OS/2
  SCO Open Server 5/6
  Sun Solaris 10
  Sun Solaris 10 64 ビット
  Oracle Solaris 11 64 ビット
  Sun Solaris 6/7
  Sun Solaris 8
  Sun Solaris 9
  SCO Unixware 7
  不明
  32 ビット OS
  64 ビット OS
  すべて

面白いのは Arm がいくつか定義されているところで、いずれは Arm エディションも出るのかなと期待してしまいます。また、定義されていてもゲスト OS の選択に出てこないのがありますが、これは今後サポートするのかも気になるところです。

VMware Workstation 22H2 (Build 20486661 / 2022/09/22 Tech Preview) のダウンロードは

こちら(VMware Workstation Public Tech Preview 22H2)から入手することができます。

Build 20486661 / 2022/09/22 Tech Preview

VMware Workstation 22H2 をテストする

こちらに「VMware Workstation 22H2 Testing Guide」が公開されていますので、それに従いいろいろテストをしてみてください。

communities.vmware.com

新しい機能やゲスト OS 、早く使ってみたいものです。

VMware Workstation Pro / Player と Hyper-V の同居はできる? / ネストはできる?

先日の 2022年 8月 VMUG で「vExpert が語る  第18回 LT」の登壇ネタ、「VMware Workstation 16 Pro / Player で使う Windows 11」の中の「VMware Workstation をWindows 11 で使う」で話した内容をまとめました。

VMware Workstation Pro / Player をWindows 11 で使うには

現在提供されている VMware Workstation 16.2 Pro / Player を使えば、何も悩むことなく使うことができます。また、それ以前のバージョンでも VMware Workstation 15.5 Pro / Player 以降であれば問題なく利用できます。

では、VMware Workstation 15.1 Pro / Player 以前のバージョンではどうでしょうか。実は条件によって VMware Workstation Pro / Player のインストールができても、仮想マシンを動かすことができない場合が出てきます。この記事ではそれを説明したいと思います。

VMware Workstation Pro / Player の仕組み

VMware Workstation Pro / Player を動かすには、vSphere とは異なりホスト OS が必要になります。

Workstation Pro / Player と vSphere の違い

上の図を見ていただくとわかるのですが、VMware Workstation Pro / Player 上で仮想マシンを動かすためには、仮想マシン内のアプリケーションは仮想マシンの仮想ハードウエアにゲストOS経由で命令を出します。それを VMware Workstation Pro / Player が受け取ってホスト OS が理解できる形に変換し ホスト OS に対して命令を伝達、ホスト OS はその命令をハードウエアに出すという形をとります。命令の結果はその逆順を通って仮想マシン内のアプリケーションに伝わるので、オーバーヘッドが非常に大きくなるというのが理解できるかと思います。この方法ではリソースを効率よく使うことができません。vSphere ではこの OS の部分をハイパーバイザーである vSphere が代替することで、中間にワンクッションある命令の変換をなくしリソースを効率的に使えるようにするとともに、オーバーヘッドを小さくすることができます。VMware Infrastructure 3 まではこの処理をすべてソフトウエアで行っていましたので、VMware Workstation や VMware GSX Server のようなホスト OS が必要な仕組みよりはオーバーヘッドは少なかったのですが、リソース特に CPU パワーをまだまだ有効に使うことができませんでした。そこで VMware Infrastructure 3.5 からは命令をハードウエアに肩代わりしてもらう機能を活用することになります。それにより、今の vSphere のようなオーバーヘッドがほぼないハイパーバイザーになっていったのですが、VMware Workstation Pro / Player ではホスト OS があるのでそのようなことができません。でも幸いなことに Windows では直接ハードウエアを操作する API などが用意されていたため、VMware Workstation 15.1 Pro / Player 以前のバージョンではそれを活用することで、オーバーヘッドを減らしパフォーマンスの向上を図ることができていました。

物理 PC にインストールされた 15.1 以前の VMware Workstation Pro / Player の動作イメージ

境目は Windows 10 20H1 ビルド 19041.264 以降

Windows 10 から クライアント OS でも正式に Hyper-V が利用できるようになりました。Windows 11 ではフレッシュインストールではデフォルトで Hyper-V がオンに、Windows 10 からのアップグレードではオフになっていますが、以下のように後から簡単にインストールができるようになっています。

Hyper-V のインストール

※メーカーの Windows 11 PC では、メーカーの都合で Hyper-V がオフになっているものもあるかもしれません。その場合でも、上の手順で簡単に Hyper-V を有効にすることができます。(Windows 11 Home ではこの手順ではできません。でも、コマンド操作が必要ですが Hyper-V を有効にすることはできます。)

この Hyper-V が曲者で、Hyper-V が有効になったホスト OS では Windows のセキュリティ強化の機能 Virtualization Based Security (VBS)も有効になり、この影響で直接ハードウエアに対して API で命令を出すことができなくなりました。つまり、VMware Workstation 15.1 Pro / Player 以前のバージョンでは、ハードウエアに対して命令を伝達することができなくなりました。

VBS による影響 (VSM 仮想マシンの中で VSM の各機能が動作)

Virtualization Based Security (VBS) は何をするの?

VBS は Windows オペレーティングシステムHyper-V から独立した Virtual Secure Module (VSM) と呼ばれる仮想マシンにより機能が提供され、Local Security Authority (LSA)、Virtual Trusted Platform Module (VTPM)、Hypervisor-Enforced Code Integrity (HVCI) などのチェックと情報の管理を行っています。

VBS と VSM

同時に使えるよう VMware はどのような対処をしたの?

この課題に対して VMwareVMware Workstation Pro / Player の改修を行い、VBS が有効な状態(つまり Hyper-V がオンな状態)でも VMware Workstation Pro / Player を動作できるようにしました。このバージョンが 15.5 で、それ以降の VMware Workstation Pro / Player では、Hyper-V が動作している Windows 10 / Windows 11 でも動作ができるようになりました。具体的には WBS を通過できるように Windows Hypervisor Platform (WHP) API を使うように VMware Workstation Pro / Player の改修を行い、VMware Workstation Pro / Player は特権モードでの動作を一切せずにすべてユーザーモードで動作するようにしました。これにより、Windows 側の仮想化環境(Windows Hypervisor Platform)が変わっても WHP API を守っている限り問題なく動作できるようになりました。

15.1 までと 15.5 以降

Hyper-V 上で VMware Workstation が使えるのはどの仮想ハードウエアバージョン?

Windows 10 / 11 の Hyper-V が動作している環境で VMware Workstation Pro  / Player の仮想マシンを動かす場合、仮想ハードウエアバージョンも対応している必要があります。Hyper-V が動いている環境に使える仮想ハードウエアバージョン 16 以降が必須です。現在販売されている VMware Workstation 16 Pro / Player (16.2) では仮想ハードウエアバージョン は 18 なので問題ありませんが、古い仮想マシンをそのまま Hyper-V が動いている Windows 上の VMware Workstation Pro  / Player にコピーまたは移動して使う場合は、仮想ハードウエアバージョンを適宜アップグレードしてください。下表の赤字が対応しているバージョンです。

仮想ハードウエア
バージョン
対応する Workstation
Pro バージョン
対応する Workstation
Player バージョン
対応する
config バージョン
20 2022H2 2022H2 8
19 8
18 16.2
16
16.2
16
8
17 8
16 15.x 15.x 8
15 8
14 14.x 14.x 8
13 8
12 12.x 12.x 8
11 11.x 7.x 8
10 10.x 6.x 8
9 9.x 5.x 8
8 8.x 4.x 8
7 7.x
6.5x
3.x 8
6 6.0x 8
5 2.x 8
4 5.x 1.x 8 ※4
3 4.x 7
2 3.x 6

1
※1

※2

2.x
VMware 2.0 for Linux, VMware 2.0 for Windows NT and 2000
2
1
※1
※3
VMware 1.1 for LinuxVMware 1.0 for Windows NT and 2000 1

※1 仮想ハードウエアバージョンの記述がないが、最初の仮想ハードウエアなので便宜上 1とした。

※2 仮想ハードウエアのバージョン上げずに拡張するために config.version を使用している。

※3 仮想ハードウエアバージョン(virtualHW.version)及び config.version の記述なし
※4 これ以降は  config.version を使わず仮想ハードウエアバージョンを上げていくようになった。

ちなみに、VMware Workstation Pro / Player に存在しない仮想ハードウエアバージョンは、ESX / ESXi だけのバージョンになります。

使用している PC で Hyper-V がオンになっているかどうかを知るには

Hyper-V 上で動作することが保証されている 15.5 以降の場合、インストール時に以下のダイアログが出て、必要な機能が追加されます。

VMware Workstation インストール時に表示される WHP と VBS のメッセージ

既に VMware Workstation Pro / Player をインストール済みの場合は、「スタート」 → 「Windows ツール」 → 「システム情報」の中の「仮想化ベースのセキュリティ」で確認することができます。

仮想化ベースのセキュリティ

Hyper-V を有効にした VMware Workstation 上の 仮想マシンHyper-V をネストできるの?

今までの Hyper-V が動いていない Windows 上の VMware Workstation Pro / Player では、Hyper-V や ESXi などをネストして動かすことができました。これは Hyper-V が動作している Windows 上の VMware Workstation Pro / Player でも、仮想マシンの設定を一部変えることで、ネストさせることは可能です。

Hyper-V のネスト

うまく動かないときは

以下のダイアログが出て仮想マシンが起動しない場合、仮想マシンの設定を変えてください。

Intel VT-x/EPT 関連で動かない

変える場所は一つ、上のダイアログのメッセージに書かれている部分になります。具体的には以下の部分です。

仮想化エンジンの設定変更

Windows 11 仮想マシンが動かないときは(インストールできない、起動しない)

以下の記事を参考に .vmx ファイルを編集してください。

imaisato.hatenablog.jp

具体的には 

managedvm.autoAddVTPM = "software"

を追記するだけでインストールも起動もできるようになります。もう少しすれば現在パブリックベータの VMware Workstation 22H2 (Build 20200310 / 2022/07/28 Tech Preview が正式版になり Windows 11 もサポート対象になるので、それまで待つということもあります。それについては以下の記事を参考にしてください。

imaisato.hatenablog.jp

 

 

 

VMware Workstation Pro / Player でごにょごにょしないで Windows 11 をインストールするには?

VMware Workstation Pro / Player 上で WIndows 11 を使いたい

VMware Workstation Pro  / Player で Windows 11 を使うためには、仮想マシンを作成した後にこの記事に書きましたが .vmx ファイルを編集し、「managedvm.autoAddVTPM = "software"」を追記する必要がありました。

imaisato.hatenablog.jp

でも、もうすぐ .vmx ファイルを編集せずに Windows 11 を入れられるようになります。

Windows 11 に対応した VMware Workstation Pro / Player 

実は現在テックプレビューで公開されている VMware Workstation 22H2 (Build 20200310 / 2022/07/28 Tech Preview) から Windows 11 が正式にサポートされるようになっています。つまり .vmx ファイルを編集しなくても Windows 11 仮想マシンを簡単に作れるようになるわけです。

Windows 11 のサポート

VMware Workstation 22H2 (Build 20200310 / 2022/07/28 Tech Preview) はどこ

こちら(VMware Workstation Public Tech Preview 22H2)から入手することができます。

Build 20200310 / 2022/07/28 Tech Preview

VMware Workstation 22H2 をテストするには

こちらに「VMware Workstation 22H2 Testing Guide」が公開されています。

communities.vmware.com

何かあったときのお助け部屋は

VMware Workstation 22H2 (Build 20200310 / 2022/07/28 Tech Preview) はあくまでもテックプレビュー版なので、問題が発生した時や発見した時はある程度自分で解決していく必要があります。でも、VMware Workstation 22H2 専用のコミュニティーが用意されていますので、そちらで助けを求めたり不具合を報告したりすることはできます。回答などはベストエフォートですが、いろいろな情報を得ることができます。

communities.vmware.com

VMware Workstation 22H2 で Windows 11 が使える仮想マシンの仮想ハードウエアバージョンは

こちらは VMware Workstation 22H2 および vSphere 8 用に用意された 仮想ハードウエアバージョン 20 以降が必須です。現在販売されている VMware Workstation 16 Pro / Player (16.2) では仮想ハードウエアバージョン は 18 です。2つバージョンが上がることになります。

ちなみに、VMware Workstation Pro / Player に存在しない仮想ハードウエアバージョンは、ESX / ESXi だけのバージョンになります。

仮想ハードウエア
バージョン
対応する Workstation
Pro バージョン
対応する Workstation
Player バージョン
対応する
config バージョン
20 2022H2 2022H2 8
19 8
18 16.2
16
16.2
16
8
17 8
16 15.x 15.x 8
15 8
14 14.x 14.x 8
13 8
12 12.x 12.x 8
11 11.x 7.x 8
10 10.x 6.x 8
9 9.x 5.x 8
8 8.x 4.x 8
7 7.x
6.5x
3.x 8
6 6.0x 8
5 2.x 8
4 5.x 1.x 8 ※4
3 4.x 7
2 3.x 6

1
※1

※2

2.x
VMware 2.0 for Linux, VMware 2.0 for Windows NT and 2000
2
1
※1
※3
VMware 1.1 for LinuxVMware 1.0 for Windows NT and 2000 1

※1 仮想ハードウエアバージョンの記述がないが、最初の仮想ハードウエアなので便宜上 1とした。

※2 仮想ハードウエアのバージョン上げずに拡張するために config.version を使用している。

※3 仮想ハードウエアバージョン(virtualHW.version)及び config.version の記述なし
※4 これ以降は  config.version を使わず仮想ハードウエアバージョンを上げていくようになった。

 

.vmx ファイルはどのように変わっていくの?

VMware仮想マシンは .vmx ファイルによって定義されています。この .vmx ファイルは仮想マシンの動作に応じて適宜書き換えられていきます。今回は .vmx ファイルの中身のパラメーターの説明ではなく、VMware(R) Workstation Technology Preview 22H2 Pro e.x.p build-20200310 を使い Windows 11 のインストールをする際にどのように変わっていくかを見てみます。

まず Windows 11 の仮想マシンを作る

.vmx の変化を見るためには新規に仮想マシンを作るところから始めます。「新しい仮想マシン ウイザード」から「標準(T) (推奨)」を選択し、ゲスト OS のインストールも「インストーラ ディスク イメージ ファイル(M) (iso)」を選んでその他もすべてデフォルトのままの仮想マシンを作ります。

Windows 11 x64 のデフォルトで作成される構成

これにより、初期状態の稼働前の仮想マシンの .vmx ファイルが作成されます。

作成したばかりの .vmx の情報 (一部 * でマスクや<文字列>で置き換えしています)

作成したばかりの仮想マシンでは、いくつかのこの仮想マシン独自の情報(encryptedVM.guid, encryption.keySafe, encryption.data)以外は仮想マシンとして動くために その OS に必要と設定された情報のみしかありません。

.encoding = "Shift_JIS"
config.version = "8"
virtualHW.version = "20"
mks.enable3d = "TRUE"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
vmci0.present = "TRUE"
hpet0.present = "TRUE"
nvram = "Windows 11 x64.nvram"
virtualHW.productCompatibility = "hosted"
powerType.powerOff = "soft"
powerType.powerOn = "soft"
powerType.suspend = "soft"
powerType.reset = "soft"
displayName = "Windows 11 x64"
usb.vbluetooth.startConnected = "TRUE"
firmware = "efi"
sensor.accelerometer = "pass-through"
sensor.ambientLight = "pass-through"
sensor.compass = "pass-through"
sensor.gyrometer = "pass-through"
sensor.inclinometer = "pass-through"
sensor.location = "pass-through"
sensor.orientation = "pass-through"
guestOS = "windows11-64"
touchscreen.vusb.present = "TRUE"
tools.syncTime = "FALSE"
sound.autoDetect = "TRUE"
sound.virtualDev = "hdaudio"
sound.fileName = "-1"
sound.present = "TRUE"
numvcpus = "2"
cpuid.coresPerSocket = "1"
memsize = "4096"
mem.hotadd = "TRUE"
sata0.present = "TRUE"
nvme0.present = "TRUE"
nvme0:0.fileName = "Windows 11 x64.vmdk"
nvme0:0.present = "TRUE"
sata0:1.deviceType = "cdrom-image"
sata0:1.fileName = "<iso イメージの場所>"
sata0:1.present = "TRUE"
usb.present = "TRUE"
ehci.present = "TRUE"
usb_xhci.present = "TRUE"
svga.graphicsMemoryKB = "8388608"
ethernet0.connectionType = "nat"
ethernet0.addressType = "generated"
ethernet0.virtualDev = "e1000"
serial0.fileType = "thinprint"
serial0.fileName = "thinprint"
ethernet0.present = "TRUE"
serial0.present = "TRUE"
extendedConfigFile = "Windows 11 x64.vmxf"
floppy0.present = "FALSE"
vmx.encryptionType = "partial"
encryptedVM.guid = "{<暗号化された仮想マシンの GUID>}"
vtpm.ekCSR = "<vTPM の CSR>"
vtpm.ekCRT = "<vTPM の CRT>"
vtpm.present = "TRUE"
encryption.keySafe = "<暗号化キー>"
encryption.data = "<暗号化データ>"

今回作成する仮想マシンは Windows 11 なので、仮想マシンのディスクの暗号化や TPM が必須になっています。そのため仮想マシンを作成した時点で encryptedVM.guid, encryption.keySafe, encryption.data が設定されています。仮想マシン作成しに入力した暗号化のパスワードは保存されませんので、忘れてしまったら二度と暗号化は解除できなくなります。

Windows 11 をインストール中の .vmx の情報 (一部 * でマスクや<文字列>で置き換えしています)

Windows 11 のインストールが始まると必要な情報の追記や不要な情報の削除が行われます。実際のファイルは以下のように変わります。オレンジ色の部分が追記された箇所になります。

.encoding = "Shift_JIS".encoding = "Shift_JIS"
config.version = "8"
virtualHW.version = "20"
mks.enable3d = "TRUE"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
vmci0.present = "TRUE"
hpet0.present = "TRUE"
nvram = "Windows 11 x64.nvram"
virtualHW.productCompatibility = "hosted"
powerType.powerOff = "soft"
powerType.powerOn = "soft"
powerType.suspend = "soft"
powerType.reset = "soft"
displayName = "Windows 11 x64"
usb.vbluetooth.startConnected = "TRUE"
firmware = "efi"
sensor.location = "pass-through"
guestOS = "windows11-64"
touchscreen.vusb.present = "TRUE"
tools.syncTime = "FALSE"
sound.autoDetect = "TRUE"
sound.virtualDev = "hdaudio"
sound.fileName = "-1"
sound.present = "TRUE"
numvcpus = "2"
cpuid.coresPerSocket = "1"
memsize = "4096"
mem.hotadd = "TRUE"
sata0.present = "TRUE"
nvme0.present = "TRUE"
nvme0:0.fileName = "Windows 11 x64.vmdk"
nvme0:0.present = "TRUE"
sata0:1.deviceType = "cdrom-image"
sata0:1.fileName = "<iso イメージの場所>"
sata0:1.present = "TRUE"
usb.present = "TRUE"
ehci.present = "TRUE"
usb_xhci.present = "TRUE"
svga.graphicsMemoryKB = "8388608"
ethernet0.connectionType = "nat"
ethernet0.addressType = "generated"
ethernet0.virtualDev = "e1000"
serial0.fileType = "thinprint"
serial0.fileName = "thinprint"
ethernet0.present = "TRUE"
serial0.present = "TRUE"
extendedConfigFile = "Windows 11 x64.vmxf"
floppy0.present = "FALSE"
vmx.encryptionType = "partial"
encryptedVM.guid = "{<暗号化された仮想マシンの GUID>}"
vtpm.ekCSR = "<vTPM の CSR>"
vtpm.ekCRT = "<vTPM の CRT>"
vtpm.present = "TRUE"
vmxstats.filename = "Windows 11 x64.scoreboard"
numa.autosize.cookie = "20012"
numa.autosize.vcpu.maxPerVirtualNode = "2"
uuid.bios = "<uuid.bios のデータ>"
uuid.location = "<uuid ロケーションのデータ>"
vm.genid = "<vm.genID>"
vm.genidX = "<vm.genIDX>"
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
usb.pciSlotNumber = "32"
ethernet0.pciSlotNumber = "33"
sound.pciSlotNumber = "34"
ehci.pciSlotNumber = "35"
usb_xhci.pciSlotNumber = "160"
sata0.pciSlotNumber = "36"
nvme0.pciSlotNumber = "192"
nvme0:0.redo = ""
svga.vramSize = "268435456"
vmotion.checkpointFBSize = "134217728"
vmotion.checkpointSVGAPrimarySize = "268435456"
vmotion.svga.mobMaxSize = "1073741824"
vmotion.svga.graphicsMemoryKB = "8388608"
vmotion.svga.supports3D = "1"
vmotion.svga.baseCapsLevel = "9"
vmotion.svga.maxPointSize = "1"
vmotion.svga.maxTextureSize = "16384"
vmotion.svga.maxVolumeExtent = "2048"
vmotion.svga.maxTextureAnisotropy = "16"
vmotion.svga.lineStipple = "0"
vmotion.svga.dxMaxConstantBuffers = "14"
vmotion.svga.dxProvokingVertex = "0"
vmotion.svga.sm41 = "1"
vmotion.svga.multisample2x = "1"
vmotion.svga.multisample4x = "1"
vmotion.svga.msFullQuality = "1"
vmotion.svga.logicOps = "1"
vmotion.svga.bc67 = "9"
vmotion.svga.sm5 = "1"
vmotion.svga.multisample8x = "1"
vmotion.svga.logicBlendOps = "1"
vmotion.svga.maxForcedSampleCount = "16"
vmotion.svga.gl43 = "1"
ethernet0.generatedAddress = "<MAC アドレス>"
ethernet0.generatedAddressOffset = "0"
vmci0.id = "1976789622"
monitor.phys_bits_used = "45"
cleanShutdown = "FALSE"
softPowerOff = "FALSE"
usb_xhci:4.present = "TRUE"
usb_xhci:4.deviceType = "hid"
usb_xhci:4.port = "4"
usb_xhci:4.parent = "-1"
usb_xhci:6.speed = "2"
usb_xhci:6.present = "TRUE"
usb_xhci:6.deviceType = "hub"
usb_xhci:6.port = "6"
usb_xhci:6.parent = "-1"
usb_xhci:7.speed = "4"
usb_xhci:7.present = "TRUE"
usb_xhci:7.deviceType = "hub"
usb_xhci:7.port = "7"
usb_xhci:7.parent = "-1"
usb:1.speed = "2"
usb:1.present = "TRUE"
usb:1.deviceType = "hub"
usb:1.port = "1"
usb:1.parent = "-1"
encryption.keySafe = "<暗号化キー>"
encryption.data = "<暗号化データ>"

削除された情報は以下の通りです。

sensor.accelerometer = "pass-through"
sensor.ambientLight = "pass-through"
sensor.compass = "pass-through"
sensor.gyrometer = "pass-through"
sensor.inclinometer = "pass-through"
sensor.orientation = "pass-through"

Windows 11 をインストール後の .vmx の情報 (一部 * でマスクや<文字列>で置き換えしています)

Windows 11 のインストールが終わると次に必要な処理の準備が行われます。ここで行われているのは VMware Tools をインストールする際に使用する CD-ROM ドライブの設定を退避し、VMware Tools の iso イメージをマウントしている点です。つまり、VMware Tools をインストールするための準備が行われていることがわかります。この状態では画面下方に以下のメッセージが表示されます。

VMware Tools

実際のファイルは以下のように変わります。オレンジ色の部分が追記された箇所になります。

.encoding = "Shift_JIS"
config.version = "8"
virtualHW.version = "20"
mks.enable3d = "TRUE"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
vmci0.present = "TRUE"
hpet0.present = "TRUE"
nvram = "Windows 11 x64.nvram"
virtualHW.productCompatibility = "hosted"
powerType.powerOff = "soft"
powerType.powerOn = "soft"
powerType.suspend = "soft"
powerType.reset = "soft"
displayName = "Windows 11 x64"
usb.vbluetooth.startConnected = "TRUE"
firmware = "efi"
sensor.location = "pass-through"
guestOS = "windows11-64"
touchscreen.vusb.present = "TRUE"
tools.syncTime = "FALSE"
sound.autoDetect = "TRUE"
sound.virtualDev = "hdaudio"
sound.fileName = "-1"
sound.present = "TRUE"
numvcpus = "2"
cpuid.coresPerSocket = "1"
memsize = "4096"
mem.hotadd = "TRUE"
sata0.present = "TRUE"
nvme0.present = "TRUE"
nvme0:0.fileName = "Windows 11 x64.vmdk"
nvme0:0.present = "TRUE"
sata0:1.deviceType = "cdrom-image"
sata0:1.fileName = "C:\Program Files (x86)\VMware\VMware Workstation\windows.iso"
sata0:1.present = "TRUE"
usb.present = "TRUE"
ehci.present = "TRUE"
usb_xhci.present = "TRUE"
svga.graphicsMemoryKB = "8388608"
ethernet0.connectionType = "nat"
ethernet0.addressType = "generated"
ethernet0.virtualDev = "e1000"
serial0.fileType = "thinprint"
serial0.fileName = "thinprint"
ethernet0.present = "TRUE"
serial0.present = "TRUE"
extendedConfigFile = "Windows 11 x64.vmxf"
floppy0.present = "FALSE"
vmx.encryptionType = "partial"
encryptedVM.guid = "{<暗号化された仮想マシンの GUID>}"
encryptedVM.guid = "{<暗号化された仮想マシンの GUID>}"
vtpm.ekCSR = "<vTPM の CSR>"
vtpm.ekCRT = "<vTPM の CRT>"
vtpm.present = "TRUE"
tools.upgrade.policy = "useGlobal"
vmxstats.filename = "Windows 11 x64.scoreboard"
numa.autosize.cookie = "20012"
numa.autosize.vcpu.maxPerVirtualNode = "2"
uuid.bios = "<uuid.bios のデータ>"
uuid.location = "<uuid ロケーションのデータ>"
vm.genid = "<vm.genID>"
vm.genidX = "<vm.genIDX>"
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
usb.pciSlotNumber = "32"
ethernet0.pciSlotNumber = "33"
sound.pciSlotNumber = "34"
ehci.pciSlotNumber = "35"
usb_xhci.pciSlotNumber = "160"
sata0.pciSlotNumber = "36"
nvme0.pciSlotNumber = "192"
nvme0:0.redo = ""
svga.vramSize = "268435456"
vmotion.checkpointFBSize = "134217728"
vmotion.checkpointSVGAPrimarySize = "268435456"
vmotion.svga.mobMaxSize = "1073741824"
vmotion.svga.graphicsMemoryKB = "8388608"
vmotion.svga.supports3D = "1"
vmotion.svga.baseCapsLevel = "9"
vmotion.svga.maxPointSize = "1"
vmotion.svga.maxTextureSize = "16384"
vmotion.svga.maxVolumeExtent = "2048"
vmotion.svga.maxTextureAnisotropy = "16"
vmotion.svga.lineStipple = "0"
vmotion.svga.dxMaxConstantBuffers = "14"
vmotion.svga.dxProvokingVertex = "0"
vmotion.svga.sm41 = "1"
vmotion.svga.multisample2x = "1"
vmotion.svga.multisample4x = "1"
vmotion.svga.msFullQuality = "1"
vmotion.svga.logicOps = "1"
vmotion.svga.bc67 = "9"
vmotion.svga.sm5 = "1"
vmotion.svga.multisample8x = "1"
vmotion.svga.logicBlendOps = "1"
vmotion.svga.maxForcedSampleCount = "16"
vmotion.svga.gl43 = "1"
ethernet0.generatedAddress = "<MAC アドレス>"
ethernet0.generatedAddressOffset = "0"
vmci0.id = "1976789622"
monitor.phys_bits_used = "45"
cleanShutdown = "FALSE"
softPowerOff = "FALSE"
usb_xhci:4.present = "TRUE"
usb_xhci:4.deviceType = "hid"
usb_xhci:4.port = "4"
usb_xhci:4.parent = "-1"
usb_xhci:6.speed = "2"
usb_xhci:6.present = "TRUE"
usb_xhci:6.deviceType = "hub"
usb_xhci:6.port = "6"
usb_xhci:6.parent = "-1"
usb_xhci:7.speed = "4"
usb_xhci:7.present = "TRUE"
usb_xhci:7.deviceType = "hub"
usb_xhci:7.port = "7"
usb_xhci:7.parent = "-1"
usb:1.speed = "2"
usb:1.present = "TRUE"
usb:1.deviceType = "hub"
usb:1.port = "1"
usb:1.parent = "-1"
toolsInstall.origFileName = "<iso イメージの場所>"
toolsInstall.origType = "cdrom-image"
toolsInstall.origClientDevice = "FALSE"
sata0:1.startConnected = "FALSE"
toolsInstallManager.lastInstallError = "0"
encryption.keySafe = "<暗号化キー>"
encryption.data = "<暗号化データ>"

なお、ここ段階で削除された情報はありません。

VMware Tools をインストール後の .vmx の情報 (一部 * でマスクや<文字列>で置き換えしています)

VMware Tools のインストールが終わると VMware Tools インストールのために変更された情報が復元されます。そして VMware Tools インストールに必要な情報は削除され、代わりに VMware Tools が動作するのに必要な情報が追記されます。

実際のファイルは以下のように変わります。オレンジ色の部分が追記された箇所になります。

.encoding = "Shift_JIS"
config.version = "8"
virtualHW.version = "20"
mks.enable3d = "TRUE"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
vmci0.present = "TRUE"
hpet0.present = "TRUE"
nvram = "Windows 11 x64.nvram"
virtualHW.productCompatibility = "hosted"
powerType.powerOff = "soft"
powerType.powerOn = "soft"
powerType.suspend = "soft"
powerType.reset = "soft"
displayName = "Windows 11 x64"
usb.vbluetooth.startConnected = "TRUE"
firmware = "efi"
sensor.location = "pass-through"
guestOS = "windows11-64"
touchscreen.vusb.present = "TRUE"
tools.syncTime = "FALSE"
sound.autoDetect = "TRUE"
sound.virtualDev = "hdaudio"
sound.fileName = "-1"
sound.present = "TRUE"
numvcpus = "2"
cpuid.coresPerSocket = "1"
memsize = "4096"
mem.hotadd = "TRUE"
sata0.present = "TRUE"
nvme0.present = "TRUE"
nvme0:0.fileName = "Windows 11 x64.vmdk"
nvme0:0.present = "TRUE"
sata0:1.deviceType = "cdrom-image"
sata0:1.fileName = "<iso イメージの場所>"
sata0:1.present = "TRUE"
usb.present = "TRUE"
ehci.present = "TRUE"
usb_xhci.present = "TRUE"
svga.graphicsMemoryKB = "8388608"
ethernet0.connectionType = "nat"
ethernet0.addressType = "generated"
ethernet0.virtualDev = "e1000"
serial0.fileType = "thinprint"
serial0.fileName = "thinprint"
ethernet0.present = "TRUE"
serial0.present = "TRUE"
extendedConfigFile = "Windows 11 x64.vmxf"
floppy0.present = "FALSE"
vmx.encryptionType = "partial"
encryptedVM.guid = "{<暗号化された仮想マシンの GUID>}"
encryptedVM.guid = "{<暗号化された仮想マシンの GUID>}"
vtpm.ekCSR = "<vTPM の CSR>"
vtpm.ekCRT = "<vTPM の CRT>"
vtpm.present = "TRUE"
tools.upgrade.policy = "useGlobal"
vmxstats.filename = "Windows 11 x64.scoreboard"
numa.autosize.cookie = "20012"
numa.autosize.vcpu.maxPerVirtualNode = "2"
uuid.bios = "<uuid.bios のデータ>"
uuid.location = "<uuid ロケーションのデータ>"
vm.genid = "<vm.genID>"
vm.genidX = "<vm.genIDX>"
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
usb.pciSlotNumber = "32"
ethernet0.pciSlotNumber = "33"
sound.pciSlotNumber = "34"
ehci.pciSlotNumber = "35"
usb_xhci.pciSlotNumber = "160"
sata0.pciSlotNumber = "36"
nvme0.pciSlotNumber = "192"
nvme0:0.redo = ""
svga.vramSize = "268435456"
vmotion.checkpointFBSize = "134217728"
vmotion.checkpointSVGAPrimarySize = "268435456"
vmotion.svga.mobMaxSize = "1073741824"
vmotion.svga.graphicsMemoryKB = "8388608"
vmotion.svga.supports3D = "1"
vmotion.svga.baseCapsLevel = "9"
vmotion.svga.maxPointSize = "1"
vmotion.svga.maxTextureSize = "16384"
vmotion.svga.maxVolumeExtent = "2048"
vmotion.svga.maxTextureAnisotropy = "16"
vmotion.svga.lineStipple = "0"
vmotion.svga.dxMaxConstantBuffers = "14"
vmotion.svga.dxProvokingVertex = "0"
vmotion.svga.sm41 = "1"
vmotion.svga.multisample2x = "1"
vmotion.svga.multisample4x = "1"
vmotion.svga.msFullQuality = "1"
vmotion.svga.logicOps = "1"
vmotion.svga.bc67 = "9"
vmotion.svga.sm5 = "1"
vmotion.svga.multisample8x = "1"
vmotion.svga.logicBlendOps = "1"
vmotion.svga.maxForcedSampleCount = "16"
vmotion.svga.gl43 = "1"
ethernet0.generatedAddress = "<MAC アドレス>"
ethernet0.generatedAddressOffset = "0"
vmci0.id = "1976789622"
monitor.phys_bits_used = "45"
cleanShutdown = "FALSE"
softPowerOff = "FALSE"
usb_xhci:4.present = "TRUE"
usb_xhci:4.deviceType = "hid"
usb_xhci:4.port = "4"
usb_xhci:4.parent = "-1"
usb_xhci:6.speed = "2"
usb_xhci:6.present = "TRUE"
usb_xhci:6.deviceType = "hub"
usb_xhci:6.port = "6"
usb_xhci:6.parent = "-1"
usb_xhci:7.speed = "4"
usb_xhci:7.present = "TRUE"
usb_xhci:7.deviceType = "hub"
usb_xhci:7.port = "7"
usb_xhci:7.parent = "-1"
usb:1.speed = "2"
usb:1.present = "TRUE"
usb:1.deviceType = "hub"
usb:1.port = "1"
usb:1.parent = "-1"
sata0:1.startConnected = "TRUE"
toolsInstallManager.lastInstallError = "0"
svga.guestBackedPrimaryAware = "TRUE"
tools.remindInstall = "FALSE"
toolsInstallManager.updateCounter = "1"
guestInfo.detailed.data = "architecture='X86' bitness='64' buildNumber='22000' distroName='Windows' distroVersion='10.0' familyName='Windows' kernelVersion='22000.318' prettyName='Windows 11 Enterprise, 64-bit (Build 22000.318)'"
encryption.keySafe = "<暗号化キー>"
encryption.data = "<暗号化データ>"

このように、仮想マシンを作成し VMware Tools のインストールを完了するまででも .vmx ファイルは頻繁に書き換えられていきます。

その他として .vmx ファイルの中身への変更は、追記の場合はファイルのの最後でかつ encryption.keySafe と encryption.data の前に、変更データはその行そのままが編集されます。なので仮想マシンの変更を行って動作が変になったとかあったときは、その部分を見ていくのが良いかもしれません。

.vmx ファイルのパラメーターの説明は?

今回は書きませんが、そのうちにまとめて書いてみようと思っています。役に立つのはもしかしたら ESX / ESXi の仮想マシンの .vmx ファイルの説明かもしれませんが、現在は Workstation Pro / Player ユーザーなので、まずは Workstation Pro / Player の .vmx ファイルから書いていこうと思います。

おまけ

VMware(R) Workstation Technology Preview 22H2 Pro e.x.p build-20200310 に設定されているメッセージにあるゲスト OS の一覧です。これを選択することで .vmx の中のパラメータ guestOS が設定されるのですが、赤文字のように VMware Workstation Pro の情報として含まれているものの、実際の「ゲスト OS の選択」では出てこないものも存在します。その意図は不明ですが、将来サポートやサポート終了だけれど互換性のために残しているという感じかもしれません。(漏れはあるかもしれませんが、現時点での調査結果です。)

これらのゲスト OS を示す guestOS に設定する値もわかっているのですが今回は記載をしていません。いずれ一覧でまとめられればと思っています。

ARM

  • Windows 12 64 ビット ARM
  • Windows 11 64 ビット ARM
  • Windows 10 64 ビット ARM
  • AlmaLinux 64-bit Arm
  • Debian 12.x 64 ビット ARM
  • Debian 11.x 64 ビット ARM
  • Debian 10.x 64 ビット ARM
  • Debian 64 ビット ARM
  • Fedora 64 ビット ARM
  • FreeBSD 13 64 ビット ARM
  • FreeBSD 14 64 ビット ARM
  • Linux 5.x 64 ビット ARM
  • Linux 6.x 以降 64 ビット ARM
  • 64 ビット OS ARM
  • Red Hat Enterprise Linux 9 (64 ビット) ARM
  • Rocky Linux 64-bit Arm
  • VMware ESXi 8 以降 ARM
  • VMware ESXi 7 以降 ARM
  • arm-other-64

Microsoft Windows

  • Windows 12 64 ビット
  • Windows 11 64 ビット
  • Windows 10 ※メッセージはあるが表示されない
  • Windows 10 64 ビット
  • Windows 8.x 64 ビット
  • Windows 8.x
  • Windows 7 64 ビット
  • Windows 7
  • Windows Vista 64 ビット
  • Windows Vista
  • Windows XP Home ※英語メッセージをそのまま表示
  • Windows XP Professional 64 ビット
  • Windows XP ※メッセージはあるが表示されない 
  • Windows XP Professional ※英語メッセージをそのまま表示
  • Windows 2000 Professional ※英語メッセージをそのまま表示
  • Windows NT
  • Windows Server 2025
  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • Windows Server 2012
  • Hyper-V
  • Windows Server 2008 R2 x64 ※英語メッセージをそのまま表示
  • Windows Server 2008 64ビット
  • Windows Server 2008 
  • Windows Server 2003 64 ビット ※メッセージはあるが表示されない
  • Windows Server 2003 ※メッセージはあるが表示されない
  • Windows Server 2003 Standard x64 Edition ※英語メッセージをそのまま表示
  • Windows Server 2003 Standard Edition ※英語メッセージをそのまま表示
  • Windows Server 2003 Enterprise x64 Edition ※英語メッセージをそのまま表示
  • Windows Server 2003 Enterprise Edition ※英語メッセージをそのまま表示
  • Windows Server 2003 Small Business ※英語メッセージをそのまま表示
  • Windows Server 2003 Web Edition ※英語メッセージをそのまま表示
  • Windows Server 2000 ※メッセージはあるが表示されない
  • Windows 2000 Server  ※英語メッセージをそのまま表示
  • Windows 2000 Advanced Server ※英語メッセージをそのまま表示
  • Windows Millenium Edition ※メッセージはあるが表示されない
  • Windows Me ※英語メッセージをそのまま表示
  • Windows 98
  • Windows 95
  • Windows 3.1

Linux

  • AlmaLinux 64-bit 
  • Asianux 9 64 ビット
  • Asianux 8 64 ビット
  • Asianux 7 64 ビット
  • Asianux 4 64 ビット ※英語メッセージをそのまま表示
  • Asianux 4 64 ト ※英語メッセージをそのまま表示
  • Asianux 3 64 ビット ※英語メッセージではAsianux Server 3 -bit
  • Asianux Server 3 ※英語メッセージをそのまま表示
  • Amazon Linux 3 以降
  • Amazon Linux 2
  • CentOS 9 (64 ビット)
  • CentOS 8 (64 ビット)
  • CentOS 7 64 ビット
  • CentOS 6 64 ビット
  • CentOS 6
  • CentOS バージョン 5 以前 64 ビット
  • CentOS バージョン 5 以前
  • Debian 12.x 64 ビット
  • Debian 11.x 64 ビット
  • Debian 10.x 64 ビット ※英語メッセージをそのまま表示
  • Debian 10.x ビット ※英語メッセージをそのまま表示
  • Debian 9.x 64 ビット ※英語メッセージをそのまま表示
  • Debian 9.x ※英語メッセージをそのまま表示
  • Debian 8.x 64 ビット ※英語メッセージをそのまま表示
  • Debian 8.x ※英語メッセージをそのまま表示
  • Debian 7.x 64 ビット ※英語メッセージをそのまま表示
  • Debian 7.x ※英語メッセージをそのまま表示
  • Debian 6 64 ビット ※英語メッセージをそのまま表示
  • Debian 6 ※英語メッセージをそのまま表示
  • Debian 5 64 ビット ※英語メッセージをそのまま表示
  • Debian 5 ※英語メッセージをそのまま表示
  • Debian 64 ビット ※メッセージはあるが表示されない
  • Debian ※メッセージはあるが表示されない
  • Fedora 64 ビット ※英語メッセージをそのまま表示
  • Fedora
  • Mandriva Linux 64 ビット ※英語メッセージをそのまま表示
  • Mandriva Linux ※英語メッセージをそのまま表示
  • Novell Linux Desktop 9 ※英語メッセージをそのまま表示
  • Open SUSE 64 ビット ※英語メッセージをそのまま表示
  • Open SUSE ※英語メッセージをそのまま表示
  • Oracle Linux 9 (64 ビット)
  • Oracle Linux 8 (64 ビット)
  • Oracle Linux 7 64 ビット
  • Oracle Linux 6 64 ビット
  • Oracle Linux 6
  • Oracle Linux バージョン 5 以前 64 ビット
  • Oracle Linux バージョン 5 以前
  • Red Hat Enterprise Linux 9 (64 ビット)
  • Red Hat Enterprise Linux 8 (64 ビット)
  • Red Hat Enterprise Linux 7 64 ビット
  • Red Hat Enterprise Linux 6 64 ビット
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 5 64 ビット ※英語メッセージをそのまま表示
  • Red Hat Enterprise Linux 5 ※英語メッセージをそのまま表示
  • Red Hat Enterprise Linux 4 64 ビット ※英語メッセージをそのまま表示
  • Red Hat Enterprise Linux 4 ※英語メッセージをそのまま表示
  • Red Hat Enterprise Linux 3 64 ビット ※英語メッセージをそのまま表示
  • Red Hat Enterprise Linux 3 ※英語メッセージをそのまま表示
  • Red Hat Enterprise Linux 2 ※英語メッセージをそのまま表示
  • Red Hat Linux  ※英語メッセージをそのまま表示
  • Red Hat Enterprise Linux 64 ビット版 ※メッセージはあるが表示されない
  • Red Hat エンタープライズ Linux ※メッセージはあるが表示されない
  • Rocky Linux 64-bit
  • Sun Java Desktop System ※英語メッセージをそのまま表示
  • SUSE Linux Enterprise 15 (64 ビット) ※英語メッセージをそのまま表示
  • SUSE Linux Enterprise Server 12 64 ビット ※英語メッセージをそのまま表示
  • SUSE Linux Enterprise 11 64 ビット ※英語メッセージをそのまま表示
  • SUSE Linux Enterprise 11 ※英語メッセージをそのまま表示
  • SUSE Linux Enterprise 10 64 ビット ※英語メッセージをそのまま表示
  • SUSE Linux Enterprise 10 ※英語メッセージをそのまま表示
  • SUSE Linux Enterprise 7/8/9 64 ビット ※英語メッセージをそのまま表示
  • SUSE Linux Enterprise 7/8/9 ※英語メッセージをそのまま表示
  • SUSE Linux 64 ビット ※英語メッセージをそのまま表示
  • SUSE Linux ※英語メッセージをそのまま表示
  • Turbo Linux 64 ビット ※英語メッセージをそのまま表示
  • Turbo Linux ※英語メッセージをそのまま表示
  • Ubuntu 64 ビット ARM
  • Ubuntu 64 ビット ※英語メッセージをそのまま表示
  • Ubuntu ※英語メッセージをそのまま表示
  • VMware Photon OS 64 ビット ARM
  • VMware Photon OS 64 ビット
  • Linux 6.x 以降 64 ビット
  • Linux 6.x 以降
  • Linux 5.x 64 ビット ※先頭に「その他の」がついて表示される
  • Linux 5.x ※先頭に「その他の」がついて表示される
  • Linux 4.x (64 ビット) ※先頭に「その他の」がついて表示される
  • Linux 4.x ※先頭に「その他の」がついて表示される
  • Linux 3.x 64 ビット ※先頭に「その他の」がついて表示される
  • Linux 3.x ※先頭に「その他の」がついて表示される
  • Linux 2.6.x 64 ビット ※先頭に「その他の」がついて表示される
  • Linux 2.6.x ※先頭に「その他の」がついて表示される
  • Linux 2.4.x 64 ビット ※先頭に「その他の」がついて表示される
  • Linux 2.4.x ※先頭に「その他の」がついて表示される
  • Linux Mint (64 ビット)

VMware ESX

  • VMware ESXi 8 以降
  • VMware ESXi 7 以降
  • VMware ESXi 6.x
  • VMware ESXi 6.0
  • VMware ESXi 5.x
  • VMware ESX/ESXi 4.x

その他

  • eComStation2
  • eComStation
  • FreeBSD 14 64 ビット
  • FreeBSD 13 (64 ビット)
  • FreeBSD 13
  • FreeBSD 12 (64 ビット)
  • FreeBSD 12
  • FreeBSD 11 64 ビット
  • FreeBSD 11
  • FreeBSD バージョン 10 以前 64 ビット
  • FreeBSD バージョン 10 以前
  • Novell NetWare 6 ※ Novell の表示は省略されている<
  • Novell NetWare 5 ※ Novell の表示は省略されている<
  • Novell NetWare 4
  • 64 ビット OS ※他 64 ビットと表示
  • 32 ビット OS
  • 不明 ※その他と表示
  • Oracle Solaris 11 64 ビット ※ Solaris 11 64 ビットと表示
  • Sun Solaris 10 64 ビット ※ Solaris 10 64 ビットと表示
  • Sun Solaris 10 ※ Solaris 10 と表示
  • Sun Solaris 9 ※ Solaris 9 (未サポート) と表示
  • Sun Solaris 8 ※ Solaris 8 (未サポート) と表示
  • Sun Solaris 6/7
  • VMware CRX Pod 1.0 (64 ビット)
  • VMware CRX Sys 1.0 (64 ビット)
  • Mac OS X Server 10.6 32 ビット
  • Mac OS X Server 10.6
  • Mac OS X 10.7 32 ビット
  • Mac OS X 10.7
  • OS X 10.8
  • OS X 10.9
  • OS X 10.10
  • OS X 10.11
  • macOS 10.12
  • macOS 10.13
  • macOS 10.14
  • macOS 10.15
  • macOS 11
  • macOS 12
  • macOS 13
  • macOS 14
  • Mac OS X Server 10.6 32 ビット
  • Mac OS X Server 10.6
  • Mac OS X Server 10.5 32 ビット
  • Mac OS X Server 10.5
  • OS/2
  • SCO Unixware 7
  • SCO Open Server 5/6

また、多分 vSphere 8 も同じになるのではと思いますが、こちらは未調査です。

仮想ハードウエアバージョン

IT の世界から半年離れていましたが、最近また IT 関係のことを始めたのでブログの記事も書いてみました。

仮想マシンのハードウエアバージョンとは

VMware仮想マシンを使うときに気になることの一つに想マシンのハードウエアバージョンがあります。このバージョンは現在 20 まで登場していますが、どの仮想ハードウエアバージョンがどの VMware プロダクトに該当するのかがなかなかわかりにくいです。今は KB1003746 として公開されているので悩むことはなくなりましたが、それでもどのバージョンにしたらよいのかがわかりにくいのでまとめてみました。

仮想ハードウエアバージョンごとのプロダクト

バージョン 1 から バージョン 20 までは、以下のプロダクトに対応しています。現在ではバージョン 1 および バージョン 2 は VMware の情報から削除されていますが、それも含めて記載してみました。vSphere と Workstation Pro / Player で仮想マシンが相互にないバージョンがあるのは、仮想マシンの拡張の違いによるものです。

仮想ハードウエアバージョン vSphere ESXi Workstation Pro Workstation Player Fusion Server / GSX Server その他
20 ESXi 8.0 Workstation Pro 22H2
Workstation Pro 17
       
19 ESXi 7.0 U2 (7.0.2)          
18 ESXi 7.0 U1 (7.0.1) Workstation Pro 16.x Workstation Player 16.x Fusion 12.x    
17 ESXi 7.0          
16   Workstation Pro 15.x Workstation Player 15.x Fusion 11.x    
15 ESXi 6.9.1, 6.8.7, 6.7 U2          
14 ESXi 6.7 Workstation Pro 14.x Workstation Player 14.x Fusion 10.x    
13 ESXi 6.5          
12   Workstation Pro 12.x Workstation Player 12.x Fusion 8.x    
11 ESXi 6.0 Workstation 11.x Player 7.x Fusion 7.x    
10 ESXi 5.5 Workstation 10.x Player 6.x Fusion 6.x    
9 ESXi 5.1 Workstation 9.x Player 5.x Fusion 5.x    
8 ESXi 5.0 Workstation 8.x Player 4.x Fusion 4.x    
7 ESXi/ESX 4.x Workstation 7.x, 6.5.x Player 3.x Fusion 3.x, 2.x Server 2.x  
6   Workstation 6.0.x        
5 ESX Server 3.x,
ESX 3.5 / ESXi 3.5
  Player 2.x   Fusion 1.x ACE 2.x
4   Workstation 5.x Player 1.x   Server 1.x ACE 1.x
3   Workstation 4.x     GSX Server 3.x Lab Manager 2.x
2 ESX Server 2.x       GSX Server 2.x  

1
※1
※2

ESX Server 1.x VMware 2.0 for Linux, VMware 2.0 for Windows NT and 2000     GSX Server 1.x

1
※1

  VMware 1.1 for Linux, VMware 1.0 for Windows NT and 2000      

※1:仮想ハードウエアバージョンの記述がないが便宜上 1とした

※2:仮想ハードウエアの拡張を config.version で吸収しようとしている

仮想ハードウエアのバージョンは新しいプロダクトが出てくると変わっていきますので、最新の情報は以下の KB1003746 を参照して確認してください。

kb.vmware.com

それから今は殆どないと思いますが、仮想ハードウエアバージョン 12 は Workstation / Player / Fusion 専用のバージョンのため、vSphere 環境にそのまま持っていくことができません。Workstation 12 / Player 12 / Fusion 8 で作った仮想マシンは 12 で出来ていますので、もしその仮想マシンを移行する場合には注意が必要です。また 仮想ハードウエアバージョン 5 は現在は欠番です。仮想ハードウエアバージョンでは対応するゲスト OS も変わっており、例えば仮想ハードウエアバージョン 17~19は Windows 10 までですが、仮想ハードウエア 20 は WIndows 12 まで対応になっています。このように仮想ハードウエアバージョンは単純にハードウエアの変更だけではなく、OS のサポートによって変わってくるようになっています。

ちなみにいくつかの config.version は以下の通りですが、見ての通り既に Workstation 4.x から config.version は 8 になっていて、現在の vSphere 8 ESXi 8 でもここは変わりません。つまり、現在は config.version は使っていないと思われます。

config.version Workstation ESX / ESXi GSX / Server
8 VMware Workstation 5.x ESX Server 3.x 以降 GSX Server 3.2
7 VMware Workstation 4.x   GSX Server 3.x
6 VMware Workstation 3.x ESX Server 1.5 以降
ESX Server 2.x (ESX Server 2.5.x含む)
GSX Server 2.x
5      
4      
3      
2 VMware 2.0 for Windows NT and 2000 VMware 2.0 for Linux and 2000
(Workstation 2)
  GSX Server 1.x ?
1 VMware 1.0 for Windows NT and 2000 VMware 1.1 for Linux and 2000    

ESX Server 1.0 または ESX Server 1.1 では、config.version の記述無し。

VMware Workstation 最初のプロダクト

VMware 1.0 for Windows NT and 2000 では、仮想マシンを直接読み込んで起動することができませんでした。毎回仮想マシンを指定して読み込み、その後起動という手順が必要でした。

そして、仮想マシンのある場所も「C:\Program Files\VMware\VMs」でした。今では考えられない場所に仮想マシンを作っていたことになります。

VMware 1.0 for Windows NT and 2000 起動時の画面

VMware 1.0 for Windows NT and 2000 のバージョン情報

VMware 1.0 for Windows NT and 2000 設定の画面

.vmx の情報

guestOs = "WindowsNT"
ide0:0.present = TRUE
ide0:0.fileName = "C:\Program Files\VMware\VMs\Other\WindowsNT.dsk"
ide0:0.deviceType = "ata-hardDisk"
ide0:0.mode = "Persistent"
floppy0.present = TRUE
floppy0.fileName = "A:"
floppy0.startConnected = TRUE
memsize = 32
hard-disk.enableIBR = FALSE

とてもシンプルですね。そして .VMX を見るとわかるのですが、仮想マシンバージョンは書かれていません。最初は仮想マシンバージョンという概念が無く、機能拡張時に後から追加されています。この仮想マシン、最新の VMware Workstation Pro 2022H2 でh開こうとしましたが、開くことすらできませんでした。

仮想ハードウエアバージョンがないと開けない

VMware Workstation の 2番目のプロダクト

VMware 2.0 for Windows NT and 2000 は 1.0とは大きく異なるところはありません。

VMware 2.0 for Windows NT and 2000 起動時の画面

VMware 2.0 for Windows NT and 2000 のバージョン情報

VMware 2.0 for Windows NT and 2000 設定の画面

.vmx の情報

config.version = 2
guestOS = "win2000"
pciSvgaDynamic = TRUE
ide0:0.present = TRUE
ide0:0.fileName = "C:\Program Files\VMware\VMs\Win2000\Win2000.dsk"
ide0:0.deviceType = "ata-hardDisk"
ide0:0.mode = "Persistent"
floppy0.present = TRUE
floppy0.fileName = "A:"
floppy0.startConnected = TRUE
memsize = 64
hard-disk.enableIBR = FALSE

.vmx の中身を見ると、このバージョンから初めて config.version が出てきていることがわかります。これは .vmx のバージョンであって、仮想ハードウエアの拡張を config.version パラメーターで吸収しようとしており、まだ仮想ハードウエアバージョンは出てきていません。

現在の VMware Workstation に近くなったのは

現在の VMware Workstation Pro の画面に近くなったのは 3.0 からです。

Mware Workstation 3.0 起動時の画面

VMware Workstation 3.0 のバージョン情報

VMware Workstation 3.0 設定の画面

.vmx の情報

config.version = "6"
virtualHW.version = 2
displayName = "Windows XP Home Edition"
guestOS = "winXPHome"
ide0:0.present = "true"
ide0:0.fileName = "D:\My Documents\My Virtual Machines\Windows XP Home Edition\Windows XP Home Edition.vmdk"
ide1:0.present = "true"
ide1:0.deviceType = "atapi-cdrom"
ide1:0.fileName = "auto detect"
memsize = "64"
ethernet0.present = "true"

このバージョンではから初めて仮想ハードウエアバージョンの考え方が登場しています。今までの config.version 無しと config.version = 2 の仮想マシンは仮想マシンバージョン 1 相当としてまとめて、Workstation 3.x の仮想マシンはバージョン 2 になりました。config.version はここまでに登場したプロダクトに対し付与されてきていますので、いきなり 6 になっています。(さて config.version 1 ~ 5 はどれでしょう。探してみてください。)

古い人が VMware プロダクトを VMware というのは何故?

ここで昔の VMware Workstation が「VMware for xxxxxx」と言われていたのを見ていただくとわかるのですが、最初のころは会社名もプロダクトも両方とも VMware と呼んでいました。そのため、VMware vSphere のような仮想マシンを使うプロダクトのことを「VMware」と呼んでしまう人も多いんですね。この辺りは VMware 製品=仮想化プラットホーム=プロダクト名は「VMware」と覚えている人たちが引退しないと変わっていかないかもしれません。

 

 

 

ESXi を狙ったランサムウエアが出たそうです

還暦を過ぎて仕事に対しても一段落して無職になったので、趣味に没頭していて結局だいぶブログに間が空いてしまいました。が、そろそろちょぼちょぼと書き始めていこうと思います。ただし、IT からは完全に離れていますので、マイペースで自分のわかる範囲での記述になっていくかと思いますがご容赦を。(仕事見つかればまた変わるかもしれません(笑い))

ESXi を狙ったランサムウエア

最近こんな記事を見つけました。

www.itmedia.co.jp

この記事の中身を読んでみても詳細はわからないのですが、トレンドマイクロのページの

www.trendmicro.com

にはそこそこ書いてあって、どのように暗号化していくのかが詳しく書かれています。ただ、侵入経路は書かれているわけでは無く ESXCLI の実行できるところに取り付いて初めて攻撃が開始されるようです。そのため、VMware の VMSA でも特に対策などの記載はありません。

www.vmware.com

なので、今時点では「入られないようにしっかりセキュリティ対策を実施することが大切だよ。」という感じの話なのではと感じました。

セキュリティ対策の今後で気になるところは

今回 VMwareBroadcom に買収されることが確定し、確定から40日経つ間に他社が買収の手を上げて VMware がそちらに売ると心変わりしない限り、今のままでは VMwareBroadcom のソフトウエアブランドとして残り代わりに会社組織は消滅します。そして、Broadcom が持っているセキュリティ関連含むソフトウエアも VMware ブランドにリブランドされることになります。ここで気になるのが Broadcom に既に買収されていてセキュリティソリューションのブランド名になっている Symantec  も VMware ブランドになるみたいに見えます。となると、VMware では今のところエンドポイントセキュリティ(PCなどのデバイス)部分が無いので、そこに Symantec が嵌るのかなと勝手に考えたりしています。どうなるかは 2023年度以降を見ていかなければならないですが、捨てるソリューション、廃止するソリューションなど出てくるのではないかなぁと思いました。

Broadcom が VMware ソリューションの中で、今後力を入れると言っているソリューションは

・vSAN
・vSphere+NSX
・vRealize
は名前が出ていますので、ライセンス価格はどうなるかは置いておいて安心して継続利用ができるかなと思います。それに対して Tanzu はもしかしたら厳しいかなと思いました。Horizon も買収後の Symantec のソリューションとの兼ね合いでどうなるかわかりませんが、同じような製品ラインナップだった Citrix が買収されちゃったように収益などが明確にならないとコスト最適化に厳しい Broadcom なので気になるところです。VDI は Microsoft に左右されるソリューションなので、ある意味主導権を持ってコントロールできないソリューションでもあるので、どのようになっていくかが気になるところです。(個人的にはゼロトラストが進んで、VDI じゃなくてもセキュアに業務システムにアクセスできるようになれば、VDI は不要だと思ったりしています。)
 
今回はここまでです。

 

 

ESXi Arm Edition を動かす Raspberry Pi 4 を便利にする話

Raspberry Pi 4 で ESXi を動かす際に困るのが、後ろと横に飛び出すケーブル類。後ろは我慢ができるものの、横に飛び出す USB Type-C の電源ケーブルHDMIケーブルは何とかしたいところです。今回はその話を書きたいと思います。

飛び出るケーブルは場所を変えたい

Raspberry Pi 4 Tech Specs のページの図を引用していますが、背面には Ethernet と USB 2 と USB 3 のポートが並んでいて、高さ方面を高くしない限り電源やら HDMI のポートをつける場所がありません。なので、電源の USB Type-C や HDMI ポートは横に飛び出してきたんだということがわかります。

f:id:imaisato:20220207085057p:plain

Raspberry Pi 4 Tech Specs

www.raspberrypi.com

でも、これらの4ポートが横に飛び出した結果、複数台の Raspberry Pi 4 を使う環境では横に並べると場所を取る結果になっています。また、縦に置くとケーブルの太さにもよりますがコネクタに横のねじり方向の力がかかり、はんだ付けだけで止めてあるコネクタにはあまりよくありません。そして結局上に飛び出すので高さが必要になります。

Raspberry Pi 4 をケースに入れて結線するとこんな感じになると思います。

f:id:imaisato:20220207091631j:plain

Raspberry Pi 4 のデフォルトの姿(キーボード、マウス接続無し)

これだけのケーブルをごちゃごちゃ横と後ろに出すのは美しくないですよね。なので、どうにか背面だけにケーブルを集中させたいところです。

飛び出るケーブルは場所を変えちゃう

ということで。横から出ているケーブルを、以下のようにすることにします。

  1. 電源は USB Type-C ポートを使わずに、POE 給電にする。
  2. 思い切って HDMI ポートは無視する
  3. 同じくサウンドも使わないので、オーディオポートを無視する

これだけで、横のポートを使わないで済むようになります。でも、Raspberry Pi 4 へ OS をインストールしたりファームウエアを更新したりするときは、コンソール画面がないと不便です。ファームウエア更新は ACT LED だけで状態を知ることができますが、Linux や ESXi for ARM ではコンソール操作が必要です。そして、UEFI の設定などにもコンソールは必要なので、なにかしらコンソール画面を表示できるようにする必要があります。そこで、コンソール出力用にシリアルポートを使うようにします。Raspberry Pi 4 では GPIO から UART を取り出せるので、そこから UART USB 変換かければシリアルコンソールが使えるようになります。取り出すピンは隣接した 8, 9, 10 または 8, 10, 14 を使います。ピンの出力は以下のドキュメントを見ることで確認ができます。

Technical information about Raspberry Pi hardware
Raspberry Pi 4 Model B Schematics, Revision 4.0

この左真ん中の図の TXD0, RXD0, ground を使うことになります。Raspberry Pi 4 は UART を複数扱うことができるのですが、ちょっとごにょごにょやる必要があるので、素直にこのピンを使ってシリアルコンソールを使えるようにするのが無難です。Ground は 6, 9, 14, 20, 25, 30, 34, 39 と 8本ありますのでどれを使ってもよいのですが、シンプルな配線にするためにも TXD0, RXD0 近くの 6, 9, 14 を使うのをお勧めします。6 は冷却ファンに使われることがとても多いので、実際には 9, 14 を使うことになると思います。2列2ピンのピンソケットを使うのであれば 8, 9, 10 を、横並びにしたければ 8, 10, 14 を使うのが無難です。

下の写真では冷却ファンのために1, 6 を使い、シリアルポート用には横並びで 8, 10, 14 を使っています。

f:id:imaisato:20210105171318j:plain

結線

これで横のポートを使わないで、かつ、コンソールを使うこともできる環境ができました。

あとは GPIO から UART を取り出しシリアルコンソールサーバーなどに接続する場合は、RS232C ポートにそのまま取り込めばよいのですが、今の PC にはシリアルポートが装備されていないのでそのままでは PC に接続できません。そのため、USB 通信に変換して USBポート経由で接続する必要があります。それには以下のようなケーブルを使います。

f:id:imaisato:20220207094757j:plain

USB-Serial 変換ケーブル (FDTI FT232)

この写真のは全ピン結線ですが、Raspberry Pi 4 などで使える 4ピンのも売られているのでそれを使うのもありです。必要なのは GND (黒)、RX(黄または緑)、TX(橙または白)の 3本だけです。前者は 6ピンソケットの写真の製品のケーブルの色で、後者は 4ピンソケットの製品のケーブルの色です。ここから GND, RX, TX を取り出して、Raspberry Pi 4 の該当する GPIO ピンにさすだけです。気を付けなければならないのは結線で、以下のように必ずクロス結線にすることです。

Raspberry Pi 4   USB Serial 変換ケーブル
GPIO 14 TX RX または
GPIO 15 RX TX または白
Ground     Ground(

ケーブル自体は端子に圧着されてソケットにはまっていますので、ソケットから端子を外して GPIO の順番に並べ替えるだけです。6ピンのケーブルの場合は横並びで GPIO の 8, 10, 14 を使うように、4ピンのは一つ一つ別々のソケットにはまっていますので、加工せずに 8, 9, 10 に挿すだけです。はんだ付け不要!!楽ですね。

これでシリアルポートの通信を USB 経由で PC からできるようになりました。

ケースへ収納する配置を考える

GPIO からシリアルコンソールを取り出すことができましたが、オリジナルのケースの場合、今度は GPIO のある反対側から横にケーブルを出さなければなりません。

f:id:imaisato:20220207100750j:plain

USB Serial ケーブル結線後

また、上面に GPIO ピンを取り出す穴のあるケースでは上面からケーブルを出すことができますが、複数の Raspberry Pi 4 を積み上げて使いたい場合は、これも邪魔になります。なので、私の場合はケース自体を開放型のものに変えてみました。

f:id:imaisato:20220207102739j:plain

開放型ケース

これだけで横に出さずにケースの加工もせずに背面だけにケーブルを出せるようになりました。

電源はどうする

シリアルポートを背面から出せるようにできましたが、あとは電源をどうするかです。上の写真ではUSB Type-C ポートの AC アダプタが写っていませんが、相変わらず横からにょきっと顔を出すままになっています。これは POE にしてしまって Ethernet 経由で電源供給する形にします。

Raspberry Pi 4 用の POE HAT はいろいろなものがあるので選択の幅がありますが、使用するケースと高さ、GPIO に支障するかなどを考えながら選びます。私の場合は以下の製品のファン無しを選んでいます。ファン無しの理由は、購入した開放型のケースにファンがついているということだけですので、ファンのついていないケースを購入した場合はファン付きでも良いかもしれません。オフィシャルボードはデカすぎて値段も高く GPIO ピンが上に出るので重ねて使うことも難しいので選択しませんでした。また、安い POE HAT では大きなトランスがついているのもありますが、やはり高さが必要になるので注意が必要です。

UCTRONICS Raspberry Pi4用のPoEHAT、RaspberryPi用のミニパワーオーバーイーサネット拡張ボード4B 3 B +

f:id:imaisato:20220207104119j:plain

POE HAT

両サイドはシンプル!!これですべて背面からケーブルを出せるようになりました。横に並べても重ねても側面のケーブルの取り回しを気にすることがなくなりました。

USB シリアルケーブルを取り外せるようにする

ここまではシンプルな加工だけで済ませてきましたが、もうちょっと格好良くするために、USB シリアル変換アダプタを Raspberry Pi 4 に実装して、USB ケーブルを外せるようにします。これには以下のアダプタを使います。

www.switch-science.com

私の場合はこれが売り切れだったので、高いのですがこちらの古い製品を使いました。

www.switch-science.com

この製品でも全部のピンは使いません。JP2 側で結線するところは RX, TX, Ground だけです。あと、JP1 ジャンパで 5V / 3.3 V 出力を切り替えられるようになっていますが、まずは邪魔なジャンパを寝かせてみました。

f:id:imaisato:20220207105200j:plain

ジャンパ改造

このジャンパー、横に寝かせれば高さは使わないですがそれなりに横にはみ出します。あと、冷却ファンにシリアル側のソケットもぶつかるのと、シリアルコンソールでは PC 側への給電は不要なので、思い切って取り除く大改造してしまいました。そして実装。

f:id:imaisato:20220207105650j:plain

USB シリアル変換アダプタ基板実装

見ての通り GPIO から USB シリアル変換アダプタの間は直結になるので基板側は高さや奥行きが出ないように直接はんだ付け、5V / 3.3V 切り替えジャンパは 0オーム抵抗でショートしなくても大丈夫なのがわかったので外しただけ、そしてこの基板からは Micro USB で接続することができるのですっきりシンプルな構成になりました。

Good ですね!

出来上がり

これで後は複数台の Raspberry Pi 4 を重ねれば出来上がりです。こんな感じにすべてのケーブルを取り外して持ち運びできますし、Micro USB のシリアルポートも Ethernet ポートの上にきれいに収まっています。そして全部のケーブルは背面からだけ出るという所期の目的も達成できました。よかったよかった。

f:id:imaisato:20220207110401j:plain

Raspberry Pi 4 スタック