仮想マシン
 Computer >> コンピューター >  >> ソフトウェア >> 仮想マシン

VirtualBox OVA インポート エラーの解決:E_INVALIDARG 0x80070057 の修正

VirtualBox、OVA インポート、および E_INVALIDARG 0x80070057 エラー

更新日:2025 年 12 月 9 日

最近、仮想化の冒険で新たな問題に遭遇しました。 Linux 仮想マシンの 1 つをエクスポートして、別のホストで使用できるようにしたいと考えていました。机上では、その機能は VirtualBox にあります。 [ファイル]> [アプライアンスのエクスポート]。次に、目的の仮想マシンを選択し、使用する形式を決定し、MAC アドレスを構成して、VirtualBox に ova ファイルを生成させます。ターゲット ホストで、このアプライアンスをインポートします。

これを実行しようとしましたが、エラーが発生しました。 GUI には E_INVALIDARG 0x80070057 と表示されましたが、詳細はあまりありませんでした。 VirtualBox フォーラムのチケットを読んだところ、インポート プロセスの失敗にはさまざまな問題が考えられることがわかりました。私は、これらの潜在的な問題を 1 つずつ解決しようとするのではなく、別の道を選択しました。 OVA プロセスを使用しない、手動のマシン インポート。お見せしましょう。

OVA は単なるアーカイブです

技術的には、アプライアンスは、すべての仮想マシン データが 1 つのファイルに適切にパッケージ化されたものです。内部には、仮想ディスク (およびスナップショット)、仮想マシン マニフェストなどが含まれます。そこには大きな謎はありません。インポート プロセスは、これらを解凍し、構成ファイル (.vbox) を解析するだけで、仮想 CD ドライブ パスや共有フォルダ パスなど、解決できないエラーがある場合は停止します。

したがって、同じことを手動で行うことができます。

ステップ 1:仮想マシンのクローンを作成する

これを行う理由は次のとおりです。これにより、最新のスナップショットを使用している場合にのみクローンを作成できるようになります。これにより、新しい仮想マシンのサイズが小さくなります。また、作成するスナップショットの数も減り、仮想マシンのデータを新しいホストにコピーするときに考慮されるようになります。ただし、これは必須ではありません。

最新の状態のみをコピーする理由は、マシンの管理が簡素化され、転送に必要なデータ量が削減されるためです。ネットワーク経由でエクスポートを行っている場合、これは (LAN 上であっても) 大きな違いを生む可能性があります。

VirtualBox OVA インポート エラーの解決:E_INVALIDARG 0x80070057 の修正

ステップ 2:仮想マシン フォルダ全体を 2 番目のホストにコピーする

VirtualBox 仮想マシン フォルダの構造は次のとおりです。Logs and Snapshots という名前のディレクトリ、1 つ以上の仮想ディスク (通常は .vdi 形式)、および .vbox サフィックス (拡張子) が付いた設定ファイル、さらに .vbox-prev サフィックスが付いている 2 番目の設定ファイル (変更した場合) も含まれます。

vbox ファイルは、GUI に表示されるあらゆる種類の宣言を含む XML マニフェストです。マシンの実行中はこのファイルを編集しないでください。ただし、オフライン状態のマシンであれば安全に編集できます。変更は、次回そのマシンを起動するときに反映されます。たとえば、[メディア] の下に、すべてのディスクとスナップショットがリストされた [ハードディスク] セクションが表示されます。

...
<ハードディスク>
  <ハードディスク uuid="{dfcda294-6feb-4ef8-8bc8-e67ad57e2cc6}"
    location="Kubuntu-24.04.vdi"
    フォーマット="VDI"
    type="通常">
    <ハードディスク uuid="{f062fe0b-578c-4461-9a10-8d65d28347ac}"
      location="スナップショット/{f062fe0b-578c-4461-9a10-8d65d28347ac}.vdi"
      フォーマット="VDI">
    <ハードディスク uuid="{f942b89a-49ff-40fa-8d62-e6fdd8a205d9}"
      location="スナップショット/{f942b89a-49ff-40fa-8d62-e6fdd8a205d9}.vdi"
      フォーマット="VDI"/>
    
  

...

この宣言は、特定のマシンが Kubuntu-24.04.vdi というハード ディスクを使用しており、それに関連付けられた 2 つのスナップショットがあることを示しています。分かりましたね。

わかりました。このデータすべて、フォルダー全体を 2 番目のホストにコピーします。

ステップ 3:パスを確認する

仮想マシンを「インポート」する前に、テキスト エディタで vbox ファイルを開き、「おかしな」パスがないか探す必要があります。これには、マウントされた ISO ファイル、共有ゲスト パスなど、最初のシステムにハードコーディングされ、2 番目のシステムには存在しない可能性のあるものがすべて含まれます。このようなエラーが発生すると、新しい仮想マシンの追加が失敗します。 OVA アーカイブを使用する場合、これは不透明ですが、手動で実行する場合は完全に可視化して制御できます。

たとえば、2 つのシステムで異なる共有ゲスト パスを使用していると仮定します。関連する宣言を見つける最も簡単な方法は、最初のシステムで使用したことがわかっている特定のパスを検索することです。内容を確認してください:

