AndroidでSDカードを内部ストレージとしてフォーマットできない時の対処法

Androidスマホ本体のストレージ容量が少なくなってしまった時の対策として有効な方法の1つに「SDカードの内部ストレージ化」があります。

しかし、SDカードの内部ストレージ化は、Androidの機種や状況によってフォーマット時にエラーが発生したり、うまくできないケースがあります。

今回は、AndroidでSDカードを内部ストレージとしてフォーマットできない時の対処法について紹介します。

内部ストレージ化機能が使えないスマホ機種


SDカードの内部ストレージ化機能はすべてのAndroidスマホで利用できるわけではありません。機能を使うには次の条件を満たしている必要があります。

  • Android OS 6.0 marshmallow以上
    • 本機能はAndroid 6.0で追加された機能です。こちらの条件については基本的にOSを最新版にアップデートしていれば問題ありませんが、古い機種などではOSをアップデートできない場合があります。
  • 内部ストレージ化機能が端末側で無効化されていない
    • 一部のAndroidスマホではこの機能がサポートされていないことがあります。SDカードをセットした時のメニューや、SDカードの設定項目にそのような設定オプションが見つからないようであれば、端末側で機能を無効化されている可能性が高いです。ただし設定項目が表示されていなくても機能そのものは存在しているため、スマホ本体の設定アプリからではなくパソコンを利用したADBコマンドから設定すれば、SDカードの内部ストレージ化を行うことは可能です。

SDカードの内部ストレージ化用フォーマットオプションが表示されているにも関わらずエラーなどが発生してフォーマットできない場合、または自分の使用しているスマートフォン端末の機種で確かに機能が利用できるはずなのにフォーマットオプションが表示されない場合は、本記事の対処法を順に試してください。

お使いのスマートフォンでSDカード内部ストレージ化機能がサポートされていないと思われる場合は『ADBコマンドを使ってフォーマットする』を試してください。

対処1:システムアップデートを行う


Androidのバージョンが古いと内部ストレージ化の機能が使えないケースがあります。まずは以下のページの手順を参考に、Androidのバージョン確認とシステムアップデートを行います。

  1. 端末の設定アプリ 設定アプリ を開きます。
  2. 画面下部の [システム] 次に [詳細設定] 次に [システム アップデート] をタップします。[詳細設定] が表示されない場合は、[端末情報] をタップします。
  3. 更新ステータスが表示されます。画面に表示される手順に沿って操作します。

参考:Android のバージョンを確認して更新する - Androidヘルプ

SDカードの内部ストレージ化機能はAndroid 6.0以上で利用可能ですが、OSが古いと様々な不具合やバグの原因になりかねませんので、既にAndroid 6.0以上のOSがインストールされている場合でも必ず最新版にアップデートするようにしてください。

対処2:SDカードの認識に異常がないか確認


SDカードが正しく認識されているか確認します。

  1. スマホのSDカードスロットへ、内部ストレージ化に使用する予定のSDカードをセットします。
  2. スマホを操作し、ホーム画面またはアプリ一覧画面から「設定」アプリを起動します。
  3. 「ストレージ」をタップします。
  4. 画面内にSDカードの表記、それからSDカードの容量などの情報が表示されていることを確認します。

もしSDカードをセットしてもSDカードの情報が表示されない場合は、SDカードの認識そのものが原因になっているケースが考えられます。以下の項目を確認して、SDカードを正しく認識できないか試して下さい。

  • 一旦SDカードを取り出し、正しくセットし直す
  • セットするSDカードを別のものに変更して認識するようになるか調べる
  • カードに汚れ・老朽化・故障などの異常がないか確認する
  • SDカードスロットが故障していないか確認する

他のSDカードが正しく認識できることが確認できれば、SDカードに問題があります。SDカードの故障が考えられる場合は、修理の費用は高いため、新しいSDカードの購入を検討してみて下さい。

対処3:SDカードを通常の方法でフォーマットする


SDカードを内部ストレージ化する前に、外部ストレージとしてフォーマットしてみてください。

  1. 「設定」アプリを起動します。
  2. 「ストレージ」をタップします。
  3. 「外部ストレージ」グループにある「SDカード」をタップします。
  4. 画面右上にあるメニューアイコンをタップし、表示されるメニューの中から「ストレージの設定」を選びます。
  5. 最後に「フォーマット」をタップします。

もし上記の方法でフォーマットできない場合は、パソコンを使用してフォーマットしてください。

別のスマホで使用したSDカードはフォーマットが必要

既に別のスマホで内部ストレージ化済みのSDカードをそのまま別のスマホに移すことは出来ません。

SDカードを別のスマホで使用する際は、差し替える前に元のスマホを使い、SDカードに対して「設定」→「ストレージ」→「SDカード」→「外部ストレージとしてフォーマット」を行ってください。

この操作を行わないと稀にSDカードのフォーマットが行えなくなり、SDカードが使用できなくなってしまう場合がありますので機種変更などの際はご注意ください。

対処4:ADBコマンドを使ってフォーマットする


