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