Raspberry Pi 5をモニターなしでセットアップする。Windows PCだけでOS書き込みからSSH接続まで

モニターもmicro HDMIケーブルもなしで、Windows PCだけでRaspberry Pi 5を初期設定します。Raspberry Pi ImagerのCLIとfirstrun.shでWi-FiとSSHを仕込み、SDカード挿入から約3分でSSH接続できるまでの全手順を実測値つきで解説します。

Raspberry Pi 5をモニターなしでセットアップする。Windows PCだけでOS書き込みからSSH接続まで

こんにちは!

Qualitegプロダクト開発部です!

本稿はRaspberry Pi(ラズベリーパイ、通称ラズパイ)をインターネット越しにコントロール方法についてシリーズでお伝えいたします。

シリーズですが以下の図のように、ヘッドレスセットアップ(今回)をやったあと、インターネット公開にむけてセキュリティ対策として②Rasberry Pi の堅牢化を行い、③インターネット側から直接Rasberry Pi内に起動したWebサーバーにアクセスできるようにします

第1回の今回は、ラズパイの入手から初期セットアップ手順に関する内容です。

図1 Raspberry Pi 5 連載の全体像(今回は①)
図1 連載の全体像。今回は①で、Windows PCだけでSSH接続まで動く状態にする

Windows 11のPCだけでOSの書き込みからSSH接続までを完了させた手順を、実測値つきでご紹介します。SDカードを挿して電源を入れてから、SSHでログインできるまでは約3分でした。

用意するもの

  • Raspberry Pi 5本体・・・本稿では4GBモデルを使います。
  • microSDカード・・・今回は64GB。初回起動時に全容量まで自動拡張されます
  • Rasberry Pi5用のヒートシンク・・・熱対策用
  • USBカードリーダー・・・SDカードにラズパイイメージを書き込みます
  • Windows 11のPC
  • USB-C電源(Raspberry Pi 5は5V/5A給電が推奨で、公式のRaspberry Pi 27W USB-C Power Supplyなどが該当します。5V/3A級の充電器でも構成によっては起動できますが、電力不足による制限や不安定動作が起きる可能性があります)

実機のセットアップ

組み立て

では、さっそくラズパイを組み立てていきましょう!

これがラズパイです。

Raspberry Pi 5本体(4GBモデル)

まず、熱対策としてヒートシンクをつけていきます。

ヒートシンクをつけるまえに、CPUチップなど発熱するパーツに付属のシリコンゴムっぽい素材を貼り付けていきます。これはサーマルパッド(熱伝導パッド)というやつですね。

サーマルパッドを発熱パーツにはっていきます

はい、すっかりサーマルパッドをはりつけましたので、次にヒートシンク本体を取り付けましょう。

絶縁プラスチックでできたネジでこんなふうに裏側からヒートシンクをとめてできあがり。

ヒートシンク本体がとりつけられました。

ファン用電源コネクタがラズパイ基盤上部にあるので、そこにヒートシンク側から出た電源ケーブル差し込みます。

ちなみに、SDカードはまだ挿しません。何もはいっていないので挿しても何もできません。

さて、ここまで数分で終わると思います。

次に、ソフトウェアをやっていきましょう。

モニターなしでラズパイをセットアップしていく

さっそくソフトウェアをセットアップしていきましょう。
今回はCLIのみでセットアップしていきます。つまりヘッドレスセットアップですね。

動作確認した環境は、

・書き込みソフト:Raspberry Pi Imager 2.0.8
・書き込んだOS:Raspberry Pi OS 64-bit(Debian 13 trixieベース、カーネル6.18)
・作業PC:Windows 11 Proです。

手順1: 書き込み先の物理ディスク番号を確認する

まずラズパイに差し込むSDカードを作る作業からです。

そのためには、専用の書き込みソフト「Raspberry Pi Imager 2.0.8」をつかいます。

SDカードへの書き込みは物理ディスク単位で行うため、最初にディスク番号を確認します。

Raspberry Pi Imager 2.0.8には、内蔵ドライブなど書き込み対象外のデバイスへの書き込みを拒否する安全機構がありますが、それでも、別のUSBストレージを取り違えればデータを消してしまうため、ディスク番号・容量・BusTypeの確認は必ず行ってください。

