MacでSDカードを初期化する時にアロケーションユニットサイズを指定する方法
Table of Contents
Ender-3 S1 Pro等3Dプリンタでは、SDカードを使用してファームウェアアップデートをすることがあります。 ファームウェアアップデートの説明サイトでは、「アロケーションユニットサイズを4096にして、SDカードをフォーマットする」という手順があります。これが、Macではターミナルでしかできないようだったので、その方法をメモしておきます。
手順 #
次の手順で行います。
- SDカードの装置IDを確認する(2通り)
- ターミナルで
diskutil list
を実行して、SDカードのID(disk4s1
のような文字列)を確認するdf
コマンドでも良い
- ディスクユーティリティで、SDカードの「装置」の項目にある文字列を確認する
- ターミナルで
- ディスクをアンマウントする
diskutil unmount /dev/${装置ID}
- 初期化する
sudo newfs_msdos -b 4096 /dev/${装置ID}
-b ${SIZE}
で、アロケーションユニットサイズを指定する-v ${名前}
で、SDカードの名前を設定できる
- ディスクをマウントする
diskutil mountDisk /dev/${装置ID}
- デスクトップにSDカードが表示される
以上です。
SDカードの装置IDの確認方法 #
ターミナルで確認する場合は、diskutil list
を実行します。
すると、ディスクやイメージの一覧が表示されるので、その中からSDカードの名前が入った部分を探し、IDENTIFIERの文字列をメモします。
下の例では、右下にある「disk12s1」が装置のIDです。
/dev/disk12 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *32.0 GB disk12
1: DOS_FAT_32 ENDER3 32.0 GB disk12s1
df
コマンドの場合は、下のようになる。
➜ ~ df
Filesystem Mounted on
/dev/disk12s1 /Volumes/ENDER3
ディスクユーティリティで確認する場合は、SDカードを選択し、詳細画面で「装置」の文字列を確認します。
SDカードの名前を設定する場合 #
-v
のオプションをつけることで、ディスクの名前を設定することができます。
以下の例は「ENDER3」という名前で初期化しています。
sudo newfs_msdos -v ENDER3 -b 4096 /dev/disk12s1
FAT32で初期化されるため、設定できる名前は、英数字11文字までです。(参照)
マウント・アンマウントの概念 #
コマンドで出てきた「マウント」「アンマウント」の概念は、わかっていると、コマンドの理解が進みます。 先ほどの「装置ID」は、デバイスファイルと呼ばれると呼ばれています。このデバイスファイルを、ファイルツリーに組み込んで使えるようにすることをマウントといいます。以下のリンクが、参考になるかもしれません。
- Windowsユーザーに贈るLinux超入門(11) WindowsのドライブとLinuxのマウント、何が違う? | TECH+(テックプラス)
- この1ページで一通りわかる!Linuxのマウント(mount)について
- 「ファイルシステムのマウント」とは何なのか #Linux - Qiita
今回は、MacでSDカードのアロケーションユニットサイズを4096にしてフォーマットする方法をまとめました。