Windowsでデータを書き込んだ USBメモリやデジカメのメモリカードを、Linuxにマウントすると
ファルの更新時刻が9時間ずれている。
OSの差異と、vfat (FAT32)の仕様によるもの。
vfatにはローカルタイムという概念が無いため、ファイルの更新時刻は OSによって記録された時刻になる。
Windowsの場合、システム時刻(ローカルの時刻)で扱う仕様になっている。
Linuxの場合、UTCで扱うi仕様になっている。
そのため、Windowsで vfatで書き込んだメディアを Linuxにマウントすると、ファイルの更新時刻が9時間進んだ時刻になってしまう。
デジカメなどもメモリカードを FAT32で使用してる機種では同じ問題が生じる。
FAT32を拡張した exFATというファイルシステムでは、タイムゾーンの考慮がなされているため、このような
問題は起こらない。
対策
Linuxの mountコマンドに time_offsetオプションがあるので、これを使ってマウントすると時刻が補正される。
mount -t vfat デバイス・パス マウント先のパス -o time_offset=540 (分で指定するため 9h x 60 = 540)
最近の Linuxだと、メモリカードを挿すと自動的にマウントされるが、デフォルトでは time_offsetは設定されていない。
いったん unmountして、手動でマウントする必要がある。