Oracle VirtualBoxをインストールすると、Hostシステムに「VirtualBoxHost-OnlyNetwork」というネットワークアダプタが作成されました。 ipconfig /all
によると、この仮想ネットワークアダプタのMACアドレスは0A-00-27-00-00-10
です。 そのMACアドレスを変更するにはどうすればよいですか?
これについて多少の混乱が予想されるので、簡単に説明します。仮想マシンのネットワークカードのMACアドレスを変更したくないので、ホストシステムで作成された仮想ネットワークアダプターのMACを変更する必要があります。
VirtualBoxの場合:[ファイル]-> [設定]-> [ネットワーク]-> [ホストオンリーネットワーク]。ネットワークアダプタのプロパティには、MACアドレスは含まれていません。新しいアダプタを追加しても、MACアドレスを指定することはできません。
私は見つけて試しました この解決策 レジストリでMACアドレスを検索し、そこで変更することを提案します。ただし、0A0027000010
も0A-00-27-00-00-10
も検索しても結果は得られません。
また、 デバイスマネージャーを使用してMACアドレスを変更する を試みましたが、そこにリストされている「VirtualBoxホストオンリーイーサネットアダプター」には、「詳細」タブや「ネットワークアドレス」などのプロパティがありません。
レジストリを掘り下げると、「VirtualBox Host-OnlyEthernetAdapter」のようなキーを持つHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0018
にたどり着きました。しかし、どのキーも私の現在のMACアドレスに似ていません。
私のホストシステムはWindows7Professionalです。 VirtualBox5.0.18を実行しています。
なぜこれが必要なのですか?昨日、VirtualBoxを更新しました。これにより、MACアドレスが0A-00-27-00-00-00
から0A-00-27-00-00-10
に変更されました。マシンごとのライセンスを使用するプログラムを使用していますが、マシンはそのMACアドレスの1つによって識別されます。残念ながら、ライセンスは仮想ネットワークアダプタのMACに関連付けられています。
明白で単純な真実は次のとおりです。これは、VirtualBoxの現在のバージョンでは不可能です。 ドライバーのソースコード :を見ると、その理由は簡単に理解できます。
pAdapter->MacAddr.au8[0] = 0x08 | 2; // DB: computes to 10 == 0x0A
pAdapter->MacAddr.au8[1] = 0x00;
pAdapter->MacAddr.au8[2] = 0x27;
pAdapter->MacAddr.au8[3] = (uIfIndex >> 16) & 0xFF;
pAdapter->MacAddr.au8[4] = (uIfIndex >> 8) & 0xFF;
pAdapter->MacAddr.au8[5] = uIfIndex & 0xFF;
インターフェイスインデックスを使用してMACアドレスを作成するだけです。このインデックスはWindowsによって管理され、初期化時に NDIS_MINIPORT_INIT_PARAMETERS 構造体でドライバーに提供されます。
route print
コマンドでインデックスを簡単に調べることができます。
===========================================================================
Interface List
10...c0 7c d1 c0 37 71 ......Realtek PCIe GBE Family Controller
13...0a 00 27 00 00 0d ......VirtualBox Host-Only Ethernet Adapter
...
13は0x0Dに等しく、それがMACアドレスです。
VirtualBox 5.xにアップグレードすると、ランダムなMACアドレスが割り当てられ続け、VirtualBox4.xで設定したMACレジストリ設定が尊重されないことに気付きました。 VirtualBox 5.xをアンインストールすると、ホストオンリーアダプターのレジストリセクションが消えました。再インストール時に、新しいMACエントリが表示されませんでした。
VirtualBox 4.3.38にロールバックしてMACレジストリ設定を追加すると、VirtualBoxは指定した値を使用しました。 VirtualBox5.xの動作が変更されたようです。
また、Microsoftループバックアダプタを使用して独自のMACを指定できる場合もありますが、MACは「ローカルで管理されるアドレス」の範囲内にある場合にのみ有効になることに注意してください。