SDカードをカードリーダーでPCにつなぎ、PowerShellで次を実行します。

Get-Disk
Number FriendlyName           BusType SizeGB
------ ------------           ------- ------
     0 CT4000P3PSSD8          NVMe      3726
     1 Generic- SD/MMC/MS PRO USB       59.5

今回の環境では、内蔵SSDがディスク0、USBカードリーダー経由のSDカードがディスク1と表示されました。容量(59.5GB)とBusTypeがUSBであることからSDカードだと判断できますね。

以降の手順では書き込み先を \\.\PhysicalDrive1 と指定します。ディスク番号はお使いの環境で必ず読み替えてください。

手順2: Raspberry Pi ImagerとOSイメージを用意する

Raspberry Pi Imagerはwingetで入ります。

winget install --id RaspberryPiFoundation.RaspberryPiImager --silent --accept-package-agreements --accept-source-agreements

インストール先は C:\Program Files\Raspberry Pi Ltd\Imager\ です。GUIで使うのと同じ実行ファイルがCLIモードを持っていて、スクリプト用のラッパー rpi-imager-cli.cmd も同梱されています。

OSイメージは公式のダウンロードサイトから取得します。
raspios_arm64_latest というURLは常に最新の64-bit版(デスクトップあり)へリダイレクトされるので、覚えておくと便利です。

curl.exe -L --fail -o C:\qualiteg_examples\raspi\raspios.img.xz https://downloads.raspberrypi.com/raspios_arm64_latest

サイズは約1.3GBでした。xz圧縮のまま書き込みに使えるので、自分で展開する必要はありません。

手順3: 初回起動スクリプトfirstrun.shを作る

ここがヘッドレスセットアップの心臓部です。

Raspberry Pi OSに標準で入っているヘルパー imager_custom と userconf を呼び出して、ホスト名、SSH、ユーザー、Wi-Fi、キーボード配列、タイムゾーンをまとめて設定します。ファイル名は firstrun.sh とし、置き場所はどこでも構いません(次の手順で書き込み時にパスを渡します)。

#!/bin/bash
# set +e は途中のコマンドが失敗しても最後の後始末まで進めるための指定。
# 設定が反映されないときは、各コマンドの成否を個別に確認すること
set +e

/usr/lib/raspberrypi-sys-mods/imager_custom set_hostname raspberrypi
/usr/lib/raspberrypi-sys-mods/imager_custom enable_ssh
/usr/lib/userconf-pi/userconf 'pi' '$6$…(openssl passwd -6 で生成したハッシュ)'
/usr/lib/raspberrypi-sys-mods/imager_custom set_wlan 'your-ssid' 'your-wifi-password' 'JP'
/usr/lib/raspberrypi-sys-mods/imager_custom set_keymap 'jp'
/usr/lib/raspberrypi-sys-mods/imager_custom set_timezone 'Asia/Tokyo'

rm -f /boot/firstrun.sh /boot/firmware/firstrun.sh
sed -i 's| systemd.run.*||g' /boot/cmdline.txt /boot/firmware/cmdline.txt 2>/dev/null
exit 0

SSIDとWi-Fiパスワード(上記スクリプトの'your-ssid' 'your-wifi-password'の部分)はご自身のものに置き換えてください。

ーザーのパスワードは平文ではなくSHA-512ハッシュで渡します。ハッシュはGit Bashなどで次のように作れます。

openssl passwd -6 '設定したいパスワード'

末尾の2行は、スクリプトが自分自身を削除して通常起動に戻すための後始末です。Imagerが起動設定(cmdline.txt)に仕込むエントリを外しています。

ひとつだけ重要な注意があります。

このファイルの改行コードは必ずLFにしてください。

Windowsのエディタで作るとCRLFになりがちで、CRLFのままだと初回起動時にスクリプトが失敗します。SSHは有効にならず、Wi-Fiにもつながらず、モニターがないので失敗の様子も見えないという、なかなかつらい状態になります。

セキュリティ上の注意もひとつ。firstrun.sh にはWi-Fiパスワードが平文で入ります。Gitへのコミットや共有フォルダへの配置は避け、Windows側に残った作業用ファイルも不要になったら削除してください。

