すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:Windows インスタンスの Red Hat virtio ドライバーを更新する

最終更新日:Jul 07, 2025

Windows Elastic Compute Service (ECS) インスタンスで実行される特定の操作は、インスタンスで実行されるイメージの virtio ドライバーのバージョンによって異なります。たとえば、ディスクをオンラインでサイズ変更する場合、virtio ドライバーのバージョンは 58011 以降である必要があります。 2019 年 3 月 30 日より前に作成された Windows ECS インスタンスの virtio ドライバーのバージョンは、要件を満たしていない可能性があります。ディスクのシリアル番号を照会する場合、virtio ドライバーのバージョンは 58017 以降である必要があります。 2020 年 5 月 1 日より前に作成された Windows ECS インスタンスの virtio ドライバーのバージョンは、要件を満たしていない可能性があります。現在の Windows インスタンスの virtio ドライバーのバージョンが要件を満たしていない場合は、virtio ドライバーを更新する必要があります。このトピックでは、Windows インスタンスの virtio ドライバーを表示および更新する方法について説明します。

制限事項

virtio ドライバーは、Windows Server 2008 以降のバージョンでのみ更新できます。

手順

手順 1:virtio ドライバーを確認する

  1. (オプション) スナップショットを作成してデータをバックアップします。

    virtio ドライバーを更新する Windows インスタンスのスナップショットを作成して、インスタンスデータをバックアップすることをお勧めします。 virtio ドライバーの更新時にインスタンスで例外が発生した場合、スナップショットを使用してインスタンスのデータをロールバックできます。詳細については、「スナップショットを作成する」をご参照ください。

  2. サードパーティのウイルス対策ソフトウェアを無効にします。

    virtio ドライバーが想定どおりに更新されるように、インスタンスにインストールされているサードパーティのウイルス対策ソフトウェアを一時的に無効にすることをお勧めします。インスタンスに組み込まれているウイルス対策ソフトウェアを無効にする必要はありません。 virtio ドライバーの更新が完了したことを確認したら、できるだけ早くサードパーティのウイルス対策ソフトウェアを再起動してください。

  3. 現在のインスタンスの virtio ドライバーのバージョンを表示し、ビジネス要件に基づいて virtio ドライバーを更新するかどうかを判断します。

    PowerShell を使用して virtio ドライバーのバージョンを表示する

    1. Windows インスタンスに接続します。

      詳細については、「Workbench を使用して RDP 経由で Windows インスタンスに接続する」をご参照ください。

    2. ヒント:[実行] ダイアログボックスを開き、「powershell」と入力して、[OK] をクリックし、PowerShell を起動します。

    3. 次のコマンドを実行して、virtio ドライバーのバージョンを確認します。

      [System.Diagnostics.FileVersionInfo]::GetVersionInfo("C:\Windows\System32\drivers\viostor.sys")
      説明

      viostor.sys ファイルは、仮想化環境のストレージデバイスドライバー、特に Microsoft Hyper-V 仮想マシンの仮想ディスクコントローラーに関連付けられています。オペレーティングシステムが Hyper-V プラットフォーム上の仮想マシンとして実行されている場合、viostor.sys ファイルに関連付けられたドライバーは、ホストの仮想化レイヤーと連携して、ゲストオペレーティングシステムが物理ハードディスクのように仮想ハードディスクからデータを読み書きできるようにします。 viostor.sys ドライバーは、仮想マシンのディスク I/O パフォーマンスと互換性を確保するための重要なコンポーネントです。

      次のコマンド出力が返されます。virtio版本信息

      [ProductVersion] 値の末尾の数字が 58011 または 58017 より小さいかどうかによって、virtio ドライバーを更新する必要があるかどうかを判断します。

      シナリオ

      Virtio ドライバーのバージョン

      操作

      ディスクをオンラインでサイズ変更する

      58011 以降

      virtio ドライバーを更新せずに、ディスクをオンラインでサイズ変更できます。詳細については、「手順 1:ディスクのサイズを変更してディスク容量を拡張する」をご参照ください。

      58011 より前

      ディスクをオンラインでサイズ変更することはできません。手順 2:virtio ドライバーを更新する を実行する必要があります。

      ディスクのシリアル番号を照会する

      58017 以降

      virtio ドライバーを更新せずに、ディスクのシリアル番号を照会できます。詳細については、「ブロックストレージデバイスのシリアル番号を照会する」をご参照ください。

      58017 より前

      ディスクのシリアル番号を照会することはできません。手順 2:virtio ドライバーを更新する を実行する必要があります。

    対応するシステムファイルを照会して virtio ドライバーのバージョンを表示する

    1. Windows ECS インスタンスに接続します。

      詳細については、「Workbench を使用して RDP 経由で Windows インスタンスに接続する」をご参照ください。

    2. C:\Windows\System32\drivers ディレクトリに移動します。

    3. viostor.sys ファイルを右クリックし、[プロパティ] を選択します。 [詳細] タブで、ファイルバージョンパラメーターを表示します。

      説明

      viostor.sys ファイルは、仮想化環境のストレージデバイスドライバー、特に Microsoft Hyper-V 仮想マシンの仮想ディスクコントローラーに関連付けられています。オペレーティングシステムが Hyper-V プラットフォーム上の仮想マシンとして実行されている場合、viostor.sys ファイルに関連付けられたドライバーはホストの仮想化レイヤーと連携して、ゲストオペレーティングシステムが物理ハードディスクのように仮想ハードディスクからデータを読み書きできるようにします。 viostor.sys ドライバーは、仮想マシンのディスク I/O パフォーマンスと互換性を確保するための重要なコンポーネントです。

      文件版本号

      ファイルバージョンの末尾の数字が 58011 または 58017 より小さいかどうかによって、virtio ドライバーを更新する必要があるかどうかを判断します。

      シナリオ

      Virtio ドライバーのバージョン

      操作

      ディスクをオンラインでサイズ変更する

      58011 以降

      virtio ドライバーを更新せずに、ディスクをオンラインでサイズ変更できます。詳細については、「手順 1:ディスクのサイズを変更してディスク容量を拡張する」をご参照ください。

      58011 より前

      ディスクをオンラインでサイズ変更することはできません。手順 2:virtio ドライバーを更新する を実行する必要があります。

      ディスクのシリアル番号を照会する

      58017 以降

      virtio ドライバーを更新せずに、ディスクのシリアル番号を照会できます。詳細については、「ブロックストレージデバイスのシリアル番号を照会する」をご参照ください。

      58017 より前

      ディスクのシリアル番号を照会することはできません。手順 2:virtio ドライバーを更新する を実行する必要があります。

    説明

    セキュリティセンター コンソール にログインすることもできます。脆弱性ページで、Windows システムの脆弱性タブをクリックし、[Windows Virtio ドライバー BUG が原因でディスクデータが失われるリスクの更新] の脆弱性があるかどうかを確認して、virtio ドライバーを更新する必要があるかどうかを判断します。

    • 脆弱性が存在しない場合は、Alibaba Cloud アカウントに属する Windows インスタンスの virtio ドライバーを更新する必要はありません。

    • 脆弱性が存在する場合は、次のいずれかの操作を実行します。

      • セキュリティセンターのバージョンで脆弱性の検出と修正が可能な場合は、手順に従って脆弱性を修正します。このトピックの後続の操作を実行して virtio ドライバーを更新する必要はありません。詳細については、「脆弱性を表示および処理する」をご参照ください。

      • セキュリティセンターのバージョンで脆弱性の検出はサポートされているが、脆弱性の修正はサポートされていない場合は、手順 2:virtio ドライバーを更新する を実行する必要があります。

