Xperia Mのディスク関連カスタマイズ
■ sdcard1(外部SD Card)をsdcard0内の指定ディレクトリにマウントする
アプリによっては、データ格納フォルダなどが/sdcard
以下のディレクトリのみに限定されているものがある。Xperia Mでは/sdcard
は/storage/sdcard0
のリンクであり、内部ストレージとなっている。
外部SD Cardがマウントされている/ext_card
、つまり/storage/sdcard1
を/sdcard
以下の適当なディレクトリにマウントしてやる(リンクを張ってやる)方法を説明する。
外部ストレージ(MicroSD Card)を/storage/sdcard0/ext_card
にマウントする、上の図で赤線の部分を実現するスクリプトをまず作成する。
#!/system/bin/sh mount -o bind /storage/sdcard1 /storage/sdcard0/ext_card
このスクリプトを、ルート権限で簡単に実行するために『Script Manager - SManager』をインストールしてもよい。 もちろん、『Android Terminal Emulator』で、su
に移ってシェルコマンドを直接実行しても…
赤矢印で示した、「ルート実行」チェックをONにして、『Run』ボタンを押してスクリプトを実行する。
■ メディアスキャン無効化
大容量ハードディスクをマウントした場合、メディアスキャンが延々と続く場合がある。topコマンドで確認したところandroid.process.media
がCPUリソースを食っており、試しにこれを止めたところHDDへのアクセスが止まった。
本当に他に影響がないのかよく分からないが、ひたすらHDDにアクセスしまくられるのも困るので、このプロセスを止めるためのスクリプトを作成した。
#!/system/bin/sh ps | grep -e 'android.process.media' | awk '{print $2}' | xargs kill
※ このスクリプトは『Busybox Free』をあらかじめインストールしておく必要がある。
■ ntfsディスクのマウント
『USB OTG Helper [root]』を使ってマウントすることが出来る。マウントポイントは、プログラムの画面上に表示されるが、/storage/sdcard0/UsbOtgDrives
以下になる。