手順4: CLIでSDカードに書き込む

物理ディスクへの書き込みには管理者権限が必要なので、PowerShellから昇格つきで実行します。UACのダイアログが出たら許可してください。

$imgr = 'C:\Program Files\Raspberry Pi Ltd\Imager\rpi-imager.exe'
$opts = @('--cli', '--debug', '--disable-eject',
          '--first-run-script', 'C:\qualiteg_examples\raspi\firstrun.sh',
          '--log-file',         'C:\qualiteg_examples\raspi\flash-log.txt',
          'C:\qualiteg_examples\raspi\raspios.img.xz',
          '\\.\PhysicalDrive1')
Start-Process -FilePath $imgr -ArgumentList $opts -Verb RunAs -Wait

使っているオプションの意味です。

オプション役割
--cliGUIを起動せずコマンドラインモードで動かす
--first-run-script初回起動スクリプト(firstrun.sh)をSDカードに組み込む
--log-file進捗と結果をログファイルに書き出す
--debugログを詳細にする。書き込み速度の自動調整の様子も記録される
--disable-eject書き込み完了後にSDカードを自動排出しない。書き込み結果を確認したい場合に付ける

書き込み後の読み戻し検証(ベリファイ)はデフォルトで有効です。実測では、1.3GBのxzイメージの展開に53秒、書き込みと検証を合わせて5分ほどで完了しました。書き込みの遅いSDカードだとログに書き込みレイテンシの警告が出ますが、Imagerが自動でバッファ量を調整して続行するので、そのまま待てば大丈夫です。

進捗表示について補足します。今回のように Start-Process -Verb RunAs で昇格して起動した構成では、元のPowerShell側では進捗を確認できませんでした。そのため --log-file を指定し、ログファイルで進捗と結果を確認しています。ログの最後に succeeded と出ていれば成功です。

手順5: 電源を入れて3分待ち、SSHで接続する

書き込みが終わったSDカードをラズパイ5に挿しましょう。

SDスロットにさっきイメージを書き込んだmicro SDカードを挿す

そして、USB-C電源をつなぐだけで起動します。

USB Cの電源端子に電源アダプタをつなぎ、電源供給すればラズパイに電源がはいる。

Raspberry Pi 5には電源ボタンもありますが、通常の初回起動ではボタン操作は不要です。初回はファイルシステムの自動拡張、firstrun.sh の実行、再起動が順に走るので、2〜3分待ちます。基板の緑のLEDが点滅していれば起動処理中です。

待ったら、WindowsのターミナルからSSHで接続します。

ssh pi@raspberrypi.local

raspberrypi.local という名前はmDNSという仕組みで解決されます。Windows 11は標準で対応しているので、追加のソフトは要りません。今回の実測では、SDカードを挿して電源を入れてから約3分でSSHポートが開き、初期設定したユーザーでログインできました。

ログイン後の状態も確認しました。uname -a、vcgencmd measure_temp、df -h の出力の抜粋です。

Linux raspberrypi 6.18.34+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.18.34-1+rpt1 (2026-06-09) aarch64 GNU/Linux
temp=34.0'C
/dev/mmcblk0p2   58G  6.6G   49G  12% /

64GBカードの全域がルートファイルシステムに拡張済みで、CPU温度は34.0度、Wi-Fi経由でIPv4アドレスも取得できていました。

ここまでくれば、あとは普通のLinuxマシンとして使えます。

ハマりどころと回避策

今回の作業で実際に踏んだ罠を表にまとめます。

症状原因回避策
昇格して実行すると、元のPowerShellに進捗が表示されないことがある今回の Start-Process -Verb RunAs での昇格起動では、元のPowerShell側に進捗が表示されなかった(実測)--log-file でログファイルに書かせて、そちらで進捗と結果を確認する
書き込みがアクセス拒否で失敗する物理ディスクへの書き込みには管理者権限が必要Start-Process -Verb RunAs で昇格して実行する
初回起動してもWi-Fiにつながらず、SSHもできないfirstrun.sh の改行コードがCRLFになっていてスクリプトが実行に失敗しているLFで保存し直し、書き込みからやり直す
raspberrypi.local が見つからない、またはIPv6アドレスが返ってくるmDNSの名前解決がIPv6を優先することがある通常はそのまま接続できる。接続できない場合はルーターの管理画面でIPv4アドレスを確認して直接指定する
plinkでスクリプトから自動接続すると初回に固まるホストキー確認のプロンプトが標準入力のパイプからの応答を受け付けない-batch と -hostkey "SHA256:..." でフィンガープリントを明示指定してプロンプト自体を出させない

