全てのAndroidでSDカードを内部ストレージとして使う方法! 容量不足の機種でもアプリを保存できる

Android使い方

以前のAndroidの大きな問題点として、内部ストレージの容量が小さい機種も多く、アプリをインストールするうちに空き容量が足りないことがありました。

一方、AndroidではiOSと違って「SDカード」を扱える機種もありますが、純粋な内部ストレージではなく外部ストレージとして認識されるため、アプリデータを完全にSDカードへ保存するのは難しく、内部ストレージ容量の小さい機種の解決策として不完全でした。

そのような中、Android 6.0 Marshmallowより新機能「Adoptable Storage」が実装され、挿入しているSDカードを本体の内部ストレージとして利用することが可能になりました。が、残念ながら機種依存の設定となっており、一部のAndroidでしか使うことができません。

そこで本記事では、全てのAndroid機種でSDカードを内部ストレージの一部として使う方法を紹介します。

Android 6.0以上の機種をお使いであれば、SDカードを活用して本体容量不足の問題解決に繋がる可能性があります。ぜひ、ご覧あれ。

photo by Wootil

 

Android 6.0より「Adoptable Storage」が実装

Android 6.0 Marshmallowより新機能「Adoptable Storage」が実装され、挿入しているSDカードを本体の内部ストレージとして利用することが可能になりました。

この機能により、OSレベルで純粋にSDカードを内部ストレージとして認識できるため、従来データを移せなかったアプリもSDカードへ保存できるようになります。

一方、Android 6.0以上の全ての機種で設定できるわけではなく、一部機種では提供されていないため、その場合パソコンのadbコマンドを使って強制的にSDカードを内部ストレージとして指定する操作が必要となります。

下記より、その設定手順を解説しています。

ちなみにまだSDカードを持っていなければご準備下さい。

また今回の方法ではパソコンとAndroidを接続するケーブルも必要です。

AndroidのUSB端子の形状(micro USB / Type C)に合わせ、ご準備下さい。

従来通常の外部ストレージとして使用していたSDカードを内部ストレージ化する過程でフォーマットされるため、保存していたデータが初期化されます。

大切なデータがSDカードに入っているなら、必ず事前のバックアップを忘れずにして下さい。

 

adbコマンドでSDカードを内部ストレージとする方法

SDカードを内部ストレージとして認識させる機能は、Android 6.0以上の全ての機種で標準提供されておらず、特に国内版XperiaやGalaxyシリーズにて使えないケースを確認しています。

例えばXperia Z3(Android 6.0.1)の場合、SDカードを挿入した状態で「設定」→「ストレージ」よりSDカードを開き、

「設定」を表示しても、SDカードを内部ストレージとして認識を変える項目が存在しません。

このようにAndroidの機種によっては標準機能として用意されていない場合もありますが、パソコンでadbコマンドを操作できれば、無理やりSDカードを内部ストレージ化することができます。

参考 でこにく – Android 6.0以降のAndroid端末でSDカードを内部ストレージとして使用する方法

この方法を実施する際の条件は下記3点です。

  • Android 6.0以上であること
  • パソコンでadbコマンドを使えること
  • SDカードが初期化されるため事前にバックアップをとること
記事中では、Xperia Z3(Android 6.0.1)とMacBook Pro(macOS 10.13.2)を使って説明しています。

まずはお使いのパソコンでadbコマンドを使用できる環境を用意して下さい。

例えばMacなら「Android Studio」をインストールすることで、標準アプリである「ターミナル」よりadbコマンドを使えるようにできます。

詳細は関連記事【Macでadbコマンドを使う方法! Android Studioを入れてmacOSのターミナルから操作しよう】で解説しています。

Macでadbコマンドを使う方法! Android Studioを入れてmacOSのターミナルから操作しよう
「Android Studio」をご存知でしょうか? Android Studio(アンドロイド スタジオ)は、Googleが提供するAndroidプラットフォームに対応する統合開発環境のこと。 引用 Wikipedia - And...

adbコマンドを扱える準備ができればOK。

次に設定を変えたいAndroid側の準備として、「開発者向けオプション」より「USBデバッグ」をタップして有効にしておきます。

「USBデバッグ」をオンにしたら、AndroidとパソコンをUSBケーブルで接続します。

この際、機種によってAndroid側に表示される「USBデバッグを許可しますか?」も同時に有効にして下さい。

いよいよMac側でコマンドを入力していきます。

まず下記コマンドをペーストし、

adb shell

続いて、下記コマンドをペーストします。

sm list-disks

すると「disk:179,64」のように数字が表示されます。

この数字部分は挿入したSDカードを指しており、種類によっては異なる場合もあるので各々確認して下記コマンドを入力します(数字の部分は人によって異なります)。

sm partition disk:179,64 private

以上で操作は完了。

Android側でストレージを確認し、挿入したSDカードが内部ストレージとして認識されていれば成功です。

ちなみに上記画像もそうですが、今回の方法でSDカードを内部ストレージ化すると容量の表記が一部おかしくなる傾向があるようです。が、機能としては問題ありません。

また、上記方法ではSDカードを全て内部ストレージとして割り当てる設定でしたが、SDカードのうち一部分のみ内部ストレージとして利用し、残りは通常の外部ストレージとして使うこともできます。

先ほどのコマンドのうち、例えば50%を内部ストレージとするなら下記コマンドを実行すればOK。

