Windows 11 の Hyper-V に Vagrant をインストールして使用するための完全ガイド

最終更新: 08/04/2025

  • VagrantはWindows 8.1以降からHyper-Vをサポートし、再現可能な環境を実現します。
  • Hyper-V に Vagrant をインストールして構成するには、特定のネットワークおよびプロビジョニング設定が必要です。
  • Hyper-Vでは静的IPなどの特定の機能を簡単には許可しませんが、補完的なソリューションがあります。
  • ブート エラーを回避するには、Hyper-V 互換の「ボックス」イメージを使用することをお勧めします。
Hyper-V-1 に Vagrant をインストールする

 

入力、 Windowsで仮想環境を素早く整然とセットアップする 複雑なミッションのようですね。幸いなことに、次のようなツールがあります Hyper-V 上の Vagrant それを可能にするために。また、その使用は VirtualBox と関連付けられることが多いですが、多くのバージョンの Windows にすでに統合されているこの仮想化テクノロジとも完全に互換性があります。

それにもかかわらず、インストールと設定 浮浪者 Hyper-V では見た目ほど簡単ではありません。がある 主な手順 知っておくべき Microsoft 仮想化プロバイダーの特徴について説明します。この記事では、この方式に従って問題なく仮想環境を起動するために必要なすべての情報を提供します。

Vagrant とは何ですか? また、なぜ Hyper-V を使用するのですか?

浮浪者 です オープンソースツール 許可 シンプルな構成ファイルを通じて、再現可能で移植可能な仮想環境を構築します。 複数のオペレーティング システムをサポートし、開発者、システム管理者、またはコンピューター間で一貫した環境を必要とするユーザー向けに設計されています。

その部分については、 Hyper-VはMicrosoftのネイティブハイパーバイザーですWindows 8.1 以降の Professional、Enterprise、Education バージョンに含まれています。高いパフォーマンスと安定性を提供し、VirtualBox などの他のハイパーバイザーが最新の Windows 環境で競合する場合に特に役立ちます。

選択する最も一般的な理由の1つは Hyper-Vの VirtualBoxの代わりに、 Dockerデスクトップ または WSL2 (Windows Subsystem for Linux) では、Hyper-V を有効にする必要があります。これにより、VirtualBox との非互換性が生じ、サービスをアクティブ化および非アクティブ化したくない場合は、Hyper-V が唯一の有効なソリューションになります。

限定コンテンツ - ここをクリックしてください  ヒンジですべての連絡先を削除するにはどうすればよいですか?

VagrantをHyper-Vで使用する利点

VagrantのインストールとHyper-Vの有効化

Hyper-VでVagrantを使い始める前に、 コンピュータでHyper-Vが有効になっていることを確認してください。通常、デフォルトでは有効になっていないので注意してください。これは、「Windows の機能を有効にする」セクションから手動で行うか、PowerShell で次のコマンド (管理者として) を使用して行うことができます。

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All

このコマンドを実行した後、 コンピュータの再起動が必要です 変更を有効にするため。

同時に、 公式サイトからVagrantをダウンロードしてインストールします。インストーラーにはコマンドを使用するために必要なものがすべて含まれています vagrant どの端末からも直接。

インストールが完了したら、ターミナルで次のコマンドを実行して、すべてが正しいかどうかを確認できます。

vagrant --version

このコマンドはインストールされているバージョンを返します。たとえば、 浮浪者2.4.0.

ステップ1: ベース環境を準備する

Vagrantは、プリインストールされたオペレーティングシステムのベースイメージである「ボックス」をベースにしています。。これらは、Vagrant Cloud と呼ばれるパブリック インデックスから自動的にダウンロードされます。まず、プロジェクトで作業するフォルダーを作成する必要があります。例えば:

mkdir mi_proyecto_vagrant
cd mi_proyecto_vagrant
vagrant init generic/alpine36

このコマンド Vagrantfileというファイルを生成します ここにすべての仮想マシン構成が保存されます。その中で、Hyper-V を使用するためにいくつかの重要なパラメータを調整する必要があります。

Hyper-V 上の Vagrant

Hyper-V プロバイダーの構成

デフォルトでは、 VagrantはVirtualBoxをプロバイダーとして使用しようとします。 Hyper-V を使用するには、次のコマンドを実行して毎回これを指定できます。

vagrant up --provider=hyperv

または、環境変数を設定して Hyper-V をデフォルトのプロバイダーとして設定します。

$env:VAGRANT_DEFAULT_PROVIDER="hyperv"

