Windows 開発・運用環境 総合リファレンス

【概要】Windows上での開発・運用環境の構築と保守に必要な情報をまとめたリファレンスである。プログラミング言語(Python・C/C++・Java・Perl・Rust・Go など)、ビルドツール(Visual Studio Build Tools・CMake・LLVM)、データベース(MySQL・Firebird・SQL Server)、WSL2によるLinux環境、Windows Developer Configurations による自動環境構築、VirtualBoxとVagrantによる仮想化、MSYS2・MinGW-w64・Cygwinによるツールチェーンを扱う。ソフトウェアのインストールにはwinget(Windows標準のパッケージマネージャ)を主に使用し、一部Chocolateyを使用する。システム保守では、Windows Update・DISM・SFC・Sysinternalsツールを取り上げる。

【目次】

【サイト内の関連ページ】

Windows の基本操作・コマンド操作・設定と、アプリ・開発環境・ローカル AI の導入

0. 基本操作スキルと概念

本リファレンスを活用するために必要な基本的な操作と概念をまとめる。

0.1 コマンドプロンプト操作

コマンドプロンプトの開き方

  1. Windows キーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」をクリック
  2. または Windows + Rcmd と入力 → Enter

起動すると C:\Users\ユーザー名> のようなプロンプトが表示される。

コマンドプロンプトを管理者として開く方法

  1. Windows キーを押す → 検索窓に cmd と入力
  2. 「コマンドプロンプト」を右クリック「管理者として実行」
  3. UAC(ユーザーアカウント制御)の確認ダイアログで 「はい」 をクリック

管理者として起動したコマンドプロンプトのタイトルバーには 「管理者: コマンドプロンプト」 と表示される。

通常権限と管理者権限の違い

本リファレンスでは winget install --scope machine を使うインストールやシステム環境変数の変更に管理者権限が必要である。

その他のコマンドプロンプト操作

0.2 環境変数・PATH

環境変数とは、OSが管理する名前と値のペアである。プログラムの動作に影響する設定値を保存する仕組みである。例: JAVA_HOME=C:\Program Files\Java\jdk-25

PATH 環境変数とは、コマンドを実行するとき、OSが実行ファイルを探すフォルダの一覧である。セミコロン(;)で区切って複数のフォルダを指定できる。例: PATH=C:\Windows\system32;C:\Program Files\Python314

「PATH が通っている」とはどういう意味か

あるコマンドの実行ファイルが、PATH に登録されたフォルダのいずれかに存在することである。PATH が通っていれば、フォルダ名を省略してコマンド名だけで実行できる。

確認方法: where コマンド名 を実行する。パスが表示されれば通っている。「ファイルが見つかりません。」と表示されれば通っていない。

PATH が通っていない場合に出るエラーの例:

'python' は、内部コマンドまたは外部コマンドとして認識されていません。

システム環境変数とユーザー環境変数の違い

環境変数変更後の注意: すでに開いているコマンドプロンプトには変更が反映されない。新しいコマンドプロンプトを開き直す必要がある。

よく使われる特殊変数:

0.3 winget の基本

wingetは、Microsoftが提供するWindows公式のパッケージマネージャである。コマンド一つでソフトウェアのインストール・更新・削除ができる。Windows 11 には標準搭載されている。

主要コマンド:

winget install パッケージID     REM インストール
winget upgrade パッケージID     REM 更新
winget uninstall パッケージID   REM アンインストール
winget search キーワード        REM パッケージを検索
winget list                     REM インストール済みパッケージの一覧

--scope machine--scope user の違い

なお、インストーラーがユーザー単位のインストールしかサポートしない場合、--scope machine を指定するとインストールが失敗することがある。その場合は --scope user を用いる。

--accept-source-agreements--accept-package-agreements: インストール時の確認プロンプトを自動で承認するオプション。スクリプトでの自動インストール時に使う。

--override パラメータ: wingetがインストーラーに渡す引数を上書きするオプション。インストーラー固有のオプション(/quiet など)を指定するときに使う。

インストール確認: インストール後に where コマンド名 でパスを確認するか、winget list パッケージID でインストール状態を確認する。

0.4 pip の基本

pipは、Pythonの標準パッケージ管理ツールである。PyPI(Python Package Index)からライブラリをインストールできる。

主要コマンド:

python -m pip install パッケージ名    REM インストール
python -m pip uninstall パッケージ名  REM アンインストール
python -m pip list                     REM インストール済みパッケージの一覧
python -m pip install -U パッケージ名 REM 最新版に更新(upgrade)

-U オプション: 最新版に更新する(upgrade)。すでにインストール済みでも最新版を再インストールする。

表示が止まって見える場合: パッケージのダウンロードやインストール中は一時的に画面の更新が止まる。プロンプトが戻るまで待つCtrl+C で中断可能)。

インストール完了の確認: プロンプトが戻り、Successfully installed ... と表示されれば成功。エラーメッセージが出ていないことも確認する。

0.5 ファイルシステム・パス

Windowsのパスの書き方: ドライブレター + コロン + バックスラッシュ + フォルダ名/ファイル名。フォルダの区切り文字はバックスラッシュ(\)である。例: C:\Program Files\Python314\python.exe

絶対パスと相対パス

拡張子: ファイル名末尾のピリオド以降の部分。主な種類: .exe(実行ファイル)、.bat(バッチスクリプト)、.py(Pythonスクリプト)、.java(Javaソースコード)、.c.cpp(C/C++ソースコード)

拡張子の表示設定: エクスプローラー上部の「表示」→「表示」→「ファイル名拡張子」にチェックを入れる。

ファイル名の大文字・小文字: Windows のファイル操作 API は既定で大文字・小文字を区別しないMyFile.txtmyfile.txt は同じファイルとして扱われる(NTFS はファイル名の大文字・小文字を保持し、ディレクトリ単位で区別を有効化することもできる)。

0.6 インストール全般の概念

ソフトウェアのインストールとは、実行ファイル・ライブラリ・設定ファイルなどを適切なフォルダにコピーし、必要な設定(レジストリ、環境変数など)を行うことである。

インストール後のコマンドプロンプト再起動: インストール時にPATHが変更された場合、すでに開いているコマンドプロンプトには反映されない。インストール後は新しいコマンドプロンプトを開く。

--scope machine インストール後に全ユーザーが使える理由: システム環境変数のPATHに実行ファイルのフォルダが追加されるため、すべてのユーザーのコマンドプロンプトから使えるようになる。

インストールの確認方法

サイレントインストール: /quiet/silent オプションをインストーラーに渡すことで、GUI画面を表示せずにインストールされる。wingetでは --override で指定する。

GUIインストーラーとコマンドラインインストールの違い: GUIインストーラーは画面の指示に従ってクリックしてインストールする。コマンドラインはwingetなどのコマンドを入力してインストールし、自動化・一括処理が可能である。

0.7 ソースコード・コンパイルの基本概念

ソースコード: 人間が書くプログラムのテキストファイルである(例: .c.cpp.java.py ファイル)。

コンパイル: ソースコードをCPUが実行できる機械語(バイナリ)に変換することである。CやC++は実行前にコンパイルが必要。Pythonはインタープリタが逐次実行するため、利用者が明示的にコンパイルする必要はない。

オブジェクトファイルと実行ファイル

リンク(Link): 複数のオブジェクトファイルとライブラリを結合して実行ファイルを生成する処理である。リンカ(link.exelld-link など)が行う。

0.8 テキストエディタ・ファイル操作

文字コード(UTF-8): テキストファイルの文字の表現方式である。本リファレンスのコード例ではUTF-8を前提にしている場合が多い。

保存場所とカレントディレクトリ: コマンドプロンプトでスクリプトを実行するには、カレントディレクトリをファイルの保存場所に合わせるか、ファイルのフルパスを指定する。cd フォルダのパス で移動する。

