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