手順 2: virtio ドライバーを更新する

重要

virtio ドライバーの更新には、ネットワークインターフェースコントローラー (NIC) ドライバーの更新が含まれます。その結果、ネットワーク接続が一時的に中断され、ビジネスに影響を与える可能性があります。準備することをお勧めします。

ビジネスシナリオに基づいて、次のいずれかの方法を使用して virtio ドライバーを更新できます。

インスタンスがインターネットにアクセスできる場合は、スクリプトを使用して virtio ドライバーを更新する

Windows インスタンスがインターネットにアクセスできる場合は、スクリプトを使用してインスタンスの virtio ドライバーを更新できます。

  1. Windows インスタンスに接続します。

    詳細については、「Workbench を使用して RDP 経由で Windows インスタンスに接続する」をご参照ください。

  2. [実行] ダイアログボックスを開き、「powershell」と入力して、[OK] をクリックし、PowerShell を起動します。

    説明
    • 一般ユーザーとして Windows インスタンスにログインする場合、一般ユーザーにはスクリプトを実行するための管理者権限が付与されている必要があります。管理者としてログインする場合は、スクリプトを直接実行できます。

    • スクリプトを実行できない場合は、PowerShell のスクリプト実行ポリシーを変更する必要があります。詳細については、このトピックの「PowerShell でスクリプトを実行できない場合はどうすればよいですか?」セクションをご参照ください。

  3. 次のコマンドを実行して、スクリプトをダウンロードします。

    Invoke-WebRequest -Uri "https://windows-driver-cn-beijing.oss-cn-beijing.aliyuncs.com/virtio/InstallVirtIo.ps1" -OutFile "C:\Users\Administrator\Downloads\InstallVirtIo.ps1"
  4. 次のコマンドを実行して、スクリプトを実行します。

    powershell -ExecutionPolicy Bypass -File "C:\Users\Administrator\Downloads\InstallVirtIo.ps1"
  5. スクリプトの実行後、新しいドライバーバージョンを有効にするために Windows インスタンスを再起動します。

    詳細については、「インスタンスを再起動する」をご参照ください。