sm partition disk:179,64 mixed 50

このように「disk:●,●」の後ろに外部ストレージとして割り当てたいパーセンテージ%を入力すれば、1枚のSDカードで内部ストレージと外部ストレージを同時に使うことが可能です。

SDカードを元の状態に戻す際は、「外部ストレージとしてフォーマット」をすればOK。

フォーマット時に保存したデータは一度全て初期化される注意事項が表示されるので、確認して実行し、

再び外部ストレージとしてSDカードが認識されていることを確認できればOK。

 

内部ストレージ化したSDカードにアプリをインストールする

外部ストレージとしてSDカードを使っていると、Androidにインストールされたアプリデータを完全に移すことはできず、一部は内部ストレージに残るケースがほとんどでした。

一方、今回の方法でSDカードを内部ストレージ化することで、容量の少ないAndroidをお使いでもSDカードにアプリをインストールできるため、問題を解消できる可能性があります。

プリインストールアプリはSDカードを内部ストレージ化しても移すことはできないなど、一部制約はありますが、新規でインストールするアプリであれば問題ないケースがほとんどです。

ちなみに内部ストレージ化したSDカードにアプリを移した状態で、下記いずれかの操作には注意して下さい。

  • SDカードを抜く
  • 外部ストレージとしてフォーマットする

実行すると、当該アプリは強制的にストップしたり、強制的にアンインストールされデータが初期化されます。

最後に、もしSDカードをフォーマット(初期化)したいなら、関連記事【AndroidとMacでmicroSDカードのデータを消去する方法! 最初の状態へフォーマットして削除しよう】で解説しています。

AndroidでmicroSDカードのデータを消去する方法! 初期状態へフォーマットして削除しよう
iOSと比較したAndroidの特徴として「microSDカードを使用できる」という点があり、うまく活用することで内部ストレージ不足を改善できます。 が、もしSDカードを第三者へ譲るなら、最初の状態に戻したい(=データを全て消去したい...

 

Androidの空き容量不足を解消する豆知識

Androidの内部ストレージ不足を解消するワザは他にも色々とあります。

例えば、基本中の基本ですが、Androidで使っていない不要なアプリをアンインストールすることで容量を増やすことができます。

「2chMate」アプリを削除する例。

詳細は関連記事【Androidで不要アプリを削除(アンインストール)する方法! 標準プリインソフトも無効にできる】で解説しています。

Androidで不要アプリを削除(アンインストール)する方法! 標準プリインソフトも無効にできる
Android向けの配信中アプリは100万を超えており、特に無料アプリは日々インストールしてはアンインストール(削除)する、を繰り返すことも多いかと思います。 ただ、実はAndroidにおいてアプリを消去する方法はたくさんあることをご...

また、Androidで内部ストレージ容量不足の犯人として挙がることの多い「.thumbnails」フォルダを削除するだけで、数GB単位で空きが増えるかもしれません。

詳細は関連記事【Androidの内部ストレージ容量を圧迫する「.thumbnails(thumbdata)」フォルダの削除方法まとめ】で解説しています。

Androidの内部ストレージ容量を圧迫する「.thumbnails(thumbdata)」フォルダの削除方法まとめ
Androidスマートフォン本体内部に生成される「.thumbnails」フォルダの存在をご存知でしょうか? Androidで内部ストレージ容量不足の犯人として挙がることの多いフォルダで、中には「.thumbnails」だけで数GBま...

それ以外にも様々な豆知識をまとめて関連記事【Androidの空き容量不足を解消する豆知識まとめ! 内部ストレージを節約してメモリを増やす設定方法】で解説しています。

Androidの空き容量不足を解消する豆知識まとめ! 内部ストレージを節約してメモリを増やす設定方法
本ブログでも過去、「Androidの”内部ストレージ不足”対策」に関わる豆知識を色々と紹介してきました。 この問題はスマートフォン利用者にとって長年の悩みであり、解決策は大きく下記2種類に分類されます。 不要なファイルは...

 

〆:SDカードを使って内部ストレージ不足を解消しよう!

以上、全てのAndroidでSDカードを内部ストレージとして使う方法! 容量不足の機種でもアプリを保存できる の説明でした。

今回紹介したadbコマンドを使った方法は少しハードルが高いですが、一度設定してしまえばその後SDカードをずっと内部ストレージとして活用できます。

一方で内部ストレージ化されたSDカードはバグ報告も多く、「スクリーンショットを撮影できない」・「別のAndroid機器に挿入しても使えない」等の事象も確認されているため注意が必要です。

ストレージ容量の少ない以前のAndroid機種をお使いであれば、ぜひお試しあれ。

Android使い方
おるくすをフォローする

関連記事

あっとはっく

コメント

  1. 名無しさん より:

    Windowsでも出来ますか?

    • おるくす おるくす より:

      Windowsでadbコマンドを流せる環境を用意できればできるはずです(ボクがMacユーザーのため未検証ですが)。「windows adb」などで検索してみて下さい。

  2. cozy より:

    adb sheleというコマンドには“shell@austin:/ $”という反応がありました。
    ですがsm list-disksというコマンドには“/system/bin/sh: sm: not found”
    と、sdカードを認識してくれませんでした。
    PCとスマホを接続しなおしても、sdカードを刺しなおしても無理でした。

    どうすれば内部ストレージ化できますか?

  3. cozy より:

    画像あります
    https://youtu.be/uz7gN-PbUeo