/

Fastboot のコマンドリスト

前回、adbのコマンドについて書いたので今回はfastboot(ファストブート)コマンドについてです。

Androidにロムを焼くときとかにほぼ絶対に使うのが、fastbootコマンドです。

adbコマンドはアプリを開発するときとかにも使いますが、fastbootはロムをインストールする時以外にはあまり使わないと思います。

Androidは起動時にまずbootloaderが動きます、そのbootloaderをゴニョゴニョするコマンドがfastbootらしいです。

PCへFastbootを入れる方法

Android Stuidoをインストールしていれば、その中に入っていますが、入っていないのであればQittaの下記のadbの記事でたぶんfastbootも入ります。

Qiita - adbコマンド導入の方法

下準備

fastbootをPCに入れたら、起動済みのAndroid端末をUSBケーブルでPCにつなげます。 adbと違ってAndroidエミュレータに対してはfastbootコマンドはたぶん使えません、なぜならエミュレータにロムを焼いたりしないし、たぶんbootloaderにはアクセスできないようになっているはずです(そもそもエミュレータにはbootloaderは存在しない?)。

下記はadbの時とほぼ一緒です。

  1. PCとAndroidをつなげるとたぶんPC側でドライバのインストールが始まります、インストール済みなら始まりません
  2. Android端末の設定画面の下の方に「端末情報」というのがあるのでタップ
    • 端末やメーカーによって名前が違う可能性や場所が違う可能性があります。私の持っているAsus Zenfone 3 Laserだと「端末情報」が「システム」内にありました。
  3. どこかに「ビルドナンバー」という表示があるので10回くらいタップ
    • 「端末情報」の下に「ビルド番号」という名前である場合もあります、また「端末情報」=>「ソフトウェア情報」内にあることもあります。
  4. 設定の下の方に開発者向けオプションが表示されます
    • これも表示されるところは端末によって違うので探してみてください。
  5. 開発者向けオプションをONにして、さらに下の方にあるUSBデバッグをONにします
  6. PCにつないでいるとAndroidの画面に、「このPCに接続を許可しますか?」みたいな表示が出るのでOK

6.が出ない場合はUSB接続を一旦解除してからもう一度つなげてみてください。

fastbootモードにする

アンドロイド端末をオフにしてからボリュームダウンかボリュームアップボタンを押しながら電源ボタンを押すとたぶんfastbootモードかrecoveryモードに入れますが、recoveryモードにしか入れない場合もあります。さらに起動した黒い画面がどのモードなのかよくわからない場合が多々あります。

GoogleのページにはPixelやNexus系の端末でどのボタンを押すとfastbootでの起動ができるのか書かれているので自分の端末がリストにある方は参照してみてください。

ボリュームボタンとか電源ボタンとかでの起動方法がわからない場合は通常起動したAndroid端末をPCに接続してからコマンドプロンプト、Macならターミナルで下記のコマンドを打ちます。

# まず接続
$ adb devices

# たぶんこれで起動する
$ adb reboot bootloader

# 上でうまく行かないなら
$ adb reboot fastboot

# さらに上でうまくいかないなら
$ adb shell reboot fastboot

fastbootのコマンドたち

システムの通常起動

せっかくfastbootに入ったのに下記を打つとAndroid OSが普通に起動されちゃいます。 あまり使わないかも。

$ fastboot reboot

bootloader unlockの状態を確認

bootloader unlockの状態が確認できます。 ブートローダーをアンロックすると、起動時にロムが正規のものかどうかを端末が確認しなくなります。 だから正規品じゃないロム(LineageOSとか)が焼けるようになります。 このコマンドはロムを焼くときにブートローダーがアンロックされているか確認するのに使います。 HTCとかSHARPの端末だとブートローダーは簡単にアンロックさせてくれません、いけずなメーカーです。

なお、端末によってコマンドが少し違うかもしれません。

$ fastboot oem device-info

flash

AdobeのFlashではありません、週刊誌でもありません。ロムとかリカバリーを焼くflashです。fastbootの中で一番使います。

# 基本
$ fastboot flash <partition> <filename>

# リカバリーを焼きます
$ fastboot flash recovery recovery.img
# bootloaderを焼きます
$ fastboot flash bootloader bootloader.img
# ブートイメージを焼きます
$ fastboot flash boot boot.img

boot

このコマンドは使ったことはありませんが、ブートイメージ(起動イメージ)を起動するコマンドのようです。 flashせず(ロムを焼かず)に起動するだけみたいです、ストレージ領域ではなくメモリー上にブートイメージを展開して起動するような感じだと思います。(ちょっと違うかも)

$ fastboot boot boot.img

oem unlock

$ fastboot oem XXXはベンダー(メーカー)独自のコマンドが用意されているようです。 いちばん有名なのがunlockです。

oem unlockはbootloaderをアンロックします。結構使うコマンドみたいですが、このコマンドで素直にアンロックされる端末は実はあまり多くありません。 HTCとかSHARPはそもそもこのコマンドは効かないし、AsusのZenfoneシリーズ(Zenfone2だけ?)は専用のアプリを使います。

また日本のキャリア(docomo, au, softbank)系のスマホは独自のキャリアの設定のせいかこのコマンドは大体効きません。

unlock以外にもあるようですが、少なくとも日本のベンダーは公開などはしていないと思います。

# アンロック
$ fastboot oem unlock

# 再ロック
$ fastboot oem lock

なお、PixelやNexus等のGoogle系端末は 「開発者向けオプション」で「OEM ロック解除」をONにしておく必要があるようです。

下記はPixelやNexus等のGoogle系端末の2015年以降モデルのアンロックの方法ですが、こちらのページの方が詳しいです。

# アンロック(2015年以降のモデル)
$ fastboot flashing unlock
# 2014年以前のモデルは
$ fastboot oem unlock

# 再ロック(2015年以降のモデル)
$ fastboot flashing lock
# 2014年以前のモデルは
$ fastboot oem lock

私の環境では使えなかったコマンド(oemなんちゃら)

下記は私の端末では使えなかったコマンドたちです、SamsungとかMotorolaとかの端末は触ったことがないのでそれらの端末だと動くかもしれません。

## oem unlockされてるか
$ fastboot oemverified
## 端末情報
$ fastboot oemdevice-info
## 充電画面の表示
$ fastboot oemenable-charger-screen
## 充電画面の非表示
$ fastboot oemdisable-charger-screen
## displayを選ぶ
$ fastboot oem-select-display-panel

devices

PCに接続されている端末を表示します。 $ adb devicesとほぼ同じですが、表示される情報が違ったような記憶があります。

$ fastboot devices

fastbootという用語はbootloaderという用語と同じものを指しているのか、そうじゃないのかいまいちわかりません。 ほぼ同義のときもあるし、そうでもない時もあります。 adbコマンドと同じくロムを焼いたりしないとほぼ使わないコマンドです。 というか普通はコマンドラインでコマンドたたかないですね、でも楽しいのでみんなやればいいと思います。

追記: fastbootのコマンドリスト(不完全詳細版)という記事も書いたのでよければ参考にしてください。

姉妹編 adb(Android Debug Bridge) のコマンドリスト

どうやってロム焼くのか気になった方は下記も Nexus 5にAndroid Pieを入れる