インスタンスがインターネットにアクセスできない場合は、インストールパッケージを使用して virtio ドライバーのバージョンを更新する

  1. オンプレミスホストで、実際のオペレーティングシステムに基づいて、対応するバージョンの virtio ドライバーインストールパッケージをダウンロードします。

    ダウンロード URL については、「virtio ドライバーをインストールする」をご参照ください。

  2. インストールパッケージを Windows インスタンスにアップロードします。

    詳細については、「リモートデスクトップ接続または Windows アプリを使用して Windows インスタンスにファイルを転送する」をご参照ください。

  3. Windows インスタンスに新しいバージョンの virtio ドライバーをインストールします。

    詳細については、「virtio ドライバーをインストールする」をご参照ください。

Cloud Assistant を使用して複数のインスタンスの virtio ドライバーを一括更新する

複数の ECS インスタンスの virtio ドライバーを更新する必要があり、Windows インスタンスがインターネットまたは仮想プライベートクラウド (VPC) にアクセスできる場合は、Cloud Assistant を使用して virtio ドライバーを一括更新できます。

説明

Cloud Assistant を使用して virtio ドライバーを一括更新するには、必要なインストールパッケージをダウンロードする必要があります。システムは、VPC 内の内部ネットワーク経由でインストールパッケージをダウンロードします。パッケージを内部ネットワーク経由でダウンロードできない場合、システムはインターネット経由でパッケージをダウンロードします。

  1. ECS コンソール にログインします。

  2. 左側のナビゲーションウィンドウで、[О&М 管理とモニタリング] > クラウドアシスタント を選択します。

  3. 上部のナビゲーションバーで、リージョンを選択します。

    選択したリージョンは、インスタンスが存在するリージョンである必要があります。

  4. Cloud Assistant を使用して virtio ドライバーを一括更新します。

    Cloud Assistant を使用してコマンドコンテンツを指定するか、共通コマンドを実行して virtio ドライバーを更新します。次のセクションでは、Cloud Assistant を使用して virtio ドライバーを更新するさまざまな方法について説明します。

    • (推奨) 共通コマンドを使用して複数の ECS インスタンスの virtio ドライバーを一括更新する

      1. [ECS Cloud Assistant] ページで、[共通コマンド] タブをクリックします。 ACS-ECS-InstallVirtioDriver-windows.ps1 コマンドを検索して実行します。

      2. [コマンドの実行] パネルの [インスタンスの選択] セクションで、virtio ドライバーを更新する必要があるインスタンスの ID を選択します。次に、[実行] をクリックします。

    1. コマンドコンテンツを指定して複数の ECS インスタンスの virtio ドライバーを一括更新する

      1. [ECS Cloud Assistant] ページの右上隅にある [コマンドの作成/実行] をクリックします。

      2. [コマンドの作成] パネルで、パラメーターを構成します。

        • 次の表は、[コマンド情報] セクションの必須パラメーターを示しています。その他のパラメーターにはデフォルト値を使用します。詳細については、「コマンドを作成および実行する」をご参照ください。

          パラメーター

          説明

          [コマンドソース]

          [コマンドコンテンツを入力] を選択します。

          [コマンドタイプ]

          [PowerShell] を選択します。

          [コマンドコンテンツ]

          次のいずれかの方法を使用して virtio ドライバーを更新できます。

          • InstallVirtIo.ps1 スクリプトを実行して virtio ドライバーを更新します。

            InstallVirtIo.ps1 スクリプトをオンプレミスのコンピューターにダウンロードし、スクリプト全体を [コマンドコンテンツ] フィールドにコピーする必要があります。

          • Cloud Assistant プラグインを使用して virtio ドライバーを更新します。

            次のコマンドコンテンツを [コマンドコンテンツ] フィールドにコピーします。

            acs-plugin-manager.exe --exec --plugin=UpdateVirtIo

          [実行計画]

          [即時実行] を選択します。

        • [インスタンスの選択] セクションで、virtio ドライバーを更新する必要があるインスタンスの ID を選択し、[実行] をクリックします。

  5. コマンドの実行結果を表示します。

    [コマンドの実行結果] タブでコマンドの実行結果を表示できます。次の図は、Windows インスタンスの1つのコマンド出力を示しており、インスタンスの virtio ドライバーが想定どおりに更新されたことを示しています。云助手更新

  6. 更新を有効にするために Windows インスタンスを一括再起動します。

    詳細については、「インスタンスを再起動する」をご参照ください。

