MacからminiSD/microSDにファイル書き込むとチェックディスクを迫られるのは不可視ファイルの仕業

前回のエントリーの続きです。
SD-PIMってなに?携帯でminiSD/microSDカードをチェックディスク/フォーマットする方法

MacでUSB接続のカードリーダーでmiscroSDを読んだ後に、携帯の方でSDが読み込み不能になってしまうのは、「.DS_Store」「._.Trash」みたいなメタ情報が入っているいわゆる「不可視ファイル」が原因の可能性が高い。

というわけで、携帯でチェックディスクするんじゃなくてMac側でどうにかする方法を色々試してみた。

.DS_Storeファイルを作らない方法

そもそも、SDカードには「.DS_Store」はいらないと思うので作らない設定ができます。

1)ターミナルからコマンドで設定する場合

Finder でリモートのファイルサーバにアクセスする際に“.DS_Store”が作成されないようにするには、Mac OS X のユーザアカウントを次の手順に従って設定します。

via: Mac OS X 10.4: ネットワーク接続時に .DS_Store ファイルの作成を抑制する方法
defaults write com.apple.desktopservices DSDontWriteNetworkStores true
ターミナルを開いて、上記コマンドを実行、コンピュータを再起動するだけです。

2)アプリケーションで設定する場合
TinkerToolというかゆいところに手が届く定番ツールで設定できます。
TinkerTool: Description
TinkerTool

ダウンロード&インストールの手順は省きます。

TinkerToolを起動して、「Finder」タブの、「ネットワーク」項目に対象の項目があります。
TinkerToolで.DS_Storeを作らない設定
「不可視ファイルの.DS_Storeをネットワーク上に作成しない」にチェックをいれます。
で、右端にある「Finderを再起動」をおせばOK。

※TinkerToolはその他にも色々な設定ができるので調べてみて下さい。

不可視ファイルを手動で削除する方法

結果的には、.DS_Storeを作らない設定だけでは携帯(P905i)で読み込みできない問題は解決できませんでした。.DS_Store以外にも「.*」「._*」みたいなファイルがあるとダメみたいなので、手動で削除する方法を試してみました。

以下全てターミナルで実行します。
※ microSDカードのデバイス名を確認
$ df -h
/dev/disk1s1               1.9G     0.2G     1.8G     10%    /Volumes/NO NAME

※ microSDの中の「.DS_Store」を全部削除(デバイス名のスペースはバックスラッシュでエスケープ)
$ find /Volumes/NO\ NAME -name .DS_Store -exec rm {} \;

※ 同様に.Trashも含む不可視ファイルを全部消す場合はこんなコマンドで
$ find /Volumes/NO\ NAME -name ".*" -exec rm -rf {} \;

※ デバイスを取り出し(イジェクト)
$ diskutil eject /dev/disk1

ターミナルからイジェクトしたのは、Finderから操作する事でせっかく削除した不可視ファイルがまた作られないようにするため。・・・だったんだけど、この方法をもってしてもP905iではmicroSDを読み込まなかった。

念のためWindowsマシンでmicroSDカードを読んでみたら、しっかりと「.Trash」ファイルがある(.DS_Storeは存在しなかった)。Windows側で「.Trash」を削除してから携帯に読ますと問題ない。つまり、Macは外部デバイスを取り出す瞬間にも不可視ファイル(少なくとも.Trash)を作成するって事ですね。

まとめ

ここまで、頑張ったにもかかわらず結局Macだけではこの問題を解決できず。 裏技としてこんなページを見つけました。

→どうしても開きたい場合は以下の手順で可能。
ただし危険な方法になるため自己責任で。壊れても泣かないこと。
素人には危険なため、詳細については伏せます。
1.ターミナルを起動する。
2.microSD内の「.Trashes」「._.Trashes」「.DS_Store」を全て削除する。
3.microSDをイジェクト・アンマウントせず引っこ抜く。
※ファイルアクセス中にやるとあぼんする恐れアリなので要注意。

via: n904i @ウィキ - microSD

2.までは不可視ファイルを削除する手順。で、最後の「3.microSDをイジェクト・アンマウントせず引っこ抜く。」が問題です。Mac OSがイジェクト時に不可視ファイルを作ってしまうので、イジェクトせずに抜いちゃうっていう荒技w 一応、自分でも試してみたけど確かにこの方法だとP905iでも認識しました。ただ、常識的に考えてこの方法はメディアが壊れちゃったり、中のデータが壊れたりする可能性があるのでやらない方がいいでしょう。アボーンは悲し過ぎる。

つまり、結果的にはおとなしく前回のエントリーを参考に携帯側でチェックディスクしましょう、ってことで落ち着きました。
SD-PIMってなに?携帯でminiSD/microSDカードをチェックディスク/フォーマットする方法

※携帯の機種(P90Xでも前のバージョン)によっては、「.DS_Store」を消せば読み込むという情報もあり。P905iになってファイル構造のチェックが厳しくなったのかもしれません。他の機種で試した方いましたらコメントで情報下さい。

B000JYVWMCI-O DATA microSDカード 2GB miniSD&SDアダプター付 SDMC-2G/A
アイ・オー・データ 2006-11-30

by G-Tools
B000Y1YV32バッファローコクヨサプライ BUFFALO カードリーダー/ライター SD/microSD/miniSD対応 ブラック BSCRSDU2BK
バッファローコクヨサプライ 2007-11-30

by G-Tools
B000TW99VUバッファローコクヨサプライ BUFFALO マルチカードリーダー 24メディア対応 ブラック MCRA24U2BKA
バッファローコクヨサプライ 2007-08-01

by G-Tools

Docomoの905i以降に適用されるバリューコースで機種変更する時に気をつけたいところ
携帯を「ドコモ FOMA P905i」に機種変更しました

同じカテゴリーの記事

このページの一番上に戻る
  • Facebook
  • Twitter
  • Tumblr
  • Instagram
  • miil