ノウハウ

現象**

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して、手動でマウントする必要がある。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-06-08 (木) 21:15:04