Windows 11 開発者セットアップ — 開封後の 1 時間
Windows 11 向け一本道セットアップ:winget・WSL2・Git・SSH。新しい PC を git push できる状態へ。
Windows 開発には 2 つのスタイルがある:(a) すべてを WSL2 / Linux 内で行う、(b) PowerShell + Git Bash でネイティブ実行する。このガイドは両方をセットアップして、プロジェクトごとに選べるようにする。Node / Go / Python なら WSL2 が圧倒的に有利。.NET・ゲーム・Tauri・Win32 API ならネイティブ一択。Windows 初期セットアップの本質はどちらかを選ぶことではなく、両方の選択肢を準備しておくことにあると考える — プロジェクトによって最適な実行環境が変わるからこそ、当初から制約を作らない構成が重要だ。
対象:winget が使用可能な Windows 11(22H2 以降)。Windows 10 でもほぼ動作するが、winget の細部で差異がある。
TL;DR
- Windows 11 システム設定 4 つ(エクスプローラーの拡張子/隠しファイル表示、クリップボード履歴、仮想デスクトップショートカット)
- winget で 8 つの必須ツールを 1 行インストール(Git、GH CLI、Windows Terminal、PowerShell 7、VS Code、mise、ripgrep、fzf)
- WSL2 + Ubuntu 24.04:
wsl --install -d Ubuntu-24.04 - Git グローバル設定 + SSH ed25519 → GitHub に登録 →
gh auth login
前提条件
- Windows 11 22H2 以上 —
winverで確認。これが winget がバンドルされた最初のビルド。 - 管理者権限 — WSL2 インストールとシステムスコープの winget パッケージに必要。
- インターネット + Microsoft アカウント(Windows 11 Home では実質必須)。
- ハードウェア仮想化 — BIOS / UEFI で Intel VT-x または AMD-V が有効(WSL2 の要件)。通常はデフォルトで有効。
systeminfo | findstr /C:"Hyper-V"で確認 — 「Hyper-V Requirements」のすべての行が「Yes」であること。
1. Windows 11 システム設定 — 5 分
1.1 エクスプローラー — 拡張子・隠しファイル・フルパスを表示
Win + E でエクスプローラーを開く → 表示 → 表示 → ファイル名拡張子 + 隠しファイル。PowerShell で一括設定:
# 拡張子 + 隠しファイルを表示
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name HideFileExt -Value 0
Set-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name Hidden -Value 1
Stop-Process -Name explorer -Force1.2 クリップボード履歴(Win + V)
非常に便利だがデフォルトは OFF。Settings → System → Clipboard → Clipboard history を ON にする。
1.3 仮想デスクトップ
Ctrl + Win + ←/→ — デスクトップを切り替える。組み込みだが知らない人が多い。macOS のスワイプ切り替えに相当する Windows の機能。
1.4 PowerToys(オプション・強く推奨)
Microsoft 公式の生産性スイート。winget 1 行:
winget install Microsoft.PowerToys --source winget --silentハイライト:FancyZones(ウィンドウタイリング — Rectangle 相当)、PowerToys Run(Alt + Space — Raycast 相当)、Keyboard Manager(キーリマッピング)。
2. winget — パッケージマネージャーの確認
winget は Windows 11 に同梱されている。非常に古いビルドではアップデートが必要。
winget --version
# v1.x.x ← 表示されれば OK表示されないか古い場合は、Microsoft Store で「App Installer」を検索してアップデートする。winget はこのパッケージに含まれている。
自動化スクリプト(オプション)
各ステップを踏む代わりに 1 本のスクリプトで実行したい場合は、必ずダウンロード → SHA-256 検証 → 内容確認 → 実行の順で行う。
setup-windows.ps1# 1. ダウンロード
Invoke-WebRequest -Uri https://devalice.jaceclub.com/assets/windows/initial-setup/setup-windows.ps1 -OutFile setup-windows.ps1
# 2. SHA-256 検証
Get-FileHash setup-windows.ps1 -Algorithm SHA256
# expected: 75A9A5CC7B8804CF0808971A648B7174DADE3A5F32F2DB9C80A9783242EEEEBD
# (lowercase: 75a9a5cc7b8804cf0808971a648b7174dade3a5f32f2db9c80a9783242eeeebd)
# 3. 内容確認
notepad setup-windows.ps1
# 4. 実行(このセッションのみ実行ポリシーを緩和)
PowerShell -ExecutionPolicy Bypass -File .\setup-windows.ps1このスクリプトはべき等 — 途中で失敗した後に再実行しても安全。winget インストール + Git 設定 + SSH キー生成を自動化する。WSL2 インストールと GitHub へのキー登録は手動のまま。
各ステップを手動で実行したい場合は以下に進む。
3. winget 必須ツール — 10 分
3.1 8 つの必須ツールを 1 行で
winget install --silent --accept-source-agreements --accept-package-agreements `
Git.Git `
GitHub.cli `
Microsoft.WindowsTerminal `
Microsoft.PowerShell `
Microsoft.VisualStudioCode `
jdx.mise `
BurntSushi.ripgrep.MSVC `
junegunn.fzf| パッケージ | 用途 |
|---|---|
Git.Git | Git for Windows(Git Bash 同梱) |
GitHub.cli | gh |
Microsoft.WindowsTerminal | タブ付きターミナル — デフォルトコンソールより格段に優れる |
Microsoft.PowerShell | PowerShell 7(デフォルトは 5.1;7 は大幅改善) |
Microsoft.VisualStudioCode | VS Code |
jdx.mise | ランタイムバージョンマネージャー(Node・Python・…) |
BurntSushi.ripgrep.MSVC | rg — 高速 grep |
junegunn.fzf | ファジーファインダー |
一部のパッケージは PATH を反映させるために新しいターミナルが必要。
3.2 確認
git --version
gh --version
pwsh --version # PowerShell 7
code --version
mise --version
rg --version3.3 Windows Terminal をデフォルトに
Settings → プライバシーとセキュリティ → 開発者向け → ターミナル → Windows Terminal を選択。以降のコンソール起動はすべて Windows Terminal で開く。
4. WSL2 + Ubuntu — 10 分
本格的な Linux 作業をするなら WSL2 が主役。Node、Python、Docker はすべて WSL2 内の方がはるかにスムーズ。
4.1 インストール
管理者 PowerShell で(右クリック → 「管理者として実行」):
wsl --install -d Ubuntu-24.04この 1 行で:
- WSL 機能を有効化
- Virtual Machine Platform を有効化
- WSL2 をデフォルトバージョンに設定
- Ubuntu 24.04 をダウンロード・インストール
再起動する。再起動後、Ubuntu が起動してユーザー名・パスワードを求める。
4.2 初期クリーンアップ
Ubuntu 内で:
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential git curl unzip現在の Ubuntu フォルダを Windows VS Code で開く(WSL Remote 拡張が自動インストールされる):
code .WSL ファイルにはエクスプローラーから
\\wsl$\Ubuntu-24.04\home\<user>でアクセスできる。Linux ファイル I/O は WSL パス(/home/...)内が最速。Windows パス(/mnt/c/...)にコードを置くと大幅に遅くなる。
4.3 WSL の状態を確認
PowerShell から:
wsl --status
wsl --list --verbose
# NAME STATE VERSION
# Ubuntu-24.04 Running 25. Git グローバル設定 + SSH — 10 分
WSL と Windows は独立した git 設定を持つ。両方をセットアップする。
5.1 Windows 側の Git 設定(PowerShell)
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
git config --global init.defaultBranch main
git config --global pull.rebase false
git config --global core.autocrlf true # Windows 改行コードを自動処理
git config --global core.editor "code --wait"5.2 SSH キー — ed25519
ssh-keygen -t ed25519 -C "you@example.com"
# デフォルトパス:$env:USERPROFILE\.ssh\id_ed25519(Enter で承認)
# パスフレーズ:オプションssh-agent の起動 + キーの追加(管理者 PowerShell):
# サービスの自動起動
Set-Service -Name ssh-agent -StartupType Automatic
Start-Service ssh-agent
# キーの追加
ssh-add $env:USERPROFILE\.ssh\id_ed255195.3 公開鍵を GitHub に登録
Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub | Set-Clipboardhttps://github.com/settings/ssh/new を開く → タイトル:「Windows 11 (PC 名)」→ キーを貼り付ける → Add SSH key。
5.4 gh CLI 認証
gh auth login
# GitHub.com → HTTPS → Y(GitHub 資格情報で Git を認証)→ ウェブブラウザでログイン5.5 WSL 側の Git 設定(オプション、WSL をメイン環境にする場合)
Ubuntu 内で同様に:
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
git config --global init.defaultBranch main
ssh-keygen -t ed25519 -C "you@example.com"
# 公開鍵を表示 → GitHub に別途登録(マシン表面ごとに別のキーにすると監査が明確になる)
cat ~/.ssh/id_ed25519.pubヒント:Windows の
%USERPROFILE%\.sshを WSL の~/.sshにシンボリックリンクしてキーを共有することもできるが、パーミッションがおかしくなることが多い。別々のキーを保持する方が安全。
6. 確認 — すべて正しくインストールされたか?
PowerShell から:
Write-Host "--- Versions ---"
[System.Environment]::OSVersion.Version
git --version
gh --version | Select-Object -First 1
pwsh --version
wsl --list --verbose
Write-Host "--- GitHub auth ---"
ssh -T git@github.com 2>&1 | Select-Object -First 1
gh auth status 2>&1 | Select-Object -First 3期待される出力:
--- Versions ---
Major Minor Build
----- ----- -----
10 0 22631 (Windows 11 22H2+)
git version 2.x.x.windows.x
gh version 2.x.x
PowerShell 7.x.x
NAME STATE VERSION
Ubuntu-24.04 Running 2
--- GitHub auth ---
Hi <your-username>! You've successfully authenticated, ...
github.com
✓ Logged in to github.com account <your-username>
WSL 側の確認は Ubuntu 内で:
git --version
ssh -T git@github.com 2>&1 | head -17. トラブルシューティング
wsl --install が 0x80070003 または仮想化エラーで失敗する
BIOS で VT-x / AMD-V が無効。再起動して BIOS に入る → CPU Configuration → Virtualization Technology → Enabled → 保存して再起動。
winget が「command not found」
App Installer が存在しないか非常に古い。Microsoft Store で「App Installer」を検索してインストール / アップデート。
PowerShell スクリプトの実行がブロックされる
.\setup-windows.ps1 : File ... cannot be loaded because running scripts is disabled on this system.
このセッションのみ許可:
PowerShell -ExecutionPolicy Bypass -File .\setup-windows.ps1ユーザースコープで永続設定:
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSignedgit push で「Permission denied (publickey)」が返る
ssh-add -l # エージェントにキーがあるか?
ssh -vT git@github.com 2>&1 | Select -Last 20ssh-agentサービスが停止している可能性 →Start-Service ssh-agent- 公開鍵が GitHub にない可能性 →
https://github.com/settings/keysを確認
WSL 内の時刻がスリープ後にずれる(過去/未来)
サスペンド後によくある。WSL 内で:
sudo hwclock -swinget が「found multiple packages」で拒否する
ID の衝突。--id でピン留め:
winget install --id Git.Git --exactWindows Terminal で CJK テキストが崩れる
Settings(Ctrl + ,)→ そのプロファイル → Appearance → Font face → Cascadia Mono または D2Coding(日本語・CJK を正しくカバーするフォント)。
8. 次のステップ
このガイドは「Windows 11 で git push できる」状態で終わる。その後:
- WSL2 の応用 — Docker Desktop ↔ WSL2 統合、メモリキャップ(
%USERPROFILE%\.wslconfig)— WSL チューニング - 開発ツール — 言語ランタイム(Node・Python)、エディター拡張
- AI エージェント環境 — Claude Code セットアップ — /ai-agents/claude-code
- Mac との並行利用 — 入力共有、ファイル同期 — /multi-os/input-sharing
参考リンク
更新履歴
- 2026-05-12 — 英語翻訳初稿(devAlice M3 i18n シード)