最後のplinkの罠は、SSH接続までスクリプトで自動化したい人向けの補足です。手でsshコマンドを打つ分には遭遇しません。

まとめ

モニターなしのRaspberry Pi 5セットアップは、次の5点を押さえれば安全に完走できます。

  • 書き込み前に Get-Disk で物理ディスク番号を確認する(最重要)
  • OSイメージは raspios_arm64_latest から取得し、xzのまま書き込む
  • firstrun.sh にWi-Fi、SSH、ユーザー設定を仕込む。改行コードはLF
  • 書き込みは管理者権限で実行し、結果は --log-file のログで確認する
  • 初回起動は3分待ってから ssh pi@raspberrypi.local

ログインできたら、次の一手として最初にパスワードの変更とパッケージ更新をおすすめします。

passwd
sudo apt update && sudo apt full-upgrade -y

デスクトップ画面を使いたくなったら、sudo raspi-config でVNCを有効にすると、Windowsからリモートデスクトップのように操作できます。

このあたりは別の記事で紹介する予定です。

それでは、また次回お楽しみに!

参考リンク

Read more

日本語対応 LLMランキング2026 ~ベンチマーク分析レポート~(9月1日版)

日本語対応 LLMランキング2026 ~ベンチマーク分析レポート~(9月1日版)

はじめに 本レポートは、Nejumi Leaderboard 4のベンチマークデータ(2026/9/1版)に基づいて、日本語対応LLMの性能を総合的に分析したものです。 前回は 2026/7/10 版の分析レポート を公開しましたが、わずか2か月弱で首位が入れ替わり、 オープンモデルが総合3位に食い込む激アツの回となりました! (定期的に最新LLMランキングを更新してまいります。当社のX(旧Twitter)をフォローいただくことで更新情報を受け取り可能です) Nejumi Leaderboard 4は、日本語タスクにおけるLLMの性能を多角的に評価する信頼性の高いベンチマークとして知られています。汎用的言語性能(GLP)とアラインメント(ALT)の2軸で構成され、翻訳・要約・推論・コーディングから毒性・バイアス・真実性まで、幅広い観点をカバーしているのが特徴です。 本分析では、商用APIモデルとオープンモデルの両方を対象に、それぞれの特徴や傾向を詳しく見ていきます。 まず、今回の3大トピックを先にご紹介します。 * Claude Opus 5が総合スコア0.8720で

By Qualiteg プロダクト開発部, Qualiteg コンサルティング
【AI×CAD 第2回】見積もりのたびに穴を数えていませんか。STEPのB-Repから穴・ザグリ・皿ザグリを自動で拾う

【AI×CAD 第2回】見積もりのたびに穴を数えていませんか。STEPのB-Repから穴・ザグリ・皿ザグリを自動で拾う

解析曲面として出力されたSTEPでは、穴・ザグリ・皿ザグリ・フィレットの寸法が数値として記録されています。無料の3D CADビューワー兼AI解析ツールCADASのフィーチャ認識で、12個の穴を5行の表にし、厳密解析でSTEPに記録された正確な寸法に置き換えるまでを、実測値と実装の中身で解説します。

By Qualiteg コンサルティング
【AI×CAD 第1回】設計の3Dデータ、設計部門の外で誰も見られない問題を無料+ブラウザだけで解決する

【AI×CAD 第1回】設計の3Dデータ、設計部門の外で誰も見られない問題を無料+ブラウザだけで解決する

STEPファイルをブラウザで開ける無料の3Dビューワー「CADAS」を公開しました。インストール・登録不要。表示・計測・断面はブラウザ内で処理され、ファイルは外部へ送信されません。CADライセンスのない部門と3Dデータを共有する方法を、実際の画面と実測値で紹介します。

By Qualiteg コンサルティング