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

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

最終更新日:Aug 23, 2024

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

制限事項

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

手順

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

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

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

    virtioドライバーの更新スクリプトまたはCloud Assistantプラグインが期待どおりに実行されるようにするには、Windowsインスタンスにログインし、インスタンスにインストールされているサードパーティのウイルス対策ソフトウェアを一時的に無効にすることを推奨します。 インスタンスの組み込みウイルス対策ソフトウェアを無効にする必要はありません。 Windowsインスタンスのvirtioドライバーを更新する必要がないこと、またはvirtioドライバーの更新が完了したことを確認したら、できるだけ早い機会にサードパーティのウイルス対策ソフトウェアを再起動してください。

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

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

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

      詳細については、「パスワードまたはキーを使用したWindowsインスタンスへの接続」をご参照ください。

    2. [実行] ダイアログボックスを開きます。

    3. powershellと入力し、[OK] をクリックしてPowerShellを起動します。

    4. 次のコマンドを実行して、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よりも早い

      オンラインでディスクのサイズを変更することはできません。 このトピックの手順4の手順に従って、virtioドライバーを更新する必要があります。

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

      58017以降

      virtioドライバを更新しなくても、ディスクのシリアル番号を照会できます。 詳細については、「ディスクのシリアル番号の照会」をご参照ください。

      58017よりも早い

      ディスクのシリアル番号を照会することはできません。 このトピックの手順4の手順に従って、virtioドライバーを更新する必要があります。

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

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

      詳細については、「パスワードまたはキーを使用した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よりも早い

      オンラインでディスクのサイズを変更することはできません。 このトピックの手順4の手順に従って、virtioドライバーを更新する必要があります。

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

      58017以降

      virtioドライバを更新しなくても、ディスクのシリアル番号を照会できます。 詳細については、「ディスクのシリアル番号の照会」をご参照ください。

      58017よりも早い

      ディスクのシリアル番号を照会することはできません。 このトピックの手順4の手順に従って、virtioドライバーを更新する必要があります。

    説明

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

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

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

      • Security Centerバージョンで脆弱性を検出して修正できる場合は、指示に従って脆弱性を修正してください。 virtioドライバーを更新するために、このトピックの後続の操作を実行する必要はありません。 詳細については、「脆弱性の表示と処理」をご参照ください。

      • Security Centerバージョンが脆弱性検出をサポートしているが、脆弱性修正をサポートしていない場合は、このトピックのステップ4の手順に従ってvirtioドライバーを更新する必要があります。

  4. virtioドライバを更新します。

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

    • ECSインスタンスに多数のデータディスクがある場合、virtioドライバーの更新が完了するまでに1分から2分かかります。

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

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

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

    1. virtioドライバを更新するWindowsインスタンスに接続します。

      詳細については、「パスワードまたはキーを使用したWindowsインスタンスへの接続」をご参照ください。

    2. Windowsインスタンスで、virtioドライバーの更新に使用するスクリプトをダウンロードします。

      [InstallVirtIo.ps1] をクリックして、InstallVirtIo.ps1スクリプトをダウンロードします。

    3. InstallVirtIo.ps1virtioドライバを更新するためのスクリプトを実行します。

      この例では、InstallVirtIo.ps1スクリプトがC:\testディレクトリにダウンロードされます。

      1. C:\testディレクトリを開きます。

        C:\testを、InstallVirtIo.ps1スクリプトをダウンロードした実際のディレクトリに置き換えます。

      2. InstallVirtIo.ps1スクリプトを選択して右クリックし、PowerShellで実行する.

        执行脚本

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

        • InstallVirtIo.ps1スクリプトの実行が許可されていない場合は、PowerShellのスクリプト実行ポリシーを変更する必要があります。 詳細については、このトピックのFAQセクションを参照してください。

    4. InstallVirtIo.ps1スクリプトを実行した後、Windowsインスタンスを再起動します。 新しいドライバーバージョンは、インスタンスを再起動すると有効になります。

      詳細は、「インスタンスの再起動」をご参照ください。

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

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

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

      URLをクリックしてvirtioドライバをインストールします。 詳細については、「virtioドライバーのインストール」トピックの「手順」セクションをご参照ください。

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

      詳細については、「Windowsインスタンスへのファイルのアップロードまたはダウンロード」をご参照ください。

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

      詳細については、「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. ACS-ECS-InstallVirtioDriver-windows.ps1セクションで、[実行] をクリックします。

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

      • 複数のECSインスタンスでvirtioドライバーを一括更新するコマンドの内容を指定する

        1. [ECS Cloud Assistant] ページで、右上隅の [Create/Run Command] をクリックします。

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

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

            パラメーター

            説明

            コマンドソース

            [コマンドの内容を入力] を選択します。

            コマンドタイプ

            [PowerShell] を選択します。

            コマンドの内容

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

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

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

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

              次のコマンドの内容をcommand contentフィールドにコピーします。

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

            実行プラン

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

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

    5. クリック実行.

      コマンドの実行結果は、[コマンド実行結果] タブで確認できます。 詳細については、「実行結果の確認と一般的な問題のトラブルシューティング」トピックの「ECSコンソールでの実行結果の表示」セクションをご参照ください。 次の図は、いずれかのWindowsインスタンスのコマンド出力を示しています。これは、インスタンスのvirtioドライバーが正常に更新されたことを示しています。云助手更新

    6. Windowsインスタンスを一括再起動します。 Windowsインスタンスのvirtioドライバーを更新した後、更新を有効にするためにインスタンスを再起動する必要があります。

      詳細は、「インスタンスの再起動」をご参照ください。

よくある質問

  • 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インスタンスにアップロードします。 FTPサイトのビルド方法については、「WindowsインスタンスでのFTPサイトのビルド」をご参照ください。

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

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

      フォルダ内で、異なるWindowsバージョンに対応するサブフォルダを見つけます。

      image

      これらのサブフォルダには、対応するWindowsバージョンのvirtioドライバのインストールファイルが含まれています。 次のサブフォルダに注意してください。

      • 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. WindowsインスタンスのNICドライバをアンインストールします。

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

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

      2. [デバイスマネージャ] をクリックします。

      3. [ネットワークアダプター] をクリックし、[Red Hat VirtIO Ethernet Adapter] を右クリックします。

      4. [デバイスのアンインストール] をクリックします。卸载设备

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

        デバイスマネージャにRed Hat VirtIO Ethernet Adapterが表示されなくなった場合、NICドライバがアンインストールされます。

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

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

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

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

        pnputil -i -a netkvm.inf

        NICドライバがインストールされていることを次の図に示します。安装网卡驱动

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

      この例では、次の図に示すように、Windowsインスタンスのホスト名はtestです。扫描检测

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

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

      1. [ネットワークアダプター] をクリックし、[Red Hat VirtIO Ethernet Adapter] を右クリックします。

      2. [プロパティ] をクリックします。

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

        image

    8. Windowsインスタンスを再起動します。 Windowsインスタンスを再起動すると、virtioドライバーの更新が有効になります。

      詳細は、「インスタンスの再起動」をご参照ください。

関連ドキュメント