投稿:
更新:
【M1 Mac】ラズパイで「unable to read partition as fat」となる原因を解決する【Raspberry Pi Imager】
はじめに
こんにちは。Debian
をラズパイの起動に使うマイクロ SD カードに書き込んでインストールしたかったのですが、トラブルに巻き込まれた (?)ので解決策を共有します。
環境
再現性のためにハードウェア・ソフトウェアもまとめます。
- Macbook Air M1, 2020
- Mac OS 13.1 / スペックは関係ありませんので省略
- SD カード
- Raspberry Pi Imager v1.7.3
- Raspberry Pi4 ModelB 4GB ラズベリーパイ 4 技適対応品【RS・OKdo 版】
- Debian インストールパッケージ
対処法
結論は、diskutil
でsudo diskutil eraseDisk FAT32 UNTITLE MBRFormat /dev/disk4
のようにしてまさしくフォーマットでき、正常にラズパイが起動できました。
原因やコマンドの詳細は順に説明します。
原因・うまく行かないエラーを探る
Raspberry Pi Imagerというソフトの FAT32 フォーマットがまさしく動かなかったと思われます。
画像は残っていないのですが、同じ状況の画像がこれです。
M1 Mac
を使っていることが 関係しないこともない かもしれません(フォーマットに CPU アーキテクチャ絡むかは不明)。
SD カードを 2 枚用意し同様に検証しても記事タイトルのエラーが出るため、これは SD カードが壊れているわけではない と判断しました。
また、ネット上のRaspberry Pi Imagerを利用した記事は Windows
・Intel CPU
の Mac
の状況が多いため、M1 Mac での成功事例がありません。
まとめると関係事項は次の通りです。
- Raspberry Pi Imagerの FAT32 フォーマットが正常に動かない
- SD カードは 2 枚試して動かない+通常の読み取りは可能であるため問題ない
- OS の Image は複数種類試してエラーなのでインストールする OS も関係ない
- ラズパイは壊れていないと仮定
- M1 Mac の Raspberry Pi Imager のフォーマットに不具合がある
diskutil で対処する
ひとまず、フォーマットを正しく行う必要があるためコマンドラインからやります。Raspberry Pi Imagerというソフトの FAT32 フォーマットがまさしく動かなかったと思われるためです。
該当するメモリを特定する
diskutil list
~~~~~~~~~~~~~~~
/dev/disk(n) (external, physical):
#: TYPE NAME SIZE IDENTIFIER
大抵は物理的な外部接続のメモリが(external, physical)
の欄に該当します。
その中から SIZE
を見てメモリを特定してください。そのIDENTIFIER
は一瞬メモして覚える必要があります。
/dev
配下のどのディスクかも一瞬覚えてください。
コマンドでフォーマットする
次にコマンドから FORMAT
します。ANY_NAME_IS_OKと設定した通り、名前は任意です。
sudo diskutil eraseDisk FAT32 ANY_NAME_IS_OK MBRFormat /dev/disk(n)
ディスク書き込みなので管理者権限必要です。自分で行った記録も貼り付けますね。
~/ sudo diskutil eraseDisk FAT32 UNTITLE MBRFormat /dev/disk4
Password:
Started erase on disk4
Unmounting disk
Creating the partition map
Waiting for partitions to activate
Formatting disk4s1 as MS-DOS (FAT32) with name UNTITLE
~~~~~~
Mounting disk
Finished erase on disk4
このあとRaspberry Pi Imagerで適宜 OS を選択して書き込んであげれば OK で起動できました。
おわりに
これで起動しました。色々できることが増えました…一安心ですね。
参考
- 非公式ですが
diskutil
の詳細記事 - Mac Terminal diskutil Command Examples – The Geek Diary