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

Android

Androidで内部ストレージの容量不足に悩んでいるなら、SDカードが有効な解決策となります。

ただ純粋な内部ストレージではなく外部ストレージとして認識されるため、例えばアプリデータを完全にSDカードへ保存できないなど、解決策として不完全な面もあります。

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

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

photo by Wootil

 

スポンサーリンク

前提:「Adoptable Storage」について

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

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

が、残念ながら機種依存の設定となっており、一部のAndroidでしか使うことができません。

特に国内版XperiaやGalaxyシリーズにて使えないケースを確認しています。

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

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

このようにAndroidの機種によっては標準機能として用意されていない場合もあります。

が、パソコンでadbコマンドを操作できれば、無理やり新機能「Adoptable Storage」を開放して、SDカードを内部ストレージ化できます。

以降よりその手順を解説します。

 

事前準備

まず事前の準備として、下記6点を確認して下さい。

  • Android 6.0以上であること
  • パソコンでadbコマンドを使えること
  • SDカードを持っていること
  • USBケーブルを持っていること
  • SDカードが初期化されるためバックアップをとること
  • Androidで「USBデバッグ」を有効にすること

Android 6.0以上であること

SDカードを内部ストレージ化する機能「Adoptable Storage」はAndroid 6.0から導入されました。

お使いのAndroid OSバージョンを事前に確認して下さい。

調べ方の詳細は関連記事【AndroidのOSバージョンを調べアップデートする方法! 最新機能へソフトウェアを上げよう】で解説しています。

AndroidのOSバージョンを調べアップデートする方法! 最新機能へソフトウェアを上げよう
Androidでは定期的にOSのバージョンアップ(アップデート)が行われます。 バージョンが上がることで、対応するアプリの範囲が増えたり、バグが修正されたりするため、基本的にOSアップデートは推奨されます。 そこで本記事では、A...

パソコンでadbコマンドを使えること

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

Windows・Macそれぞれにおける手順は関連記事で解説しています。

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

SDカードを持っていること

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

USBケーブルを持っていること

パソコンとAndroidを接続するケーブルも必要です。

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

SDカードが初期化されるためバックアップをとること

SDカードを内部ストレージ化する過程で強制的にフォーマットされるため、SDカード内のデータが初期化されます。

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

Androidで「USBデバッグ」を有効にすること

対象のAndroidで「開発者向けオプション」より「USBデバッグ」を有効にして下さい。

以上で事前準備は完了です。

 

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

記事中では、Xperia Z3(Android 6.0.1)とWindows 10を使って説明しています。

AndroidとパソコンをUSBケーブルで接続します。

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

次にパソコン側でadbコマンドを入力していきます。

Windows・Macで入力するコマンドに差異はありません。

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

adb shell

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

sm list-disks

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

この数字部分は挿入したSDカードを指しており、種類によっては異なる場合もあるので各々確認して下さい。

続いて、下記コマンドを入力します(数字の部分は人によって異なります)。

sm partition disk:179,64 private

環境によっては、このタイミングでAndroidが自動で再起動するケースがあります。

以上で操作は完了。

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

 

SDカードにアプリをインストールする方法

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

一方、今回の方法でSDカードを内部ストレージ化することで、容量の少ないAndroidをお使いでもSDカードにアプリをインストールできます。

まずSDカードに移したいアプリの「アプリ情報」を開きます。

ゲーム「ねこあつめ」を例に説明する。

「アプリ情報」の開き方について、詳細は関連記事【Androidでアプリ情報の見方と表示方法まとめ! 素早く開いて設定変更しよう】で解説しています。

Androidでアプリ情報の見方と表示方法まとめ! 素早く開いて設定変更しよう
Androidの設定項目「アプリ情報」では、対象アプリに関わる様々な設定変更を行えます(例:データ使用状況 / アクセス権限許可 / 通知の管理)。 通常は「設定」一覧よりアクセスしますが、それ以外にも素早くアプリ情報ページを開くワザ...

次に「ストレージ」から使用されているストレージの「変更」へ進み、

