immwind

长风

life, the programming and everything

macOSでimgイメージをvmdk形式に変換する

オンラインでダウンロードした img イメージを ESXi で使用するための vmdk 形式に変換するためには、いつも別の Windows コンピュータを使って StarWind ソフトウェアを使用する必要があり、非常に面倒です。そのため、[[ChatGPT]] に Windows を使わずに変換する方法を尋ねました。

準備#

  1. まず、[[brew]] を使用して qemu をインストールします:
# qemu-imgを使用してインストールします
brew install qemu
  1. ESXi の [[ssh]] サービスを有効にします:
    1. ESXi にログインします
    2. 「管理」を選択します
    3. 「サービス」を選択します
    4. 「TSM-SSH」を見つけて有効にします

使用方法#

まず、img イメージを vmdk 形式に変換します:

qemu-img convert -f raw arpl.img -O vmdk arpl.vmdk

次に、変換後のファイルを [[scp]] を使用して ESXi にアップロードします:

scp arpl.vmdk root@esxi.immwind.com:/vmfs/volumes/SSD/mirrors/

今アップロードした vmdk イメージを仮想マシンのシステムディスクとして起動しようとすると、ESXi でエラーが発生します:

バーチャルマシン DSM の電源をオンにできません。ディスクタイプ 2 の「sata0:0」はサポートされていないか無効です。ディスクがインポートされていることを確認してください。

ディスクの問題だと思ってディスクタイプを IDE に変更すると、前述のエラーが消えて正常に起動できますが、喜ぶのはまだ早いです。次の驚きが待っています:

カーネルは有効な elf ファイルではありません

正常に認識するために、ESXi でさらに 1 回変換する必要があります。まず、SSH を使用して ESXi に接続します:ssh root@esxi.immwind.com、次に次のコマンドを実行します:

# 以前にアップロードしたイメージの場所に移動します
cd /vmfs/volumes/SSD/mirrors
# 変換を実行します
vmkfstools -i arpl.vmdk synoboot.vmdk

デフォルトでは、vmkfstools を使用して変換されたディスクのタイプはシンクプロビジョニング、ゼロディレイです。シンクプロビジョニングに変更する場合は、-d thinパラメータを追加できます:

vmkfstools -i arpl.vmdk synoboot.vmdk -d thin

変換が完了したら、ls コマンドを使用して確認すると、synoboot.vmdk 以外に synoboot-flat.vmdk が追加されていることがわかります。誤って削除しないように注意してください。このファイルには実際のデータが格納されています。ただし、以前にアップロードした arpl.vmdk ファイルは削除しても構いません。混乱を避けるためです:

rm arpl.vmdk

これで、synoboot.vmdk を仮想マシンにシステムディスクとして追加して起動することができます。これは StarWind V2V Image Converter を使用して変換した場合と同じ効果が得られます。

情報#

環境

  • HPE-ESXi-6.7.0-Update3
  • システム:macOS 13.4.1

参考

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。