<共有フォルダー>
  <共有フォルダ名="SHARED_FOLDER"
    ホストパス="G:\仮想マシン\共有フォルダー"
    書き込み可能 ="true"
    autoMount="true"
    autoMountPoint="SHPATH"/>

ここでは、G:ドライブ(Windows)に設定されたパスを例に説明しました。ただし、そのようなパスは 2 番目のシステムに存在しないか、別の文字で設定されている可能性があります。したがって、これを次のように変更する必要があります。

hostPath="P:\別のパス\共有フォルダ"

2 番目のシステムが Linux の場合は、まったく別のものを使用する必要があるかもしれません。

hostPath="/home/dedoimedo/共有フォルダ"

これらのハードコードされたパスに加えて、この機会を利用して、メモリ割り当て、CPU コアの数、特定のグラフィックス アダプターの使用など、その他の設定を調整することもできます。ただし、一度に 1 つずつ変更を加え、仮想マシンを追加してエラーが発生するかどうかを確認することをお勧めします。

必要に応じて vbox ファイルを変更したら、それをダブルクリックするだけです。 Windows と Linux の両方のデフォルトのインストールでは、この特定の文字列とファイル タイプが VirtualBox ハイパーバイザーに関連付けられます。 XML 構成が有効な場合、仮想マシンがリストに表示されます。完了しました。

ステップ 3:別のアプローチ

XML ファイルの編集に慣れていない場合は、次のことを行うことができます。

  • 仮想マシンのクローンを作成します。
  • 設定を開きます (VirtualBox GUI 経由)。 ISO ファイル、共有フォルダなどのハードコーディングされたパスを削除します。
  • 仮想マシンを新しい宛先にコピーします。
  • vbox ファイルをダブルクリックしてハイパーバイザーに追加します。
  • 設定をもう一度開き、2 番目のデバイス上にあるはずの新しいパスを追加します。
  • 仮想マシンを起動して作業を行います。

注意事項と考えられるライセンス制限

上記でお気づきかと思いますが、コピー/移行プロセスには Linux 仮想マシンを使用しました。 Linux、特に Kubuntu です。この Linux ディストリビューションには、いわば使用、システムの数、「ライセンス」の数に制限がないからです。

Windows などの独自のオペレーティング システムでこれを行う場合、ハードウェアの変更によりライセンスが無効化される可能性があります。または、新しいものを購入する必要があるかもしれません。単一のホストまたは単一の実行インスタンスにライセンスが付与されている特定の (有料) プログラムを使用する場合は、仮想マシンの新しいコピーを作成すると、ライセンスまたは当該ソフトウェアの使用条件に問題が発生する可能性があるため、このことも考慮する必要があります。

結論

自動化された、適切にまとめられた手順がうまくいかない場合は、手動の方法が適している可能性があります。 Windows と Linux の両方のオペレーティング システム間で、複数の仮想マシンを使用してフォルダー コピー + XML 変更のアプローチを複数回テストしました。結果は素晴らしいです。確かに、設定を 1 つか 2 つ調整する必要があるかもしれませんが、その後は完璧です。つまり、ソフトウェア ライセンスの制限の範囲内でです。

このチュートリアルがお役に立てば幸いです。特定のエラー コードのデバッグは、ほとんどすべてのインポート エラーでスローされるため、面倒な場合がありますが、具体的な回避策は数多くあり、さまざまです。手動コピー手順は強力ですが、いくつかの点を考慮する必要があります。ほとんどの場合、構成内のパスがハードコードされています。これらをコピーの前後に編集して、新しい仮想マシンをシームレスに追加できるようにすることができます。さて、それでは。仮想化を楽しんでください。

乾杯。


  1. 仮想マシンでの 3D アクセラレーション - パート 3:Linux ホストと Linux ゲスト - VMGL - (Im)possible?

    これは、仮想化に関する 3 回目の記事です。そして多分一番難しい。これまでのところ、VMware 製品では DirectX がサポートされ、VirtualBox では OpenGL がサポートされていますが、いずれも Windows ゲストのみが利用できます。ホスト プラットフォームの選択は問題ではありませんでした。しかし、Linux ゲストはどうでしょうか? これはいけないと思いました。しかし、Linux ゲストで VMGL というアプリケーションを使用して 3D を楽しむ方法を紹介している linux.com の記事を読みました。それは有望以上に見えました。見栄えが良かったです。でも難

  2. ステップバイステップ ガイド:パフォーマンスを向上させるための VirtualBox ゲスト追加機能のインストール

    更新日:2008 年 12 月 29 日 お気に入りの仮想化製品として VirtualBox を使用している場合は、インストールした仮想マシンをゲスト追加で強化できることを聞いたり気づいたりしたことがあるかもしれません。ゲスト追加ツールをインストールすると、ゲストの実行速度が向上し、マウスやクリップボードをホストと共有したり、共有フォルダーを使用したりできるようになります。全体として、非常に便利な追加機能です。そこで、それらの使い方を学びます。 ゲストの追加は、VMware Server / Workstation の VMware Tools に似ています。実際、最初のチュートリアル