「SDカード」へ変更します。

アプリが内部ストレージからSDカードへ移動します。

使用されているストレージが「SDカード」へ変わっていれば成功です。

参考:アプリ保存先を元の内部ストレージに戻す方法

保存先を元の内部ストレージに戻したい場合も流れは同じで、使用されているストレージの「変更」から「内部ストレージ」を選べばOK。

参考:保存先の変更でアプリデータは初期化されない

ボクの検証した範囲で、保存先をSDカードへ移してもアプリデータは初期化されませんでした(=セーブデータは維持されます)。

参考:プリインストールアプリは対象外

プリインストールアプリはSDカードへ移せないケースが多いです。

具体的には、「アプリ情報」で「ストレージ」を開いても「使用されているストレージ」項目が存在しません。

注意:SDカードの扱いに気をつけよう

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

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

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

 

参考:

一部領域のみ内部ストレージ化する方法

SDカードのうち一部分のみ内部ストレージとして利用し、残りは通常の外部ストレージとして割り当てる方法もあります。

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

sm partition disk:179,64 mixed 50

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

SDカードを元の状態に戻す方法

SDカードを元の状態に戻す際は、内部ストレージ化したSDカードを開き、

メニューより「外部ストレージとしてフォーマット」を実行します。

フォーマットするとSDカードに保存したデータはすべて初期化されるため、必要なデータはバックアップして下さい。

アプリを外部ストレージへ移している場合、元の内部ストレージに戻すのを忘れずに。

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

なお外部ストレージの状態でSDカードをフォーマットしたいなら、関連記事【AndroidでmicroSDカードのデータを消去する方法! 初期状態へフォーマットして削除しよう】で解説しています。

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

容量の表記がおかしくなる場合

SDカードを内部ストレージ化すると、容量の表記が一部おかしくなる傾向があるようです。

が、機能としては問題ありません。

adbコマンドでエラーが表示される場合

adbコマンドを実行しても下記エラーが表示される場合、入力しているコマンドに誤りがないか確認して下さい。

  • Error: java. lang. IllegalArgumentException

 

補足:そのほかAndroidの空き容量不足を解消する情報まとめ

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

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

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

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

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

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

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

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

 

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

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

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

一方で内部ストレージ化されたSDカードはバグ報告も多いため、注意が必要です。

  • スクリーンショットを撮影できない
  • 別のAndroid機器に挿入しても使えない

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

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

Android
スポンサーリンク
おるくすをフォローする

関連記事

あっとはっく

コメント

  1. 名無しさん より:

    Windowsでも出来ますか?

  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

  4. すのもの より:

    大変参考になりました、ありがとうございます。

    そこで1点質問なのですが、sm partition disk:179,64 private のコマンドの後に
    エラーが出てしまいます。

    Error:java lang.IllegalStateException:comamand,137 volume partition deisk:179, ~ と、こんな文言です。

    この場合の対応方法などあれば、ご教授いただけないでしょうか?
    宜しくお願いいたします。

  5. わお より:

    こちらの記事を参考にhuaweiの16GBROM(空き約9.2GB)のタブに装着したSDカードの内部ストレージ化に成功しました!
    が、64GBのフォーマットされたSDカードを使用したのですが、本体の空き容量の9.2GBと同じ量だけ使用できるようになっています…
    合計が本体16GB+SD64GBの合計約90GB表記になるかと思いきや、合計10.3GB、空き18GBというおかしなことになっています。

    文で表現するのが難しいのでスクリーンショットを添付しておきます
    同じ現象に陥っている方がいるかもしれないので、もし対処のすべをお知りでしたら、教えていただけると嬉しいです。
    https://www.dropbox.com/s/l9oe4sf8wr0h5r6/SDROM-1.png?dl=0

  6. ユキベエ より:

    これはスマホSH-04H(Android8.0)でもアプリ(特に重いゲーム)の移動はできますか?

    色々調べましたが、Android8.0では基本、アプリの移動はできず、ストレージの変更すらできないはずです。