4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【2021年4月版】Raspberry Pi 4 に exFAT の SSD をつなぐ

Posted at

Raspberry Pi は初期状態では exFAT は対応してない

家に生の 2.5インチSSDドライブが転がっておりましたので、USBのアダプターをはめこんでラズパイにUSBで繋いでみました。
マウントしてみたところ、unknown filesystem type 'exfat'. というつれない返事をいただいてしまいました・・・
ということで、以下の手順にて exFAT 対応してみました。

1. ブロックデバイスの一覧表示

まず、lsblk コマンドでブロックデバイスをリスト表示します。

$ sudo lsblk -o UUID,NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL,MODEL
UUID                                 NAME    FSTYPE   SIZE MOUNTPOINT LABEL   MODEL
                                     loop0   squash    76M /snap/core         
                                     loop1   squash  25.4M /snap/hugo         
                                     loop3   squash  84.2M /snap/core         
                                     loop4   squash  28.9M /snap/hugo         
                                     sda            238.5G                    Gener
XXXX-XXXX                            ├─sda1  vfat     200M            EFI
XXXX-XXXX                            └─sda2  exfat  238.3G            XXXXXX
                                                                              
                                     mmcblk0        119.3G                    
XXXX-XXXX                            ├─mmcblk0p1
                                     │       vfat     256M /boot      boot    
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx └─mmcblk0p2
                                             ext4     119G /          rootfs  

はい、sda2exfatと正しく認識されています。ただし、このドライバーはインストールされていないので以下の手順でインストールします。

2. exFAT をインストール

一旦、念のためリポジトリを更新しておきます。

sudo apt update
...

そしてexfat-fuseをインストールします。

$ sudo apt install exfat-fuse
...

無事にインストールされました。

3. マウント

ではマウント先を作ってマウントしましょう。フォルダ名は適当です。

$ sudo mkdir /mnt/work
$ sudo mount /dev/sda2 /mnt/work
FUSE exfat 1.3.0

というわけで、exfat で無事にマウントされました。

4. 自動マウント

さて、次回にも自動でマウントされるように、fstab に設定を追加致しましょう。
上記の lsblk コマンドか blkid コマンドで取得されるUUIDをメモっておきましょう。

nano エディタで fstab ファイルに追記します。

UUID=XXXX-XXXX /mnt/work exfat defaults,auto,users,rw,nofail 0 0

上書き保存後、再起動してマウントされていれば成功です。
マウントのオプションについては fstab の書き方については色々、情報がありますので調べてみてください。

ついでに SMART で確認

SSD つながりましたので smartmontools パッケージを追加して SMART 情報を確認してみましょう。以下のコマンドで追加OKです。

$ sudo apt install smartmontools
Reading package lists... Done
...

コマンドのインストールが終了後、smartctl コマンドでSSDの状態をサクッと調べることができます。

$ sudo smartctl --scan
/dev/sda -d sat # /dev/sda [SAT], ATA device

もちろん認識できてます。で、SMART対応できているか情報をみてみます。

$ sudo smartctl -i /dev/sda
...

SMART support is: Available - device has SMART capability.
SMART support is: Enabled

ちゃんとEnabledと出ていますね。
それではSMART情報を取得してみましょう。

$ sudo smartctl -A /dev/sda
smartctl 6.6 2017-11-05 r4594 [armv7l-linux-4.19.88-v7l+] (local build)
Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   100   100   050    Pre-fail  Always       -       0
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0032   100   100   001    Old_age   Always       -       10
 12 Power_Cycle_Count       0x0032   100   100   001    Old_age   Always       -       2
170 Grown_Failing_Block_Ct  0x0033   100   100   010    Pre-fail  Always       -       0
171 Program_Fail_Count      0x0032   100   100   001    Old_age   Always       -       0
172 Erase_Fail_Count        0x0032   100   100   001    Old_age   Always       -       0
173 Wear_Leveling_Count     0x0033   100   100   010    Pre-fail  Always       -       0
174 Unexpect_Power_Loss_Ct  0x0032   100   100   001    Old_age   Always       -       0
181 Non4k_Aligned_Access    0x0022   100   100   001    Old_age   Always       -       0 0 0
183 SATA_Iface_Downshift    0x0032   100   100   001    Old_age   Always       -       0
184 End-to-End_Error        0x0033   100   100   050    Pre-fail  Always       -       0
187 Reported_Uncorrect      0x0032   100   100   001    Old_age   Always       -       0
188 Command_Timeout         0x0032   100   100   001    Old_age   Always       -       0
189 Factory_Bad_Block_Ct    0x000e   100   100   001    Old_age   Always       -       85
195 Hardware_ECC_Recovered  0x003c   100   100   001    Old_age   Offline      -       0
196 Reallocated_Event_Count 0x0032   100   100   001    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   100   100   001    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   100   001    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   100   100   001    Old_age   Always       -       1876
202 Perc_Rated_Life_Used    0x0018   100   100   001    Old_age   Offline      -       0
206 Write_Error_Rate        0x000e   100   100   001    Old_age   Always       -       0

UDMA_CRC_Error_Countが多いので歴戦の感はありますがまだまだ現役ですね。
ただSDカードの容量がもうテラ越えるの出てるので256GのSSDはもうお役御免だなぁ。。。

以上です。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?