ADB(Android Debug Bridge)は、Androidデバイスの操作やカスタマイズをパソコンから行うことができるツールで、普段は利用できないようになっている機能にアクセスしたり、通常の方法では変更できない設定を変えたりすることができます。

スマホ側でSDカードの内部ストレージ化機能がサポートされていない場合は、ADBコマンドを使用することでSDカードを内部ストレージ化することができます。

また、SDカードの内部ストレージ化がサポートされている場合でも何らかの理由により正しく設定できない場合は、代わりにこちらの方法を使うことで成功する可能性があります。

ADBコマンドを使えるようにする手順

パソコンでADBコマンドを使えるようにするには、Android SDKツールをインストールする必要があります。Android SDKツールは、Windows版・Mac版両方あるので、どちらのパソコンでも使用することができます。

パソコンにAndroid SDKツールを導入するには、『SDK Platform Tools release notes - Android Developers(英語)』からインストーラーをダウンロードしてインストールしましょう。

インストールが完了するとADBコマンドを実行できるようになります。

ADBコマンドを使って内部ストレージ化する手順


Android SDKツールがインストールできたら以下の手順で、AndroidのSDカードを内部ストレージ化します。

  1. スマホに内部ストレージ化したいSDカードをセットします。
  2. AndroidのUSBデバッグを有効にします。「設定」→「開発者向けオプション」にある「USBデバッグ」を有効にしてください。
    (*開発者向けオプションの項目がない場合は「システム情報」内にある「ビルド番号」の項目を探し、「ビルド番号」を連続で複数回タップしてください。すると「デベロッパーになりました」というメッセージが表示され、開発者向けオプションが有効になります。)
  3. AndroidとパソコンをUSBケーブルで接続します。
  4. Androidの画面に「USBデバッグを許可しますか?」というメッセージが表示されるので「OK」をタップします。
  5. Windowsパソコンの場合は「コマンドプロンプト」「Windows PowerShell」、Macの場合は「ターミナル」を起動します。
  6. 次のコマンドを入力します。
    adb shell
  7. 続いて、次のコマンドを入力します。
    sm list-disks
  8. すると「disk:xxx,xx」と表示されます。これはセットされているSDカードのデバイス名を表しており、SDカードごとに表示が異なります。
  9. 最後に次のコマンドを入力します。
    sm partition (SDカードのデバイス名) private

    (SDカードのデバイス名)部分に入力する内容はSDカードごとに異なるため、ご自身で「sm list-disks」コマンドを入力した際に表示された内容に置き換えてください。たとえば先程のコマンドで「disk:000,00」と表示された場合は「sm partition disk:000,00 private」と入力します。

以上で操作は完了です。スマホのストレージ設定画面を確認し、内部ストレージ容量が増えていることを確認します。ADBコマンドが実行できない場合は、次の『ADBコマンドが使用できない時は?』を参考にしてください。

ADBコマンドが使用できない時は?

上の手順通りに操作してもADBコマンドが使えない・コマンドからフォーマットできない時は、以下の対処法をお試しください。

Android SDKツールのパスが通っているか確認


コマンドプロンプト/ターミナルにコマンドを入力した際に「コマンドとして認識されていません」や「command not found」というメッセージが表示される場合は、SDKツールのパス設定に問題があると考えられます。

  • Windowsの場合・・・
    「スタート」を右クリック→「システム」→関連設定の「システム情報」→左メニューの「システムの詳細設定」→「環境変数」にパスを設定する。
  • Macの場合・・・
    設定ファイル「.bash_profile」にAndroid SDKツールのパスを登録する。

Windowsの場合は設定変更後OKボタンを押して変更を適用させること、Macの場合はターミナルを再起動させることを忘れずに行ってください。

どうしてもパスが通せない場合は、「コマンドプロンプト/ターミナル」上でcdコマンドを使ってAndroid SDKツールのあるディレクトリに移動し、それからADBコマンドを入力してみてください。

USBデバッグモードになっているか確認


「error: device not found」というエラーが出る場合は、パソコンがAndroidを認識できていないことが考えられます。

スマホをパソコンに接続する際、充電モードやファイル転送モードで接続されているとADBコマンドが使用できません。

Androidを再接続し、接続モードをデバッグモードに設定してください。そのような設定画面が表示されない場合は「設定」→「開発者オプション」から「USBデバッグ」のオプションが有効になっているか再度確認してみてください。

内部ストレージ化機能を有効化する

紹介したADBコマンドが使用できない場合は、USBデバッグを有効にした状態でパソコンとスマホを接続し、以下のコマンドをお試しください。

adb shell sm set-force-adoptable true

上記はSDカード内部ストレージ化機能を有効にするためのコマンドです。コマンドを実行したら、再度次のコマンドの入力を試してみてください。

sm partition disk:xxx,xx private

*「disk:xxx,xx」の部分はご自身のSDカードデバイス名に置き換えてください。

またスマホの機種によってはこのコマンドによりスマホ側の設定アプリに「SDカードを内部ストレージとしてフォーマットする」オプションが表示されるようになることがあり、その場合は設定アプリからSDカードを内部ストレージ化できるようになります。

Android以外の環境でSDカードをフォーマットできない場合は、次の記事も参考にしてください。

コメントを残す

*