スクリプトファイルを作成して実行するまでの流れ

  1. テキストエディタで内容を書き、正しい拡張子を付けて保存(例: hello.py
  2. コマンドプロンプトでファイルのあるフォルダへ移動(cd フォルダのパス
  3. インタープリタで実行(例: python hello.pyperl hello.pl

0.9 Windowsのシステム操作

「ファイル名を指定して実行」: Windows + R でダイアログを開く。プログラム名やコマンドを直接入力して実行できる(例: cmdpowershellnotepad)。

スタートメニューの検索窓: Windowsキーを押すと表示される。アプリ名・設定名で検索して直接起動できる。

タスクマネージャー: Ctrl + Shift + Esc(または Ctrl + Alt + Delete → 「タスクマネージャー」)で開く。実行中のプロセスとCPU・メモリ使用量を確認でき、応答しないプロセスを強制終了できる。

Windows Update の確認・実行: スタートメニューの検索窓に「windows update」と入力 → 「Windows Update の設定」を開く → 「更新プログラムのチェック」をクリックする。

1. Windows基本設定と操作

1.1 Windows のクリーンインストール

「Windows 11クリーンインストールガイド」で説明

【概要】 Windows 11のインストール作業では、Media Creation ToolでISOファイルをダウンロードし、USBメディアを直接作成するか、ダウンロードしたISOファイルを使用してRufusで詳細な設定が可能なUSBメディアを作成する。インストールでは、TPM 2.0などのシステム要件を確認後、アップグレードまたはクリーンインストールを実行する。BIOS/UEFI設定画面を表示するには、コマンド「shutdown /r /fw /t 0」を使用する。

【関連する外部ページ】

1.2 Windows 11 の基本設定

「Windows 11の基本設定」で説明

【概要】Windows 11の基本設定について解説する。不要なプリインストールアプリの削除、ディスクのクリーンアップ、空き領域のゼロフィル(削除済みデータの復元を困難にする手法)、長いパス名制限(従来の260文字制限)の緩和、システムサービスの設定などをコマンドラインから実行する方法に加え、BIOS/UEFIへのアクセス、バックアップと復元、トラブルシューティングについても取り上げる。

1.3 Windowsシステムの基本操作ガイド

「Windowsシステムの基本操作ガイド」で説明

【概要】Windows 11では、ウィンドウのサイズ変更、移動、最大化・最小化などのウィンドウ操作が基本となる。このほか、コマンドプロンプト(cmd)によるコマンドライン操作、テキストエディタ(メモ帳)での文書編集、ファイルのコピー・切り取り・貼り付け・名前変更・削除といったファイル操作を扱う。

2. Windows のアプリ、データファイル

ソフトウェアのインストール方法として、wingetによる自動一括インストールと、ソフトウェアごとの手動インストールの二通りがある。目的に応じて使い分ける。

2.3 テキストエディタ (Visual Studio Code, Notepad++, Emacs)

テキストエディタは、テキストファイルを編集するソフトウェアである。プログラミングや設定ファイルの編集に用いる。文字コードや保存場所については「0.8 テキストエディタ・ファイル操作」に記した内容と同様である。

Windowsには「メモ帳 (notepad)」が標準で搭載されている。プログラミング向けのエディタとして、Visual Studio Code、Notepad++、Emacsなどが利用できる。これらは、シンタックスハイライト、コード補完、デバッグ支援などの機能を持つ。

Visual Studio Code (VS Code)

Visual Studio Codeは、Microsoftが開発する無料のソースコードエディタである。多くのプログラミング言語に対応し、デバッグ機能、Git連携、拡張機能によるカスタマイズに対応する。インストール手順と拡張機能の設定については「Windowsのさまざまなアプリケーション」の「3. 開発環境」セクションで説明している。

wingetによるインストール例(管理者権限のコマンドプロンプトで実行):

winget install --scope machine --id Microsoft.VisualStudioCode

【関連する外部ページ】

【サイト内の関連ページ】

Notepad++

Notepad++は、Windows用の無料のテキストエディタである。プログラミング言語のシンタックスハイライト、自動補完、プラグインによる機能拡張、文字コード変換、正規表現による検索・置換の機能を持つ。

Notepad++ のインストール(Windows上)
  1. Windowsで、コマンドプロンプトを管理者権限で起動する(Windowsキーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」を右クリック → 「管理者として実行」)
  2. 次のコマンドを実行する (wingetを使用):
    winget install --scope machine Notepad++.Notepad++
    powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable('Path', 'Machine'); if ($oldpath -notlike '*C:\Program Files\Notepad++*') { $newpath = $oldpath + ';C:\Program Files\Notepad++'; [System.Environment]::SetEnvironmentVariable('Path', $newpath, 'Machine') }"

    (2行目はNotepad++のフォルダをシステム環境変数 Path に追加する。設定後は新しいコマンドプロンプトを開いて反映させる)

【関連する外部ページ】

【サイト内の関連ページ】

Notepad++の設定

Emacs エディタ

Emacsは、Lisp言語による拡張性を持つテキストエディタであり、統合開発環境としても利用される。キーボード中心の操作が特徴で、テキスト編集からシェル実行までを行える。

主要な操作例:

Emacs のインストール(Windows上)

Windowsで、コマンドプロンプトを管理者権限で起動し(Windowsキーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」を右クリック → 「管理者として実行」)、以下を実行する。

REM Emacs をシステム領域にインストール
winget install --scope machine GNU.Emacs --force
REM Emacs のパスを自動検出して PATH に追加
powershell -NoProfile -Command "$d=Get-ChildItem 'C:\Program Files\Emacs' -Directory|Where-Object{$_.Name -match '^emacs-\d'}|Sort-Object{[version]($_.Name -replace '^emacs-','')} -Descending|Select-Object -First 1; if($d){$p=$d.FullName+'\bin'; $c=[Environment]::GetEnvironmentVariable('Path','Machine'); if((Test-Path $p) -and (';'+$c+';' -notlike \"*;$p;*\")){[Environment]::SetEnvironmentVariable('Path',\"$c;$p\",'Machine')}}"

【関連する外部ページ】

【サイト内の関連ページ】

2.4 データファイル (CSV)

CSV (Comma Separated Values)

CSVは、データをカンマ(,)で区切って格納する、プレーンテキストのファイル形式である。表形式のデータの保存・交換に用いられる。

Microsoft Excel形式のCSVファイルの例と特徴:

りんご,150,4,200,"12月30日に購入した、青森産の品種"
みかん,30,2,60,"""甘夏""は売り切れ"

2.5 その他のツール

フリーソフトウェアは無償で利用できるが、ライセンス条件はソフトウェアごとに異なる。利用前にライセンスを確認する。本節で使用するすべてのインストールコマンドは、管理者権限のコマンドプロンプトで実行する(Windowsキーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」を右クリック → 「管理者として実行」)。

【環境構築・仮想化】

【プログラミング・統計・データ処理】

【開発エディタ・ツール】

【エンジニアリング・CAD・GIS・文書作成】

【CG・映像・音声処理】

【テキスト・翻訳・閲覧】

【ファイル管理・検索・ディスク管理】

【画像・図解】

【システム・ネットワーク・その他】

3. プログラミング環境構築

3.1 Python とツール (pip, uv, venv, Jupyter など)

Python の安定版は 3.14 である(2025年10月リリース)。使用するライブラリが対応しているバージョンを選択する。最新の情報はPython公式サイトで確認する。

Python

Pythonは、標準ライブラリと外部パッケージが充実したプログラミング言語である。Web開発、データサイエンス、機械学習、自動化などで利用されている。

Python のインストール手順(wingetを使用)は「Windowsのさまざまなアプリケーション」の「3. 開発環境」セクションで説明している。wingetを使用しない方法は別ページ »で説明している。

wingetによるインストール例(管理者権限のコマンドプロンプトで実行):

winget install --scope machine --id Python.Python.3.14

インストールの確認

新しいコマンドプロンプトを開き、以下を実行する。

python --version

バージョン番号(例:Python 3.14.x)が表示されればインストール成功である。「'python' は、内部コマンドまたは外部コマンドとして認識されていません。」と表示される場合は、Python の実行ファイルのフォルダが PATH に登録されていない。where python でパスを確認する。

【サイト内の関連ページ】

pip: Python パッケージ管理

pipは、Pythonの標準的なパッケージ管理システムである。PyPI (Python Package Index) などからライブラリやツールをインストール、更新、削除できる。

pipの更新と開発ツールのインストール例:

  1. Windowsで、コマンドプロンプトを管理者権限で起動する(Windowsキーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」を右クリック → 「管理者として実行」)
  2. 次のコマンドを実行する:
    python -m pip install -U pip setuptools
    python -m pip install requests notebook jupyterlab jupyter jupyter-console qtconsole jupytext spyder
    pipインストール例

pipの詳細: 別ページ »

uv: Pythonパッケージ・プロジェクトマネージャ

uvは、Astral社が開発するRust製のPythonパッケージ・プロジェクトマネージャである。pip・pip-tools・virtualenv・pyenv・Poetry の機能を単一のツールで提供する。キャッシュと並列処理により、pip よりも短時間でパッケージをインストールできる。Microsoft の Windows Developer Configurations の Python ワークロードにも Python 3.14 とともに含まれている。

uv のインストール(Windows上)

Windowsで、コマンドプロンプトを管理者権限で起動し(Windowsキーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」を右クリック → 「管理者として実行」)、以下を実行する。

winget install --scope machine --id astral-sh.uv

インストール後、新しいコマンドプロンプトを開いて uv --version でバージョンを確認する。

主要コマンド:

uv pip install パッケージ名    REM pip 互換のインストール
uv venv                       REM 仮想環境の作成
uv run script.py              REM スクリプトの実行(依存関係を自動解決)
uv python install 3.12        REM Pythonバージョンの管理
uv init プロジェクト名        REM 新規プロジェクトの作成
uv add パッケージ名           REM プロジェクトへの依存パッケージ追加

【関連する外部ページ】 https://docs.astral.sh/uv/

venv: Python 仮想環境

venvは、Pythonプロジェクトごとに独立した実行環境(仮想環境)を作成する標準モジュールである。プロジェクトごとに異なるバージョンのパッケージを使用でき、依存関係の衝突を避けられる。uvを使う場合は uv venv で同等の環境を作成できる。

python -m venv .venv
.venv\Scripts\activate

venvの詳細: 別ページ »

Python デバッガ

Pythonプログラムのデバッグには以下のツールを用途に応じて選択する。

Visual Studio Code でのグラフィカルなデバッグ方法についてはVisual Studio CodeでPythonプログラミングを参照する。

Python 開発ツール

その他のPython関連情報

3.2 C/C++ とツール (Visual Studio, Build Tools, CMake など)

Build Tools for Visual Studio

Build Tools for Visual Studio は,Visual Studio の IDE を含まない C/C++ コンパイラ,ライブラリ,ビルドツール等のコマンドライン向け開発ツールセットである。

Visual Studio

Visual Studio は統合開発環境であり,エディタ・デバッガ・プロファイラを含む。C/C++ のコンパイラおよびビルドツールは Build Tools と共通である。

Build Tools for Visual Studio 2026 のインストール(Windows 上)

Visual Studio 2026(バージョン 18.x)が現行の安定版であり、winget の安定版チャネルのパッケージIDは Microsoft.VisualStudio.BuildTools である。以下のコマンドを管理者権限のコマンドプロンプトで実行する (Windowsキーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」を右クリック → 「管理者として実行」)。

REM VC++ ランタイム
winget install --scope machine --id Microsoft.VCRedist.2015+.x64 -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "/quiet /norestart"

REM Build Tools + Desktop development with C++(VCTools)+ 追加コンポーネント(一括)
winget install --id Microsoft.VisualStudio.BuildTools --accept-source-agreements --accept-package-agreements ^
    --override "--passive --wait --norestart --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.ComponentGroup.ClangCL --add Microsoft.VisualStudio.Component.VC.CMake.Project --add Microsoft.VisualStudio.Component.Windows11SDK.26100"

インストール完了の確認

winget list Microsoft.VisualStudio.BuildTools

Visual Studio 2026 での詳細な手順は「Windowsのさまざまなアプリケーション」の「3. 開発環境」セクションで説明している。

Build Tools for Visual Studio 2022 のインストール(Windows 上)

Visual Studio 2022(v143 ツールセット)を必要とするプロジェクトでは、2022 の Build Tools をインストールする。以下のコマンドを管理者権限のコマンドプロンプトで実行する (Windowsキーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」を右クリック → 「管理者として実行」)。

REM VC++ ランタイム
winget install --scope machine --id Microsoft.VCRedist.2015+.x64 -e --silent --disable-interactivity --force --accept-source-agreements --accept-package-agreements --override "/quiet /norestart"

REM Build Tools + Desktop development with C++(VCTools)+ 追加コンポーネント(一括)
winget install --id Microsoft.VisualStudio.2022.BuildTools --accept-source-agreements --accept-package-agreements ^
    --override "--passive --wait --norestart --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.ComponentGroup.ClangCL --add Microsoft.VisualStudio.Component.VC.CMake.Project --add Microsoft.VisualStudio.Component.Windows11SDK.26100"

--add で追加されるコンポーネント

インストール完了の確認

winget list Microsoft.VisualStudio.2022.BuildTools

Visual Studio Community の追加インストール(Windows 上)

Build Tools では対応できないケース(GUI でのコード編集・デバッグ・プロファイリング、C++/CLI による .NET との相互運用開発、NuGet パッケージマネージャーの GUI 使用)がある場合は、Visual Studio Community を追加インストールする。

以下のコマンドを管理者権限のコマンドプロンプトで実行する(Windowsキーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」を右クリック → 「管理者として実行」)。Visual Studio 2026 Community のパッケージIDは Microsoft.VisualStudio.Community、2022 Community は Microsoft.VisualStudio.2022.Community である。

winget install --scope machine --accept-source-agreements --accept-package-agreements Microsoft.VisualStudio.Community --override "--quiet --add Microsoft.VisualStudio.Workload.NativeDesktop Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core Microsoft.VisualStudio.Component.VC.CLI.Support Microsoft.VisualStudio.Component.CoreEditor Microsoft.VisualStudio.Component.NuGet Microsoft.VisualStudio.Component.Roslyn.Compiler Microsoft.VisualStudio.Component.TextTemplating Microsoft.VisualStudio.Component.Windows11SDK.26100 Microsoft.VisualStudio.Component.VC.Tools.x86.x64 Microsoft.VisualStudio.Component.VC.ATL Microsoft.VisualStudio.Component.VC.ATLMFC Microsoft.VisualStudio.Component.VC.Llvm.Clang Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset Microsoft.VisualStudio.Component.VC.CMake.Project Microsoft.VisualStudio.Component.VC.ASAN Microsoft.VisualStudio.Component.Vcpkg"

Visual Studio Community は無償だが、使用できる条件(個人開発者、オープンソース開発、学術研究、小規模組織)がライセンスで定められており、条件を満たさない場合は Professional 以上のエディションが必要となる。

インストール完了の確認

winget list Microsoft.VisualStudio.Community

Visual Studio の Native Tools コマンドプロンプト

Visual Studio の C/C++ コンパイラやビルドツールをコマンドラインから利用するには,Native Tools コマンドプロンプトを使用する。このコマンドプロンプトは,コンパイラやリンカの実行に必要な環境変数(PATH,INCLUDE,LIB など)が設定された状態で起動する。

起動方法:Windowsキーを押し、検索窓に「Native Tools」と入力し,表示される「x64 Native Tools Command Prompt for VS ...」を選択する。64 ビット環境では「x64 Native Tools」を,32 ビットビルドが必要な場合は「x86 Native Tools」を選択する。

起動後、where cl を実行するとコンパイラ(cl.exe)のパスが表示される。

Native Tools Command Prompt

【vcvarsall.bat による環境設定】

通常のコマンドプロンプトでVisual Studioのビルド環境を利用する場合は、vcvarsall.batを実行して環境変数を設定する。

rem 64ビット開発環境用
"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x64

rem 32ビット開発環境用
"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x86

(vcvarsall.batのパスはVisual Studioのバージョンやエディションによって異なる)

Microsoft Visual Studio のバージョン番号とツールセット

Visual Studioの内部バージョン番号は、ツールセットの選択やライブラリのバイナリ名で参照される。

Visual Studio 2013: vc12(プラットフォームツールセット v120)
Visual Studio 2015: vc14(v140)
Visual Studio 2017: vc15(v141)
Visual Studio 2019: vc16(v142)
Visual Studio 2022: vc17(v143)
Visual Studio 2026: vc18(v145)

Windows での C/C++ コンパイラ選択肢

Windowsにおける主要なC/C++コンパイラ環境:

MinGW-w64/MSYS2 環境でのコンパイル例 (GCC)

hello.c をコンパイルし、実行ファイル hello.exe を生成する例:

# 通常のコンパイル
gcc hello.c -o hello.exe

# デバッグ情報付きでコンパイル
gcc -g hello.c -o hello.exe

# 依存DLLの確認 (objdumpコマンド)
objdump -p hello.exe | findstr "DLL Name"

デバッガ gdb

gdb (GNU Debugger) は、GCCやClangでコンパイルされたプログラムのデバッグに用いるコマンドラインデバッガである。MSYS2・MinGW-w64・Cygwin環境に含まれる。

基本的な使い方:

# デバッグ情報付きでコンパイル (-g オプション)
gcc -g hello.c -o hello.exe

# gdb を起動
gdb hello.exe

# gdb 内でのコマンド例
(gdb) list         # ソースコード表示
(gdb) break main   # main関数にブレークポイント設定
(gdb) run          # プログラム実行開始
(gdb) next         # 次の行へステップ実行 (関数呼び出しはスキップ)
(gdb) step         # 次の行へステップ実行 (関数呼び出しの中に入る)
(gdb) print 変数名 # 変数の値を表示
(gdb) continue     # 次のブレークポイントまで実行継続
(gdb) quit         # gdb 終了

デバッグの基本操作

デバッグは、プログラムの誤り(バグ)を発見し修正する作業である。デバッガは以下の機能を提供する。

デバッガにはgdb (コマンドライン) のほか、Visual StudioやVisual Studio Codeなどの統合開発環境(IDE)に組み込まれたグラフィカルなデバッガがある。

msbuild の実行 (Visual Studio プロジェクト用)

msbuildは、Visual Studioのプロジェクトファイル (.sln、.vcxprojなど) をコマンドラインからビルドするツールである。Native Tools コマンドプロンプトなど、ビルド環境が設定された状態で使用する。

実行例:

# Release構成でリビルド (hoge.sln)
msbuild hoge.sln /p:Configuration=Release /t:Rebuild /m

# Release構成、x64プラットフォームで全ターゲットをビルド
msbuild hoge.sln /p:Configuration=Release /p:Platform="x64" /t:all /m

(/m オプションはマルチコアビルドを有効にする)

3.3 Java (JDK)

JDK (Java Development Kit)

JDK (Java Development Kit) は、Javaアプリケーションを開発・実行するために必要なソフトウェア群である。コンパイラ (javac)、Java仮想マシン (JVM、java)、標準ライブラリ、デバッグツールなどが含まれる。

JDK には LTS (Long-Term Support) バージョンがあり、長期のサポートが提供される (JDK 17、21、25)。JDK 25 が最新の LTS リリースである。(最新情報はOracle JDK FAQ参照)

JDK のインストール(Windows上、Oracle JDK 25 の例)
  1. Windowsで、コマンドプロンプトを管理者権限で起動する(Windowsキーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」を右クリック → 「管理者として実行」)
  2. 次のコマンドを実行する (wingetを使用):
    winget install --scope machine Oracle.JDK.25

    (JAVA_HOME 環境変数やPATHの設定はインストーラが行う。設定されない場合は手動で設定する)

    OpenJDK ビルドを使用する場合は次のコマンドを実行する。

    winget install --scope machine Microsoft.OpenJDK.25

【関連する外部ページ】

【サイト内のJava関連ページ】

Java のバージョンの確認、コンパイル、実行

【Java のバージョンの確認】

java -version
Javaバージョン確認

【Windows での Java プログラムのコンパイルと実行】

  1. テキストエディタで以下のJavaコードを Main.java という名前で保存する (例: %USERPROFILE% 内)。
    class Ball {
        double x;
        double y;
        String color;
        public Ball(double x, double y, String color) {
            this.x = x;
            this.y = y;
            this.color = color;
        }
        public double dist() {
            return Math.sqrt(this.x * this.x + this.y * this.y);
        }
    }
    
    public class Main {
        public static void main(String[] args) {
            Ball a = new Ball(1, 2, "red");
            Ball b = new Ball(3, 4, "green");
            System.out.printf("%f\n", a.dist());
            System.out.printf("%f\n", b.dist());
        }
    }
    
  2. コマンドプロンプトで Main.java があるディレクトリに移動し、以下のコマンドを実行する。
    # コンパイル (UTF-8でエンコードされている場合)
    javac -encoding UTF-8 Main.java
    
    # 実行
    java Main

コンパイルにより Main.class ファイルが生成され、java Main コマンドでそのクラスファイルが実行される。

Javaコンパイルと実行

3.4 その他言語・ツール (Perl, SWIG, LLVM など)

Strawberry Perl

Strawberry Perlは、Windows環境でPerlスクリプトを実行・開発するためのツール一式を提供するディストリビューションである。Perl本体に加え、コンパイラ(GCC)や外部ライブラリとの連携に必要なツールが含まれている。

Strawberry Perl のインストール(Windows上)
  1. Windowsで、コマンドプロンプトを管理者権限で起動する(Windowsキーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」を右クリック → 「管理者として実行」)
  2. 次のコマンドを実行する (wingetを使用):
    winget install --scope machine StrawberryPerl.StrawberryPerl
  3. 動作確認:
    1. テキストエディタで以下の内容を a.pl として保存 (例: %USERPROFILE% 内)。UTF-8(BOMなし)で保存する。
      use strict;
      use warnings;
      use utf8;
      binmode(STDOUT, ':encoding(UTF-8)');
      print "こんにちは、世界!\n";
      
    2. コマンドプロンプトで実行し、結果を確認する。
      perl a.pl
Perlスクリプト実行例

【関連する外部ページ】

SWIG (Simplified Wrapper and Interface Generator)

SWIGは、C/C++で書かれたプログラムやライブラリを、Python、Java、Perl、Rubyなど他の高水準言語から利用するためのインターフェース(ラッパーコード)を自動生成するツールである。

SWIG のインストール(Windows上)
  1. Windowsで、コマンドプロンプトを管理者権限で起動する(Windowsキーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」を右クリック → 「管理者として実行」)
  2. 次のコマンドを実行する (wingetを使用):
    winget install --scope machine SWIG.SWIG

    インストール後、新しいコマンドプロンプトで swig -version を実行して動作を確認する。SWIGのライブラリファイルが見つからないというエラーが出る場合は、環境変数 SWIG_LIB にインストール先の Lib フォルダを設定する。

【関連する外部ページ】

SWIG の利用

SWIGは、インターフェースファイル (.i) に基づいてラッパーコードを生成する。

LLVM

LLVMは、モジュール式のコンパイラやツールチェーンを構築するためのライブラリとツールの集合である。Clang (C/C++/Objective-Cフロントエンド)、LLDB (デバッガ)、libc++ (C++標準ライブラリ)、lld (リンカ) などが含まれる。

LLVM のインストール(Windows上)
  1. Windowsで、コマンドプロンプトを管理者権限で起動する(Windowsキーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」を右クリック → 「管理者として実行」)
  2. 次のコマンドを実行する (wingetを使用):
    winget install --scope machine LLVM.LLVM
    powershell -command "$installPath = 'C:\Program Files\LLVM\bin'; $oldpath = [System.Environment]::GetEnvironmentVariable('Path', 'Machine'); if ($oldpath -notlike ('*' + $installPath + '*')) { $newpath = $oldpath + ';' + $installPath; [System.Environment]::SetEnvironmentVariable('Path', $newpath, 'Machine') }"

    (2行目はLLVMの実行ファイルのフォルダをシステム環境変数 Path に追加するコマンドである)

【関連する外部ページ】

LLVM の利用 (主要コンポーネントとコマンド例)

3.5 データベース ( MySQL, Firebird など)

SQLite 3: ファイルベースRDBMS

SQLite 3 は、サーバープロセスを必要とせず、単一のファイルにデータベースを格納するRDBMSである。別ページで説明している。

MySQL Community Server: オープンソースRDBMS

MySQLは、Webアプリケーションで広く用いられているオープンソースのリレーショナルデータベース管理システムである。現行の LTS バージョンは MySQL 8.4 である。

MySQL インストーラのインストール(Windows上)
  1. Windowsで、コマンドプロンプトを管理者権限で起動する(Windowsキーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」を右クリック → 「管理者として実行」)
  2. 次のコマンドを実行する (wingetを使用、MySQL Installerをインストール):
    winget install --scope machine Oracle.MySQL

    インストール後、MySQL Installer を起動して、サーバー本体や関連ツール(Workbenchなど)をセットアップする。

MySQL Installer画面

【関連する外部ページ】

【サイト内の関連ページ】

Firebird: クロスプラットフォームRDBMS

Firebirdは、オープンソースのクロスプラットフォーム対応リレーショナルデータベース管理システムである。組み込み用途からクライアントサーバーシステムまで対応する。

Firebird 5 のインストール(Windows上)
  1. Windowsで、コマンドプロンプトを管理者権限で起動する(Windowsキーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」を右クリック → 「管理者として実行」)
  2. 次のコマンドを実行する (wingetを使用、インストール先をC:\Firebird50に指定):
    winget install --location "C:\Firebird50" FirebirdProject.Firebird.5
    powershell -command "$installPath = 'C:\Firebird50\bin'; $oldpath = [System.Environment]::GetEnvironmentVariable('Path', 'Machine'); if ($oldpath -notlike ('*' + $installPath + '*')) { $newpath = $oldpath + ';' + $installPath; [System.Environment]::SetEnvironmentVariable('Path', $newpath, 'Machine') }"
  3. SYSDBA (管理者) パスワードの設定:

    Firebird 5 の既定のユーザー管理プラグインは Srp である。ユーザー管理ユーティリティ gsec は非推奨となっており、isql から SQL 文で変更する。

    cd C:\Firebird50\bin
    isql -user SYSDBA -password masterkey employee
    SQL> ALTER USER SYSDBA SET PASSWORD '新しいパスワード' USING PLUGIN Srp;
    SQL> COMMIT;
    SQL> QUIT;

    Legacy_Auth を併用している場合は、USING PLUGIN Legacy_UserManager を指定した文も実行する。

【関連する外部ページ】

【サイト内の関連ページ】

Microsoft SQL Server Express: 無料版RDBMS

Microsoft SQL Server Expressは、Microsoftが提供するSQL Serverの無料版である。データベースサイズ(10 GB)やメモリ・CPU使用量に上限があるが、データベースエンジンのコア機能を利用できる。

Microsoft SQL Server 2025 Express のインストール(Windows上)
  1. Windowsで、コマンドプロンプトを管理者権限で起動する(Windowsキーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」を右クリック → 「管理者として実行」)
  2. 次のコマンドを実行する (wingetを使用):
    winget install --scope machine Microsoft.SQLServer.2025.Express

    インストール中に、基本インストールかカスタムインストールかを選択する画面が表示される。

【関連する外部ページ】

3.6 Windows Developer Configurations(自動開発環境構築)

Windows Developer Configurations は、Microsoft が2026年6月2日のBuild 2026カンファレンスで正式リリース(GA)を発表した、WinGet Configuration(DSC)ベースの開発環境自動構築ツールである。コマンド1つでWindows 11の開発環境を構築できる。設定ファイルはオープンソースで公開されており、CIで自動テストされている。

【公式リソース】

前提条件

セットアップ手順(共通)

  1. Windowsで、コマンドプロンプトを管理者権限で起動する(Windowsキーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」を右クリック → 「管理者として実行」)
  2. winget configure を有効化する(初回のみ):
    winget configure --enable
  3. VC++ ランタイムをインストールする。管理者権限でない環境から winget を実行する場合、これが無いと winget configure が内部エラー(-2146233079)で失敗する:
    winget install Microsoft.VCRedist.2015+.x64
  4. リポジトリを取得し、インストール先へ移動する。Git が未インストールの環境ではZIPをダウンロードして展開する:
    git clone https://github.com/microsoft/WindowsDeveloperConfig
    cd WindowsDeveloperConfig
    powershell -command "Invoke-WebRequest -Uri https://github.com/microsoft/WindowsDeveloperConfig/archive/refs/heads/main.zip -OutFile WindowsDeveloperConfig.zip; Expand-Archive .\WindowsDeveloperConfig.zip -DestinationPath ."
    cd WindowsDeveloperConfig-main

Windows Dev Config: 基本開発環境のセットアップ

一からWindows 11の開発ワークステーションを構築する。WSLの有効化のために1回の再起動が必要になる場合がある。再起動後、RunOnce タスクが自動で続きを実行し、Ubuntu のインストールまで完了する。

インストールされる主なツール:

実行コマンド(セットアップ手順の続き):

winget configure -f .\windows-dev-config\dev-config.winget --accept-configuration-agreements --disable-interactivity
再起動が必要な場合がある。事前に作業中のファイルを保存してから実行する。再起動後、サインインするとセットアップが自動で再開され、1分程度で完了する。

WSL Comfort: WSL環境のカスタマイズ

WSL Comfort は、WSL内のシェル環境を構成するスクリプトである。Windows 側では WSL・ディストリビューション・Nerd Font・Windows Terminal のプロファイルを設定し、Linux 側ではシェルを構成する。既定では対話モードで動作し、-NonInteractive を付けると無人実行になる。

powershell -ExecutionPolicy Bypass -File .\wsl-comfort\install.ps1

選択できる主な項目: シェル(zsh または bash)、Starship(プロンプト)、CLIツール(fzf・rg・fd・bat・eza・zoxide・jq)、クリップボード連携シム、Homebrew、Git の既定設定、Cascadia Code Nerd Font を用いた Windows Terminal プロファイル

Single Language Workload: 言語ツールチェーンの導入

特定のプログラミング言語に必要なツールチェーン一式を1コマンドで導入するモジュール群である。各言語を独立して、または Windows Dev Config と組み合わせて使用できる。

対応している言語・フレームワーク: TypeScript (Node.js LTS)、Python、PowerShell、.NET、Go、Java、Rust、PHP、SQL、WinForms、WinUI 3

Python ワークロードのインストール(セットアップ手順の続き):

winget configure -f .\Workloads\python\configuration.winget --accept-configuration-agreements --disable-interactivity

Python 3.14 と uv がインストールされる。

Rust ワークロードのインストール:

winget configure -f .\Workloads\rust\configuration.winget --accept-configuration-agreements --disable-interactivity

rustup 経由で Rust の stable ツールチェーンがインストールされる。

Java ワークロードのインストール:

winget configure -f .\Workloads\java\configuration.winget --accept-configuration-agreements --disable-interactivity

Microsoft Build of OpenJDK 25 (LTS) がインストールされる。

各設定ファイルは内容を事前に確認してから実行する。設定ファイルはべき等(idempotent)に設計されており、既存の環境に対して再実行できる。WinForms と WinUI 3 のワークロードは Visual Studio のコンポーネントを数GB分ダウンロードする。ワークロードのインストール直後に python などのコマンドが認識されない場合は、新しいコマンドプロンプトを開くか、各ワークロードの install.ps1 を実行して現在のセッションのPATHを更新する。

4. WSL 2 (Windows Subsystem for Linux)

WSL 2 概要

WSL 2は、Windows上でLinuxを実行する仕組みである。軽量な仮想マシン上で完全なLinuxカーネルを実行するため、WSL 1よりも高い実行性能とシステムコール互換性を持つ。Ubuntu、Debian、openSUSEなどのLinuxディストリビューションをWindows上にインストールして利用できる。インストールの詳細な手順は「Windowsのさまざまなアプリケーション」の「10. Linux環境(WSL2)」セクションを参照する。

インストール(管理者権限のコマンドプロンプトで実行し、その後Windowsを再起動する):

wsl --install

主なWSLコマンド:

【サイト内の関連ページ】

基本的なLinuxコマンド: 別ページ »で説明

5. Windows システムの運用保守

5.1 Windows Update とバージョン確認

Windows Update の実行

セキュリティ修正の適用のため、Windows Updateを定期的に実行する。

  1. Windows の検索窓で「windows update」と入力し、「Windows Update の設定」を開く
  2. 「更新プログラムのチェック」ボタンをクリックし、利用可能な更新があればインストールする
Windows Update設定画面
「ファイル名を指定して実行」(Windows+R)で ms-settings:windowsupdate-action を実行してもWindows Update画面が開く。

Windows のバージョン情報の確認

現在使用しているWindowsのバージョンとビルド番号を確認するには:

  1. Windows の検索窓で「winver」と入力し、実行する
winver検索
Windowsバージョン情報

5.2 システムツール (Sysinternals, Nmap, Netcat)

Microsoft Sysinternalsツール

Microsoft Sysinternalsは、Microsoftが提供するWindowsシステムユーティリティ群である。システムの監視、トラブルシューティング、詳細情報の取得に使用する。

Windowsで、コマンドプロンプトを管理者権限で起動し(Windowsキーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」を右クリック → 「管理者として実行」)、次のコマンドを実行する。

winget install --scope machine --id Microsoft.Sysinternals

個別のツールの導入手順は「Windowsのさまざまなアプリケーション」の「11. システム管理ツール」セクションで説明している。

代表的なツール:

Sysinternalsの公式ページ: https://learn.microsoft.com/sysinternals/

Nmap, Netcat: ネットワーク診断ツール

Nmapはネットワーク探索とポートスキャンのためのツールである。Netcat (Nmap 付属の ncat) はTCP/UDP接続の読み書きを行うネットワークユーティリティである。

Nmap/Netcatのインストール

Windowsで、コマンドプロンプトを管理者権限で起動し(Windowsキーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」を右クリック → 「管理者として実行」)、次のコマンドを実行する。ncat も同時にインストールされる。

winget install --scope machine --id Insecure.Nmap

Nmap公式サイトからインストーラー (nmap-*-setup.exe) をダウンロードして実行することもできる。

使用例:

スキャンの対象は、自身が管理するネットワークおよび機器、または明示的な許可を得た対象に限る。

5.3 システムチェックと修復

システムイメージのチェックと修復 (DISM)

Windowsのシステムイメージの破損をチェックし、修復するコマンドである。システムファイルチェッカー (SFC) が修復に失敗する場合、DISM を先に実行する。

  1. Windowsで、コマンドプロンプトを管理者権限で起動する(Windowsキーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」を右クリック → 「管理者として実行」)
  2. 以下のコマンドを実行する:
    dism /online /cleanup-image /scanhealth
    dism /online /cleanup-image /restorehealth

システムファイルの検証と修復 (SFC)

保護されているシステムファイルをスキャンし、破損しているファイルをキャッシュから復元する。

  1. Windowsで、コマンドプロンプトを管理者権限で起動する(Windowsキーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」を右クリック → 「管理者として実行」)
  2. 以下のコマンドを実行する:
    sfc /scannow

ディスク空き領域のゼロフィル (sdelete)

削除済みファイルの復元を困難にするため、ディスクの空き領域をゼロデータで上書きする。

  1. Sysinternals の sdelete をインストールする:
    winget install --scope machine --id Microsoft.Sysinternals.SDelete
  2. Windowsで、コマンドプロンプトを管理者権限で起動する(Windowsキーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」を右クリック → 「管理者として実行」)
  3. 以下のコマンドを実行する(例: Cドライブの空き領域):
    sdelete -z c:
SSDでは、ウェアレベリングにより論理アドレスへの書き込みが物理ブロック全体を上書きするとは限らないため、ゼロフィルではデータ消去を保証できない。加えて書き込み量が増え寿命を消費する。SSDのデータ消去には、ドライブメーカー提供のツールによる Secure Erase / Sanitize、またはBitLockerで暗号化した上での鍵の破棄を用いる。

その他の保守情報

5.4 パッケージマネージャ (winget, Chocolatey)

パッケージマネージャは、ソフトウェアのインストール、更新、削除をコマンドラインで行うツールである。

winget (Windows Package Manager)

wingetは、Microsoftが開発したWindows向けの公式パッケージマネージャである。Windows 11には標準搭載されている。詳細な使い方は「Windowsのさまざまなアプリケーション」のwingetセクションで説明している。

winget のインストール (未導入の場合)

wingetが導入されていない場合、以下の手順でインストールできる。

  1. GitHubのwinget-cliリリースページにアクセスする
  2. 最新リリースの「Assets」セクションから、.msixbundle という拡張子のファイル (例: Microsoft.DesktopAppInstaller_..._8wekyb3d8bbwe.msixbundle) をダウンロードする
  3. ダウンロードしたファイルを実行し、画面の指示に従ってインストールする
  4. コマンドプロンプトで winget -v を実行し、バージョンが表示されればインストール成功である

【関連する外部ページ】 GitHub の winget-cli のページ: https://github.com/microsoft/winget-cli

Chocolatey

Chocolateyは、Windows向けのサードパーティ製パッケージマネージャである。コミュニティによるパッケージが提供されており、choco installchoco upgradeなどのコマンドで管理する。wingetで提供されていないパッケージ(MinGW-w64など)の取得に使用する。

Chocolatey のインストール(Windows上)
  1. Windowsで、コマンドプロンプトまたはPowerShellを管理者権限で起動する(Windowsキーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」を右クリック → 「管理者として実行」)
  2. PowerShellで以下のコマンドを実行する(コマンドは変更される可能性があるため、公式サイトを確認する):
    Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

    (winget経由でもインストールできる: winget install --scope machine Chocolatey.Chocolatey)

  3. コマンドプロンプトを開き直し、choco -v でバージョンが表示されれば成功である

【関連する外部ページ】

Chocolatey の使用方法

主要なコマンド:

vcpkg: C/C++ ライブラリマネージャ

vcpkgは、Microsoftが開発するC/C++ライブラリ向けのクロスプラットフォームパッケージマネージャである。オープンソースライブラリの取得、ビルド、プロジェクトへの統合を行う。

vcpkg のインストール(Windows上)
  1. GitとVisual Studio (C++開発ツール含む) がインストールされていることを確認する
  2. コマンドプロンプトで、vcpkgをインストールしたいディレクトリに移動し、以下のコマンドを実行する (例: C:\src):
    cd C:\src
    git clone https://github.com/microsoft/vcpkg
    .\vcpkg\bootstrap-vcpkg.bat
  3. (オプション) Visual Studioとの連携設定:
    .\vcpkg\vcpkg integrate install

vcpkg の GitHub のページ: https://github.com/microsoft/vcpkg

miniconda3

Minicondaは、Anacondaの軽量版であり、Python本体とパッケージ管理システムcondaを含む最小構成のディストリビューションである。condaを使って、Pythonパッケージのほか、コンパイル済みライブラリも仮想環境ごとに管理できる。

URL: https://www.anaconda.com/docs/getting-started/miniconda/main

Windows での miniconda3 のインストール手順は、別ページ »で説明している。

6. 仮想化

6.1 VirtualBox: Type 2 ハイパーバイザ

VirtualBoxは、Oracleが開発するオープンソースの Type 2 ハイパーバイザである。 ホストOS(Windows、macOS、Linuxなど)上に、ゲストOSを実行する仮想マシンを作成・管理できる。 仮想マシンのインポート/エクスポート(OVF/OVA形式)、Guest Additionsによるホスト-ゲスト連携、 スナップショット機能などを備える。

VirtualBox のインストール(Windows上)

  1. Windowsで、コマンドプロンプトを管理者権限で起動する(Windowsキーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」を右クリック → 「管理者として実行」)。
  2. 次のコマンドを実行する(wingetを使用)。
    winget install --scope machine Oracle.VirtualBox
    powershell -command "$p = 'C:\Program Files\Oracle\VirtualBox'; $old = [System.Environment]::GetEnvironmentVariable('Path','Machine'); if ($old -notlike ('*'+$p+'*')) { [System.Environment]::SetEnvironmentVariable('Path', $old+';'+$p, 'Machine') }"
    2行目は、VBoxManage コマンドをどのディレクトリからも実行できるよう、 VirtualBox のインストールディレクトリをシステム環境変数 Path に追加する処理である。 設定後はコマンドプロンプトを開き直して反映させる。

VirtualBox を用いて仮想マシンを作成(コマンドライン例)

VBoxManage コマンドでコマンドラインから仮想マシンを作成・設定する例(Ubuntu 24.04 LTS Desktop)。

  1. ISO イメージをダウンロードする。-L オプションでリダイレクトに追従し、 -o で出力パスを明示指定する。Ubuntu 24.04 LTS の最新のポイントリリースは 24.04.4 である (releases.ubuntu.com/24.04/ で現在のファイル名を確認する)。
    mkdir C:\VM
    curl -L -o "C:\VM\ubuntu-24.04.4-desktop-amd64.iso" https://releases.ubuntu.com/24.04/ubuntu-24.04.4-desktop-amd64.iso
  2. 仮想マシンを作成・設定する。冒頭3行は同名の仮想マシンが既存の場合に削除する処理で、 初回は 2> nul によりエラーが無視される。
    VBoxManage controlvm "myubuntu" poweroff 2> nul
    VBoxManage unregistervm "myubuntu" --delete 2> nul
    VBoxManage closemedium disk "C:\VM\myubuntu.vdi" --delete 2> nul
    
    VBoxManage createvm --name "myubuntu" --ostype "Ubuntu_64" --register
    VBoxManage modifyvm "myubuntu" --memory 8192 --cpus 2
    VBoxManage modifyvm "myubuntu" --graphicscontroller vmsvga --vram 128
    VBoxManage storagectl "myubuntu" --name "SATA Controller" --add sata --controller IntelAhci
    VBoxManage createmedium disk --filename "C:\VM\myubuntu.vdi" --size 51200 --format VDI
    VBoxManage storageattach "myubuntu" --storagectl "SATA Controller" --port 0 --device 0 --type hdd --medium "C:\VM\myubuntu.vdi"
    VBoxManage storageattach "myubuntu" --storagectl "SATA Controller" --port 1 --device 0 --type dvddrive --medium "C:\VM\ubuntu-24.04.4-desktop-amd64.iso"
    VBoxManage modifyvm "myubuntu" --nic1 nat
    VBoxManage modifyvm "myubuntu" --boot1 dvd --boot2 disk --boot3 none --boot4 none
    VBoxManage showvminfo "myubuntu"
    VBoxManage startvm "myubuntu"
    • --cpus 2: 割り当てる仮想CPUコア数。Ubuntu Desktop のインストーラは 1コアでは動作が遅くなるため、2以上を割り当てる。
    • --graphicscontroller vmsvga --vram 128: Linux ゲスト向けのグラフィックス コントローラと VRAM サイズ(MiB)。VRAM が小さいとデスクトップ環境で描画異常が生じることがあるため、 128 MiB 以上を設定する。
    • createmedium disk: VirtualBox 6.0 以降で createhd の後継となる コマンドである。
    起動後、画面の指示に従ってゲストOSをインストールする。完了後に Guest Additions を導入すると、 ホスト-ゲスト間のファイル共有やクリップボード共有が利用できる。

VirtualBox公式: https://www.virtualbox.org/

6.2 Vagrant: 仮想環境構築ツール

Vagrantは、VirtualBox等のハイパーバイザを制御し、設定ファイル(Vagrantfile)に基づいて 仮想マシンの構築・管理を自動化するツールである。 カーネルを含むOS全体を仮想化するため、本番サーバー(Linux)とファイルシステム仕様 (パス区切り文字、ファイル名の大文字・小文字区別、パーミッション構造)を一致させた開発ができる。 同一の Vagrantfile を共有することで、複数の環境で同じ構成を再現できる。

Vagrant のインストール(Windows上)

前提条件: VirtualBox などのハイパーバイザを事前にインストールしておく。

  1. Windowsで、コマンドプロンプトを管理者権限で起動する(Windowsキーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」を右クリック → 「管理者として実行」)。
  2. 次のコマンドを実行する(wingetを使用)。
    winget install --scope machine Hashicorp.Vagrant

Vagrant による仮想マシンの構築(基本操作)

作業ディレクトリに Vagrantfile(拡張子なし)を配置して仮想マシンの構成を定義する。 以下は Ubuntu 24.04 の仮想マシンを構築し、Nginx をプロビジョニングする例である。

  1. 作業ディレクトリを作成する。
    mkdir C:\vagrant-myubuntu
    cd C:\vagrant-myubuntu
  2. C:\vagrant-myubuntu\Vagrantfile として以下を保存する。
    Vagrant.configure("2") do |config|
      config.vm.box      = "bento/ubuntu-24.04"
      config.vm.hostname = "myubuntu"
      config.vm.network "private_network", ip: "192.168.56.10"
    
      config.vm.provider "virtualbox" do |vb|
        vb.memory = 2048
        vb.cpus   = 2
      end
    
      config.vm.provision "shell", inline: <<-SHELL
        apt-get update -y
        apt-get install -y nginx
      SHELL
    end
    config.vm.box に指定する Box(事前構築済みの仮想マシンイメージ)は、 初回 vagrant up 時にダウンロードされる。
  3. 仮想マシンを起動する。初回はBoxイメージのダウンロードとプロビジョニングが実行される。
    vagrant up
  4. SSHで仮想マシンに接続する。
    vagrant ssh
  5. 仮想マシンを停止する(次回 vagrant up で再起動できる)。
    vagrant halt
  6. 仮想マシンを削除する(Box イメージは保持される)。
    vagrant destroy

Vagrant公式: https://developer.hashicorp.com/vagrant

6.3 Docker: コンテナ管理ソフトウェア

Dockerは、Linuxカーネルが提供する名前空間(Namespaces)およびコントロールグループ(cgroups)を利用し、 プロセス単位で隔離された環境(コンテナ)を作成・管理するソフトウェアである。 Windowsでは、Docker DesktopがWSL2上のLinuxカーネルを共有してコンテナを実行する。 各コンテナは個別のOSカーネルを持たないためOSのブートが発生せず、 仮想マシンと比較してCPUおよびメモリのオーバーヘッドが小さい。

Docker Desktop のインストール(Windows上)

前提条件: WSL2 を有効にしておく(管理者権限のコマンドプロンプトで wsl --install を実行し、Windowsを再起動する)。

  1. Windowsで、コマンドプロンプトを管理者権限で起動する(Windowsキーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」を右クリック → 「管理者として実行」)。
  2. 次のコマンドを実行する(wingetを使用)。
    winget install --scope machine Docker.DockerDesktop
    インストール後にシステムを再起動し、Docker Desktop を起動してセットアップを完了する。

Docker Desktop は、規模の大きい企業での業務利用には有償サブスクリプションが必要である(利用条件はDockerの価格ページで確認する)。

Docker の基本操作

コンテナの起動・確認・停止・削除の基本的な操作例を示す。

Nginx コンテナをバックグラウンドで起動し(-d)、ホストの 8080 番ポートにマッピングする(-p)。

docker run -d --name mynginx -p 8080:80 nginx

実行中のコンテナ一覧を確認する。

docker ps

コンテナを停止・削除する。

docker stop mynginx
docker rm mynginx

Ubuntu 24.04 コンテナを対話モードで一時起動する(--rm により終了後に自動削除)。

docker run --rm -it ubuntu:24.04 bash

Docker公式: https://www.docker.com/

6.4 Vagrant と Docker の比較

比較項目 Vagrant(VirtualBox等) Docker(Docker Desktop + WSL2)
仮想化の対象 ハードウェアおよびOS全体 OSカーネルを共有したプロセス隔離
システム構造 ホストOS > ハイパーバイザ > ゲストOS > アプリ ホストOS > WSL2(カーネル) > Docker > アプリ
物理リソース消費 設定メモリ容量を固定で占有 ホストOSのリソースを動的に共有
設定・制御の対象 カーネルパラメータ、ネットワーク等OS全般 アプリケーション実行環境、依存ライブラリ等

Docker列のシステム構造は Windows 上(Docker Desktop + WSL2)の構成である。 Linux ホスト上では WSL2 レイヤーは存在せず、 「ホストOS(Linux)> Docker Engine > コンテナ」となる。

Vagrant は、本番サーバーが物理サーバー・VPS・AWS EC2 等の仮想マシン環境で OS レベルの一致が必要な場合や、 カーネルパラメータ・ネットワーク・OS の起動プロセスなど OS 全体の挙動を確認する場合に適する。 Docker は、本番環境が AWS ECS・EKS・GKE などコンテナ運用を前提としたインフラの場合や、 同一ホストOS 内で異なるバージョンの同一ミドルウェアを並行稼働させる場合、 複数のサービスコンポーネントを協調動作させる場合に適する。

WSL2(Docker Desktop)と VirtualBox を同一の Windows 環境で併用する場合、 Windows 側で Hyper-V ベースの仮想化基盤が動作するため、VirtualBox の仮想マシンの実行速度が低下することがある。 VirtualBox 7 以降は Hyper-V 有効環境でも動作する。VirtualBox の性能を優先する場合は、 管理者権限のコマンドプロンプトで bcdedit /set hypervisorlaunchtype off を実行して再起動する (この設定を行うと WSL2 と Docker Desktop は動作しなくなる。元に戻すには bcdedit /set hypervisorlaunchtype auto を実行して再起動する)。

7. MSYS2・MinGW-w64・Cygwin

7.1 MSYS2・MinGW-w64・Cygwin: Windows上のUnixライク環境

Windows上でUnix/Linuxライクな開発環境やコマンドラインツールを利用するためのソフトウェア群である。それぞれ用途と特性が異なる。

使い分けの整理: Linux互換環境が必要な場合はWSL2を用いる。Windowsネイティブな実行ファイルを生成するGNUツールチェーンが必要な場合はMSYS2を用いる。Cygwinは、cygwin1.dll に依存する既存ソフトウェアのビルドなど、WSL2やMSYS2では代替できない用途で用いる。

MSYS2 のインストール(Windows上)

MSYS2は、MinGW-w64とPacmanパッケージマネージャを統合したWindows向けGNU開発環境である。

  1. Windowsで、コマンドプロンプトを管理者権限で起動する(Windowsキーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」を右クリック → 「管理者として実行」)
  2. 次のコマンドを実行する:
    winget install --scope machine MSYS2.MSYS2
  3. MSYS2 UCRT64 ターミナルを起動し、パッケージを更新する:
    pacman -Syu
  4. GCC・GDB等の開発ツールをインストールする(MSYS2端末内で実行):
    pacman -S mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-gdb mingw-w64-ucrt-x86_64-cmake
  5. 確認(MSYS2端末内):
    gcc --version
    g++ --version

MSYS2公式ページ: https://www.msys2.org/

MinGW-w64 のインストール(Chocolatey経由)

MSYS2を使わずにMinGW-w64(GCC・G++・GDB)を導入する場合は、Chocolateyを使用する方法がある。パッケージの更新頻度の点では、MSYS2 経由のインストールの方が新しいバージョンを利用できる。

  1. Windowsで、コマンドプロンプトを管理者権限で起動する(Windowsキーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」を右クリック → 「管理者として実行」)
  2. Chocolateyがインストールされていない場合は先にインストールする (winget install --scope machine Chocolatey.Chocolatey)
  3. Chocolateyを使用してMinGW-w64をインストールする:
    choco install mingw -y
    (これによりGCC、G++、GDBなどがインストールされ、PATHも設定される)
  4. 確認: 新しいコマンドプロンプトを開き、以下のコマンドを実行してパスが通っているか確認する:
    where gcc
    where g++
    where gdb
    gcc --version
    g++ --version
MinGWコマンド確認
MinGWバージョン確認

Cygwin のインストール(Windows上)

cygwin1.dll に依存するソフトウェアのビルドなど、WSL2・MSYS2では代替できない用途向けにCygwinをインストールする。

  1. Windowsで、コマンドプロンプトを管理者権限で起動する(Windowsキーを押す → 検索窓に cmd と入力 → 「コマンドプロンプト」を右クリック → 「管理者として実行」)
  2. 次のコマンドを実行する (wingetを使用):
    winget install --scope machine Cygwin.Cygwin
    powershell -command "$cygwinPaths = @('C:\cygwin64\bin', 'C:\cygwin64\sbin', 'C:\cygwin64\usr\local\bin', 'C:\cygwin64\usr\sbin'); $oldpath = [System.Environment]::GetEnvironmentVariable('Path', 'Machine'); $pathsToAdd = $cygwinPaths | Where-Object { $oldpath -notlike ('*' + $_ + '*') }; if ($pathsToAdd) { $newpath = $oldpath + ';' + ($pathsToAdd -join ';'); [System.Environment]::SetEnvironmentVariable('Path', $newpath, 'Machine') }"
  3. Cygwin Setupプログラムを使用して追加パッケージをインストールする:
    cd c:\cygwin64
    curl -O https://www.cygwin.com/setup-x86_64.exe
    .\setup-x86_64.exe -q -P wget,gcc-core,gcc-g++,gcc-fortran,gdb

【関連する外部ページ】

8. ツール選択ガイド

8.1 用途別ツール一覧

目的に応じてツールを選択するための一覧である。

用途ツール
コマンド1つで開発環境を構築Windows Developer Configurations
ローカルLLM(コマンドライン)Ollama
指示からコードを自律生成Cline
コード補完GitHub Copilot
拡張機能を組み合わせた開発環境Visual Studio Code
Pythonパッケージ管理uv、pip
Pythonデバッグ(GUI)debugpy + VS Code
Pythonデバッグ(コマンドライン)pdb(組み込み)または pudb
画像分類・物体検出opencv-python、PyTorch
音声分析librosa
自然言語処理transformers
RAG(検索拡張生成)LangChain、chromadb、sentence-transformers
クラウドAI API連携openai、google-genai、litellm
AIデモ作成Gradio
AI画像生成ComfyUI、Stable Diffusion
Python 3Dゲーム開発Panda3D
Windows GNUツールチェーン(ネイティブ)MSYS2(MinGW-w64)
LinuxコマンドをWindows上で実行WSL2、Cygwin
コンテナ開発Docker Desktop
仮想マシンVirtualBox、Vagrant
統計解析R + RStudio
数値計算(MATLAB互換)Octave
GIS・地理情報QGIS
3D CAD設計FreeCAD
PCB設計KiCad
3DCG・アニメーションBlender
論文・技術報告書の組版LaTeX(TeX Live)
Androidアプリ開発Android Studio
ネットワーク解析・スキャンNmap、Wireshark
ハードウェア監視HWiNFO64
ディスク使用量の可視化WinDirStat
ファイルコピーFastCopy
フォルダ同期・バックアップFreeFileSync
動画編集Shotcut、OpenShot、Avidemux
画面録画OBS Studio
画像編集GIMP
PDF閲覧・注釈PDF-XChange Editor
SQLiteデータベースのGUI操作DB Browser for SQLite
ブータブルUSB作成Rufus