この手順は、PowerShell から実行することも、システム環境変数で直接実行することもできます。

限定コンテンツ - ここをクリックしてください  Windows 9003 の Valorant でエラー VAN11 を修正する方法

Vagrantfile内では、 特定の設定でプロバイダーを指定することをお勧めします。基本的な例は次のようになります。

Vagrant.configure("2") do |config|
  config.vm.box = "generic/alpine36"
  config.vm.provider "hyperv" do |h|
    h.vmname = "mi_vm_hyperv"
    h.memory = 2048
    h.cpus = 2
  end
end

これらのパラメータを使用すると、 RAM、コア数、Hyper-V でのマシン名.

Hyper-V のネットワークと接続

VagrantのHyper-Vの弱点の一つは、ネットワークを自動的に構成しないことである。。このため、Hyper-V ですでに外部接続が作成されている vSwitch を手動で選択する必要があります。

プライベート ネットワークを関連付けたり、特定の vSwitch を選択したりするには、以下を使用します。

config.vm.network "private_network", bridge: "NombreDelvSwitch"

覚えておいてください Hyper-V では、Vagrant から静的 IP を直接構成することはできません。したがって、スクリプトを使用するか、ゲスト オペレーティング システムの設定を変更して設定する必要があります。

 

ハイパーv

マシンアクセス: SSHおよびその他のツール

WindowsではSSHが使えないと思われるかもしれませんが、 VagrantにはSSHクライアントが組み込まれているなので、追加のプログラムをインストールしなくてもアクセスできます。

ログイン:

vagrant ssh

PuTTYを使用することもできますが、その場合は Vagrantによって生成された秘密鍵をPPK形式に変換する (PuTTYgen を使用) 直接サポートされていないためです。キーは次の場所にあります:

.vagrant/machines/default/hyperv/private_key

これにより、任意の SSH クライアントから手動で接続できるようになります。

スクリプトによるプロビジョニング

Vagrantの最大の利点の一つは、 スクリプトによる自動プロビジョニング。繰り返しインストール用のシェル スクリプトを起動できます。

config.vm.provision "shell", path: "bootstrap.sh"

ファイル内 bootstrap.sh 次のような指示を含めることができます。

apk update
apk add git

これは実行されます VMが初めて作成されるとき。後でスクリプトを再適用する場合は、次のようにします。

vagrant reload --provision

スクリプトによるVMのプロビジョニング

複数のマシンでの作業

Vagrant を使用すると、1 つのファイルから複数のマシンを管理できます。これはラボやサーバー クラスターに役立ちます。ラボの一般的な設定には、次のような複数の定義が含まれます。

Vagrant.configure("2") do |config|
  config.vm.define "master" do |master|
    master.vm.box = "bento/ubuntu-20.04"
    master.vm.hostname = "master"
    master.vm.network :private_network, ip: "10.0.0.10"
  end

  (1..2).each do |i|
    config.vm.define "node#{i}" do |node|
      node.vm.box = "bento/ubuntu-20.04"
      node.vm.hostname = "node#{i}"
      node.vm.network :private_network, ip: "10.0.0.#{i + 10}"
    end
  end

  config.vm.provision "shell", inline: <<-SHELL
    apt-get update
    apt-get install -y avahi-daemon libnss-mdns
  SHELL
end

これにより、機械は名前で互いを認識することができる。 ノード1.ローカル o マスター.ローカル mDNS の使用により実現しました。

限定コンテンツ - ここをクリックしてください  Apple アプリケーションはどのように使用されますか?

パフォーマンスと互換性に関するヒント

Hyper-V 上の Vagrant のパフォーマンスは一般的に良好ですが、以下の要素に依存します。

  • ホストチームの力 (RAM、CPU、ディスクタイプ)。
  • 使用されるベースイメージ (最適化されたボックスを使用することをお勧めします)。
  • 同時に実行されているマシンの数。
  • 差分ディスク使用量とシン プロビジョニング。

複数の環境をスクリプト化する一般的な方法は、 パーソナライズされたボックス ツール、サービス、ルートなどのすべてのカテゴリがすでに含まれています。これにより、インスタンスごとに同じものを再インストールする必要がなくなります。

WindowsのHyper-VでVagrantを使用するのは完全に実行可能ですただし、いくつかの制限は、小さな調整で解決できます。 Hyper-V は最新の Microsoft テクノロジとの堅牢性と互換性を提供し、Vagrant は開発環境の自動化と移植性を促進します。