よくある質問

  • PowerShell でスクリプトを実行できない場合はどうすればよいですか?

    解決策:セキュリティ上の理由から、PowerShell は特定のバージョンの Windows オペレーティングシステムでスクリプトの実行を禁止しています。 PowerShell のスクリプト実行ポリシーを変更して、PowerShell がスクリプトを実行できるようにすることができます。次の手順を実行します。

    1. 次のコマンドを実行して、PowerShell がスクリプトを実行できるようにします。

      Set-ExecutionPolicy Unrestricted
    2. A と入力し、Enter キーを押して、スクリプト実行ポリシーを変更します。

    3. スクリプトを再実行します。

    4. システムのセキュリティを確保するために、PowerShell はコマンド出力に警告メッセージを返します。 R と入力し、Enter キーを押して、スクリプトを再度実行します。

    5. スクリプトの実行後、システムのセキュリティを確保するために、次のコマンドを実行して PowerShell のデフォルト構成を復元することをお勧めします。

      Set-ExecutionPolicy Restricted
    6. A と入力し、Enter キーを押して、スクリプト実行ポリシーを変更します。

  • virtio ドライバーの更新後に、NIC ドライバーのデジタル署名がないというメッセージが表示された場合はどうすればよいですか?

    最新の Windows ドライバーパッケージを手動でダウンロードして、障害のある NIC ドライバーを置き換えることができます。次の手順を実行します。

    1. Windows インスタンスに接続します。

      詳細については、「ユーザー名とパスワードを使用して Windows インスタンスに接続する」をご参照ください。

    2. Windows ドライバーパッケージ をクリックして、最新の Windows ドライバーパッケージをダウンロードします。

      説明

      ドライバーパッケージを Windows インスタンスにダウンロードできない場合は、オンプレミスホストにドライバーパッケージをダウンロードできます。次に、リモートデスクトップ接続または FTP サイトを使用して、ドライバーパッケージを Windows インスタンスにアップロードします。ファイルのアップロード方法については、「ファイル転送方法を選択する」をご参照ください。

      パッケージのダウンロード後、new_virtio.zip ドライバーパッケージを見つけます。

    3. ドライバーパッケージを解凍し、new_virtio フォルダーを開きます。

      image

      サブフォルダーには、さまざまな Windows バージョンの virtio ドライバーインストールファイルが含まれています。次のサブフォルダーに注意してください。実際の Windows バージョンに基づいてサブフォルダーを選択します。

      • win10: このサブフォルダーには、Windows Server 2016、Windows Server 2019、および Windows 10 のドライバーインストールファイルを格納する amd64 サブフォルダーが含まれています。

      • Win8: このサブフォルダーには、Windows Server 2012 R2 および Windows 8.1 のドライバーインストールファイルを格納する amd64 サブフォルダーが含まれています。

      • win7: このサブフォルダーには、Windows Server 2008 R2 および Windows 7 のドライバーインストールファイルを格納する amd64 サブフォルダーが含まれています。

    4. 既存の NIC ドライバーをアンインストールします。

      この例では、Windows Server 2019 64 ビットを使用しています。他の Windows オペレーティングシステムバージョンでも同様の手順を実行できます。

      1. Windows コントロールパネルを開きます。 [コントロールパネルの検索] 検索ボックスで、デバイスマネージャー を検索して開きます。设备管理器

      2. [ネットワークアダプター] セクションで、[Red Hat VirtIO Ethernet Adapter] を右クリックし、[デバイスのアンインストール] を選択します。

        卸载设备

      3. [デバイスの削除の確認] ダイアログボックスで、[このデバイスのドライバーソフトウェアを削除する] を選択し、[OK] をクリックします。

    5. 最新の NIC ドライバーをインストールします。

      1. PowerShell で次のコマンドを実行して、対応するドライバーフォルダーを開きます。

        この例では、Windows Server 2019 64 ビットが使用されており、Windows ドライバーパッケージは C:\test ディレクトリに保存されています。したがって、ディレクトリは C:\test\new_virtio\win10\amd64 です。

        cd C:\test\new_virtio\win10\amd64
      2. 次のコマンドを実行して、最新の NIC ドライバーをインストールします。

        pnputil -i -a netkvm.inf

        次の図は、NIC ドライバーがインストールされていることを示しています。

        安装网卡驱动

    6. デバイスマネージャーに戻るか、デバイスマネージャーを再度開き、ホスト名を右クリックして、[ハードウェア変更のスキャン] を選択します。

      この例では、Windows インスタンスのホスト名は test です (次の図を参照)。

      扫描检测

      スキャンが完了すると、NIC ドライバーがデバイスマネージャーに表示されます。

    7. 最新の NIC ドライバーに関する情報を表示します。

      1. [ネットワークアダプター] セクションで、[Red Hat VirtIO Ethernet Adapter] を右クリックし、[プロパティ] を選択します。

      2. [Red Hat VirtIO Ethernet Adapter のプロパティ] ダイアログボックスで、[ドライバー] タブをクリックして、virtio ドライバーの情報を表示します。

        image

    8. virtio ドライバーの更新を有効にするために Windows インスタンスを再起動します。

      詳細については、「インスタンスを再起動する」をご参照ください。

参照