怪しいツール不要!Homebrewで安全確実なUSB作成術
はじめに
株式投資で得た利益を元手に、自作PCを作る企画の第二弾です。前回の記事では、PCのコンセプト設計からパーツ選定、コストを削減し、パーツ一式を揃えるまでの道のりをご紹介しました。
今週は組み立て編に行きたかったところなんですが、諸事情につき、今回はMacユーザーが最初の壁にぶつかりがちな「Windows 11のインストール用USBメモリ」の作成方法を解説します。
Appleシリコン(M1/M2/M3/M4)搭載のMacでは、従来のBoot Campアシスタントが対応していないため、今までみたいに、WindowsのインストールUSBを簡単に作れなくなりました。巷で怪しげなWindows USBツールが出回っていますが、得体の知れないものは愛機には入れたくない。
そんなとき、ターミナルでHomebrewというツールを使えば、誰でも確実・安全に作成できます。
そこで、その方法について、Geminiに聞いたことを、まとめます。MacユーザーでWindows PCに浮気をしたくなった方は、ぜひお付き合いください。
本記事で解説する手順の概要
「ターミナルを使う」と聞くと難しそうに感じるかもしれませんが、ご安心ください。多くの記事で紹介されていますが、やることは主に以下の4ステップです。
- Windows 11のISOファイルをダウンロードする
- 専門ツール(Homebrewとwimlib)を準備する
- USBメモリをフォーマット(初期化)する
- ターミナルでファイルを2段階に分けてコピーする
要するに、MacでダウンロードしたWindows 11の全データ(ISOファイル)を、新しいPCにインストールするための「起動ディスク」としてUSBメモリに書き込む作業です。
この記事では、これらの手順を一つずつ解説します。
では、なぜ単純に全ファイルをUSBにコピーするだけではダメなのでしょうか?
なぜこの手順が必要? 原因を30秒で理解する
その答えは、USBメモリとWindowsインストールファイルの「相性問題」にあります。
家のドア(FAT32形式の4GB制限)より大きい巨大な家具(install.wimファイル)を運び込む状況を想像してみてください。
FAT32とは何か?
FAT32(File Allocation Table 32bit) は、USBメモリやSDカードでよく使われるファイルシステムです。1990年代から使われている古い規格ですが、以下の理由で起動USBの標準となっています:
- 互換性の高さ: Windows、Mac、Linux、古いBIOSまで、ほぼすべてのデバイスで確実に認識される
- 軽量性: システムリソースを消費せず、起動時に余計な処理が不要
- 業界標準: PC起動時のデファクトスタンダード
USBメモリのルール(FAT32の制限)
しかし、この古い規格には厳格な制限があります:
- 1ファイル4GBまで: これが今回の最大の障壁
- パーティション容量: 理論上2TBまでだが、実用的には32GB程度
- ファイル数制限: ルートディレクトリに置けるファイル数に上限あり
Windowsインストールファイルの現実
一方、Windows 11のOS本体が詰まったinstall.wimというファイルは、余裕で4GBを超えています。昔のWindowsはサイズが小さかったですが、Windows 11では機能追加により5GB超えが当たり前になりました。
このままでは巨大なファイルをUSBにコピーできず、エラーになってしまいます。そこで、以下の2段階の手法を取ります。
先に小さな荷物を全部運び込む (rsyncコマンド)
巨大なinstall.wimファイル「以外」の、4GBに満たないファイルを先に全部USBメモリにコピーします。
巨大な家具を分解して運び込む (wimlibコマンド)
専門業者(wimlib)を呼び、巨大なinstall.wimを4GB未満のパーツに分解しながらUSBメモリに運び込みます。
この「分割して運ぶ」というスマートな方法を使えば、問題を解決できるのです。
準備するもの
- Appleシリコン搭載のMac: M1以降のチップを搭載したMacBookやiMacなど。
- USBメモリ: 16GB以上の容量を推奨します。(中のデータはすべて消去されます)
- Windows 11のISOファイル: Microsoft公式サイトからダウンロードします。
STEP1: Windows 11 ISOファイルのダウンロード
最初に、インストール元となるWindows 11の公式イメージファイルをダウンロードします。
公式ダウンロードサイト: Microsoft公式 - Windows 11 のダウンロード
- Macのブラウザで上記のMicrosoft公式サイトにアクセスします。
- ページ内の「Windows 11 のディスク イメージ (ISO) をダウンロードする」までスクロールします。
- 「ダウンロードを選択」から「Windows 11 (multi-edition ISO)」を選びます。
- 言語で「アラビア語」を選択し、「確認」をクリック。
- 表示された「64-bit ダウンロード」ボタンをクリックして、ISOファイルをダウンロードします。
STEP2: 専門ツールを準備する (Homebrew & wimlib)
次に、作業に必要なツールをMacにインストールします。ターミナルアプリ(アプリケーション > ユーティリティ内にあります)を使って作業します。
STEP2-1: Homebrewのインストール
Homebrewは、Mac用の高機能な「アプリストア」のようなものです。これを使えば、必要なツールをコマンド一つで安全に導入できます。
まだインストールしていない場合は、ターミナルを開いて以下のコマンドをコピー&ペーストし、Enterキーを押してください。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
※ インストール中にパスワードを求められたら、Macのログインパスワードを入力してください。
STEP2-2: wimlibのインストール
次に、Windowsの特殊なインストールファイル(install.wim)を扱うための専門ツールwimlibをインストールします。Homebrewのインストール完了後、続けて以下のコマンドを実行します。
brew install wimlib
STEP3: USBメモリのフォーマット
USBメモリを、起動ディスクとして使える適切な形式で初期化(フォーマット)します。
- USBメモリをMacに接続します。
- ディスクユーティリティアプリを起動します。
- 重要: 左上の「表示」メニューから「すべてのデバイスを表示」を必ず選択してください。これを選ばないと、正しくフォーマットできません。
- 左側のリストから、USBメモリ本体の物理ディスク名(例: Kingston DataTravelerなど、ボリューム名ではない方)を選択します。
- 上部の「消去」ボタンをクリックし、以下のように設定します。
- 名前: WIN11USB (半角英大文字がおすすめです)
- フォーマット: MS-DOS (FAT)
- 方式: マスター・ブート・レコード
- 「消去」をクリックします。
STEP4: 手動コマンドで情報をUSBに移動
STEP4-1: ISOファイルのマウントとボリューム名の確認
まず、STEP1でダウンロードしたWindows 11のISOファイルをダブルクリックしてマウントします。デスクトップにディスクのアイコンが表示されます。
次にターミナルで以下のコマンドを実行し、マウントされたISOの正式名称とUSBメモリの名前を確認します。
ls /Volumes
実行すると、マウントしたISO名(例: CCCOMA_X64FRE_...)とUSB名(WIN11USB)が表示されます。この名前を次のコマンドで使います。
STEP4-2: コマンド1: 全体コピー (rsync)
巨大ファイル「以外」のすべてのファイルをUSBにコピーします。以下のコマンドの[ISO名]の部分を先ほど確認したご自身のISO名に書き換えて、実行してください。
rsync -avh --progress --exclude=sources/install.wim /Volumes/[ISO名]/ /Volumes/WIN11USB/
STEP4-3: コマンド2: 巨大ファイルの分割コピー (wimlib)
rsyncが完了したら、最後の仕上げです。同じく[ISO名]の部分を書き換えて、以下のコマンドを実行します。
wimlib-imagex split /Volumes/[ISO名]/sources/install.wim /Volumes/WIN11USB/sources/install.swm 3800
これって他の人が解説している内容と同じじゃん?そう思いましたか?
これまでの記事の問題点
上記の手順の説明は確かに誰かの役に立つかもしれませんが、以下のような問題があります:
ネット上に同じ手順を解説してくれている記事が出回っていて、記事にするのが面白くない
解決策:自動化スクリプトがおすすめ!
Geminiさんに相談したところ、「自動化スクリプトを作成する」と面白いよ!という解決策を教えてもらいました。
手順が複雑になりそうですが、これにより、ファイル名のコピペやUSBのフォーマットなどを、全部ターミナルで一気にできるようになるらしいです。以下のスクリプトを1つのファイルに保存して、ターミナルで実行するだけ。全部一つのターミナルで完了します。
自動化スクリプトで一発完成!
STEP1: 必要なツールのインストール
スクリプトを実行する前に、以下のツールがインストールされている必要があります。
Homebrewのインストール(未導入の場合のみ)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
インストール中にパスワードを求められたら、Macのログインパスワードを入力してください。
wimlibのインストール
brew install wimlib
STEP2: スクリプトファイルの作成
以下のスクリプトファイルを作成してください。ファイル名をcreate_usb.sh
として保存します。
ファイルの保存場所: どこに保存しても大丈夫ですが、デスクトップやダウンロードフォルダがおすすめです。
以下のスクリプトファイルを作成してください:
#!/bin/bash
# ==============================================================================
# Windows 11 Bootable USB Creator for macOS
#
# This script automates the process of creating a bootable Windows 11 USB
# drive on macOS, handling the FAT32 4GB file size limit by splitting
# the install.wim file using wimlib.
#
# Author: Gemini
# Version: 1.0
# Last Updated: 2025-09-20
# --- Usage ---
# 1. Save this code as 'create_usb.sh'.
# 2. Open Terminal and navigate to the directory where you saved the file.
# 3. Run 'chmod +x create_usb.sh' to make it executable.
# 4. Run './create_usb.sh' to start the process.
# ==============================================================================
# --- Functions ---
check_command() {
if ! command -v "$1" &> /dev/null; then
echo "⚠️ Error: '$1' command not found."
if [ "$1" == "wimlib-imagex" ]; then
echo "Please install wimlib first by running: brew install wimlib"
fi
exit 1
fi
}
# --- Main Script ---
echo "🚀 Starting Windows 11 Bootable USB Creator..."
# Check for required tools
check_command wimlib-imagex
check_command rsync
check_command diskutil
check_command hdiutil
# 1. Select the ISO file
echo ""
echo "STEP 1: Please drag and drop your Windows 11 ISO file here, then press Enter."
read -r iso_path
# Sanitize the input: remove single quotes and trailing spaces
iso_path=$(echo "$iso_path" | sed -e "s/'//g" -e 's/ *$//')
if [ ! -f "$iso_path" ]; then
echo "❌ Error: The file you provided does not exist. Please try again."
exit 1
fi
echo "👍 ISO file accepted: $iso_path"
# 2. Select the USB drive
echo ""
echo "STEP 2: Select your USB drive from the list below."
diskutil list external
echo "----------------------------------------------------------------"
echo "⚠️ WARNING: The selected disk will be completely erased."
echo "Please enter the identifier of your USB drive (e.g., disk3, disk4) and press Enter."
read -r usb_disk
# Validate the disk identifier
if ! diskutil list external | grep -q "$usb_disk"; then
echo "❌ Error: '$usb_disk' is not a valid external disk identifier."
echo "Please enter the full disk identifier (e.g., disk4, not just the partition number)."
exit 1
fi
echo "👍 USB drive selected: $usb_disk"
echo ""
# Confirmation prompt
read -p "Are you sure you want to format '$usb_disk' and create the Windows 11 USB? (y/n): " confirm
if [[ "$confirm" != "y" ]]; then
echo "🛑 Operation cancelled by user."
exit 0
fi
# 3. Process starts
USB_VOLUME_NAME="WIN11USB"
USB_MOUNT_POINT="/Volumes/$USB_VOLUME_NAME"
echo ""
echo "⚙️ Starting the creation process. This will take a significant amount of time..."
# Mount ISO
echo " - Mounting ISO file..."
mount_info=$(hdiutil attach -noverify -nobrowse -mountpoint /tmp/windowsiso "$iso_path")
ISO_MOUNT_POINT=$(echo "$mount_info" | grep -o '/tmp/windowsiso.*' | awk '{print $1}')
if [ -z "$ISO_MOUNT_POINT" ]; then
echo "❌ Error: Failed to mount the ISO file."
exit 1
fi
# Format USB drive
echo " - Formatting USB drive ($usb_disk) as FAT32..."
diskutil eraseDisk MS-DOS "$USB_VOLUME_NAME" MBR "$usb_disk"
if [ $? -ne 0 ]; then
echo "❌ Error: Failed to format the USB drive."
hdiutil detach "$ISO_MOUNT_POINT" &> /dev/null
exit 1
fi
# Copy files using rsync (excluding the large install.wim)
echo " - Copying files (excluding install.wim)... This is the first long step."
rsync -avh --progress --exclude 'sources/install.wim' "$ISO_MOUNT_POINT/" "$USB_MOUNT_POINT/"
# Split install.wim using wimlib
echo " - Splitting large install.wim file... This is the second long step."
wimlib-imagex split "$ISO_MOUNT_POINT/sources/install.wim" "$USB_MOUNT_POINT/sources/install.swm" 3800
if [ $? -ne 0 ]; then
echo "❌ Error: Failed to split and copy install.wim."
hdiutil detach "$ISO_MOUNT_POINT" &> /dev/null
exit 1
fi
# Unmount ISO
echo " - Cleaning up..."
hdiutil detach "$ISO_MOUNT_POINT" &> /dev/null
echo ""
echo "✅ Success! Your Windows 11 installation USB is ready."
echo "You can now safely eject the '$USB_VOLUME_NAME' drive."
STEP3: スクリプトの実行
ファイルを作成したら、以下の手順で実行します。
1. ターミナルでスクリプトのフォルダに移動
簡単な方法:
- ファイルを保存したフォルダをFinderで開く
- フォルダ内で右クリック → 「ターミナルで開く」を選択
手動の方法:
- デスクトップに保存した場合:
cd ~/Desktop
- ダウンロードフォルダに保存した場合:
cd ~/Downloads
2. 実行権限を付与
chmod +x create_usb.sh
3. スクリプトを実行
./create_usb.sh
スクリプトが起動すると、以下の2つの選択だけを求められます。
1. Windows ISOファイルの選択
- ターミナルに「Please drag and drop your Windows 11 ISO file here, then press Enter.」と表示されます
- ダウンロードしたWindows 11のISOファイルをターミナルにドラッグアンドドロップします
- Enterキーを押します
2. USBドライブの選択
- 接続されているUSBドライブの一覧が表示されます
- 使用したいUSBドライブの識別子(例:disk4)を入力します
- 確認プロンプトで「y」を入力します
それだけで、あとは勝手に処理が終わってWIN USBが作られる!
スクリプトが自動で実行する処理:
- ISOファイルをマウント
- USBドライブをFAT32でフォーマット
- ファイルをコピー(install.wim以外)
- install.wimを分割してコピー
- クリーンアップ
全て完了すると「Success! Your Windows 11 installation USB is ready.」と表示されます。
このスクリプトを使う利点
従来の手動コマンド入力と比べて、このスクリプトには以下の利点があります:
スクリプトの5つの利点:
- タイプミスがゼロ: 長いファイル名やコマンドを手入力する必要がない
- USBを30個作りたい時も楽: 一度スクリプトを作れば、何度でも使い回せる(闇業には使わないでください)
- ペットに教える時も簡単: 「このスクリプトを実行してね」と言うだけ
- エラーが出ても安心: ファイルが見つからない、USBが認識されないなどの問題を自動でチェック
- 進行状況が分かる: どの段階まで進んだかが表示されるので安心
よくあるエラーと解決策 Q&A
Q1: command not found: brew と表示される
解決策: Homebrewのインストールに失敗したか、パス(コマンドの場所を記録した設定)が正しく読み込めていない可能性があります。
対処法:
- ターミナルを再起動する
- インストール時に表示された指示に従ってパス設定のコマンドを実行
Q2: No such file or directory と表示される
解決策: ほぼ100%、ファイル名やフォルダ名のタイプミスが原因です。特に[ISO名]は非常に長いので、手入力せずコピー&ペーストを使いましょう。
プロの技: ターミナルでファイル名を入力する際は、ls /Volumes/CC
のように数文字入力してからTabキーを押すと、残りの名前が自動で補完されます。これが最も確実です。
完成!そして次はいよいよ組み立てへ
これで、自作PCに命を吹き込むための準備が整いました。最後にFinderでISOイメージとUSB(WIN11USB)をそれぞれ「取り出す」操作をしてから、USBを抜いてください。さっきのプロンプトの最後にsafty ejectが可能と出ますが念の為。
作成したUSBの使い方
このUSBメモリは、PCを組み立てた後、最初の起動時に使用します。BIOS/UEFI画面で起動デバイスとしてこのUSBを選択することで、Windows 11のインストールが開始されます。
インストールで困らないための追加TIPS
USBを作成した後、実際にWindowsをインストールする際につまずいたことが多々あります。これも書き残しておきます。
TIPS 1: 有線LAN環境がない場合の「ネット接続」回避法
新しい自作PCでは、LANケーブルを接続しないとインターネットに繋がらないことがほとんどです。もし有線LAN環境がない場合、Windows 11の初期設定で「ネットワーク接続」を求められて先に進めなくなってしまいます。
その際は、以下の裏ワザでスキップできます:
ネット接続回避の3ステップ:
- ネットワーク接続を求められる画面で、キーボードの Shift + F10 を同時に押します
- 表示された黒い画面に、 OOBE\BYPASSNRO と入力して Enter キーを押します
- PCが再起動した後、セットアップ画面に「インターネットに接続していません」という選択肢が現れるので、それを選んで進めてください
TIPS 2: Windows 10のライセンスキーは11でも使える
コスト削減のポイント: もし、使わなくなった古いPCの**Windows 10のライセンス(リテール版)**が余っていれば、そのプロダクトキーをWindows 11のライセンス認証に使用できます。新しく購入する必要がないかもしれないので、ぜひ試してみてください。
TIPS 3: Bluetoothが使えない場合の対処法
自作PCの初期設定時は、Bluetoothドライバがまだインストールされていないため、Bluetoothキーボードやマウスが使えないことがあります。
事前準備をおすすめします:
- 有線キーボード・マウス: USB接続のものを用意
- 無線USBキーボード・マウス: 専用レシーバーを使用するタイプ
- USBハブ: 接続ポートが足りない場合の対策
TIPS 4: 自作PCのBIOS/UEFI設定について
BIOS/UEFI設定の確認項目:
- 起動デバイス順位: USBを最優先に設定
- Secure Boot: 無効化(必要に応じて)
- Legacy Boot: 有効化(古いマザーボードの場合)
まとめ
今回は、MacでWindows 11のブート可能USBを作成する方法を、広く出回っているものと、自動化スクリプトを使ったアプローチで解説しました。
次回予告:いよいよ組み立て編!
次回の記事では、いよいよPCパーツの組み立てに挑戦します。
今回作成したWindows 11インストールUSBを使って、果たして無事にPCは起動するのか?組み立て過程での失敗談や、BIOS/UEFI設定の詳細、そして最終的なベンチマーク結果まで、リアルタイムでお届けします。
自作PC初心者なら必ず通る「最初の電源投入の瞬間」のドキドキ感も含めて、楽しみにお待ちください!
参考記事・関連リンク
公式サイト
関連記事(手動方式の詳細)
- SOUNDABILITY - MacでWindows11の起動USBを作成する方法
- freeCodeCamp - MacでWindows 10 USBを作成する方法
- Microsoft Tech Community - MacでWindows11インストールメディア作成
- Zenn - MacでWindows 11のインストールメディアを作成する