10/01/2017

SDカードをAPFSでフォーマットしてみる

Macbook Airに、こんなパーツを付けている。

MiniDrive Air Silver MD5-RP-AIRSR0G

正確には、以前買ったものなのでデザインがもう少しファンキーだった。

手持ちの128GBは認識しなかったので64GBのを入れている。まぁ、この手の製品は自己責任なんで致し方ない。類似の製品がいろいろあるので見当してみるといいかもしれない。また、必ず、対応しているMACのじゃないとダメっぽい。理由は、SDカードスロットの深さが違うらしく最悪、抜けないなんていうこともある。。。

だいぶクラウド化が進んでいるので、実は内臓SSDなんて256GB程度で足りるのだが、全てのデータが速いドライブに入っている必要はなく、また、以前あった、Spotifyのキャッシュに猛烈アクセスなんということもあるので、基本入れておくものは:

  • ISOイメージ
  • 仮想マシンイメージ
  • Spotifyのキャッシュ
  • その他、なんとなくのデータ(デスクトップに散らかしているもの)

などである。

閑話休題

High Seirraでは、APFSが採用されている。SSDに特化しているとか。APFSのクローンの速さったら、めちゃくちゃ速い。4GB程度のISOイメージをコピーしても同一ドライブであれば(ここがキモ)、数秒。仮想マシンイメージのコピーも10GB程度で2秒くらい。VMware Fusionでクローンするより、Finderでコピーをしたほうが圧倒的に速い。

SDカードも見方を変えれば、SSD?ということで、やってみた。

ちなみに、Disk Utilityではできない。つまり推奨されていないんでしょうね。なので、自己責任で。ただ、APFSをコマンドラインで作ってみると、APFSの構造がわかっても白い。キーワードは、GPTとコンテナ。まず、ドライブ(SDカード)をGPTにして、その後、コンテナをつくり、そのコンテナをフォーマットする。

コマンドラインは以下。ちなみに、ちゃんと自分のデバイス名を確認して実行すること。コピペしてデータが消えても責任はとれない。

 

ディスクのデバイス名の確認

hogehoges-MacBook-Air:~ tmase$ diskutil list

/dev/disk0 (internal, physical):

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:      GUID_partition_scheme                        *251.0 GB   disk0

   1:                        EFI EFI                     209.7 MB   disk0s1

   2:                 Apple_APFS Container disk1         250.8 GB   disk0s2

 

/dev/disk1 (synthesized):

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:      APFS Container Scheme -                      +250.8 GB   disk1

                                 Physical Store disk0s2

   1:                APFS Volume Macintosh HD            125.6 GB   disk1s1

   2:                APFS Volume Preboot                 19.0 MB    disk1s2

   3:                APFS Volume Recovery                520.0 MB   disk1s3

   4:                APFS Volume VM                      3.2 GB     disk1s4

 

/dev/disk2 (internal, physical):

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:     FDisk_partition_scheme                        *63.4 GB    disk2

   1:                  Apple_HFS SDXC64GB                63.4 GB    disk2s1

   

GPTパーテイョンの作成

hogehoges-MacBook-Air:~ tmase$ diskutil partitionDisk /dev/disk2 GPT JHFS+ New 0b

Started partitioning on disk2

Unmounting disk

Creating the partition map

Waiting for partitions to activate

Formatting disk2s2 as Mac OS Extended (Journaled) with name New

Initialized /dev/rdisk2s2 as a 59 GB case-insensitive HFS Plus volume with a 8192k journal

Mounting disk

Finished partitioning on disk2

/dev/disk2 (internal, physical):

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:      GUID_partition_scheme                        *63.4 GB    disk2

   1:                        EFI EFI                     209.7 MB   disk2s1

   2:                  Apple_HFS New                     63.0 GB    disk2s2

   

コンテナの作成   

hogehoges-MacBook-Air:~ tmase$ diskutil apfs createContainer /dev/disk2s2

Creating container with disk2s2

Started APFS operation on disk2s2 New

Creating a new empty APFS Container

Unmounting Volumes

Switching disk2s2 to APFS

Creating APFS Container

Created new APFS Container disk3

Disk from APFS operation: disk3

Finished APFS operation on disk2s2 New

 

作成されたコンテナの確認

hogehoges-MacBook-Air:~ tmase$ diskutil list

/dev/disk0 (internal, physical):

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:      GUID_partition_scheme                        *251.0 GB   disk0

   1:                        EFI EFI                     209.7 MB   disk0s1

   2:                 Apple_APFS Container disk1         250.8 GB   disk0s2

 

/dev/disk1 (synthesized):

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:      APFS Container Scheme -                      +250.8 GB   disk1

                                 Physical Store disk0s2

   1:                APFS Volume Macintosh HD            125.6 GB   disk1s1

   2:                APFS Volume Preboot                 19.0 MB    disk1s2

   3:                APFS Volume Recovery                520.0 MB   disk1s3

   4:                APFS Volume VM                      3.2 GB     disk1s4

 

/dev/disk2 (internal, physical):

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:      GUID_partition_scheme                        *63.4 GB    disk2

   1:                        EFI EFI                     209.7 MB   disk2s1

   2:                 Apple_APFS Container disk3         63.2 GB    disk2s2

 

/dev/disk3 (synthesized):

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:      APFS Container Scheme -                      +63.2 GB    disk3

                                 Physical Store disk2s2

 

コンテナをAPFSにする

hogehoges-MacBook-Air:~ tmase$ diskutil apfs addVolume disk3 APFS SDXC64GB

Exporting new unencrypted APFS Volume "SDXC64GB" from APFS Container Reference disk3

Started APFS operation on disk3

Preparing to add APFS Volume to APFS Container disk3

Creating APFS Volume

Created new APFS Volume disk3s1

Mounting APFS Volume

Setting volume permissions

Disk from APFS operation: disk3s1

Finished APFS operation on disk3

hogehoges-MacBook-Air:~ tmase$


というような感じ。結果は。。。まぁ、APFS内でのコピーは速いが利用シーンはちょっとねぇという感じ。また、一度ファイルが消せなくなって、フォーマットし直したことがある。なので、あくまでも趣味の世界。High SeirraでThunderbolt接続のHDDもAPFSにしてみた(これは、Disk Utilityで変換もフォーマットもできた。)が、やはり、コピーは、SSDほどではないが結構速い。実際に通常のファイルシステムでそんなにコピーしたことはないけど。