Skip to main content
  1. Posts/

MacでSDカードを初期化する時にアロケーションユニットサイズを指定する方法

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」は、デバイスファイルと呼ばれると呼ばれています。このデバイスファイルを、ファイルツリーに組み込んで使えるようにすることをマウントといいます。以下のリンクが、参考になるかもしれません。


今回は、MacでSDカードのアロケーションユニットサイズを4096にしてフォーマットする方法をまとめました。