很久以來(lái)就想過(guò)寫(xiě)一些有關(guān)安卓 adb 和 fastboot 的使用分享,但是鑒于平時(shí)太忙加上自我感覺(jué)文筆不好,所以一直沒(méi)著手。說(shuō)來(lái)也巧,正當(dāng)我今天提起左右手想寫(xiě)點(diǎn)東西的時(shí)候,一個(gè)激動(dòng)一個(gè)手抖就不小心敲了一個(gè)萬(wàn)年沒(méi)出過(guò)事的命令 fastboot erase cache (清除緩存),結(jié)果手機(jī)就定在開(kāi)機(jī)logo進(jìn)不了系統(tǒng)了。借此機(jī)會(huì),來(lái)記錄一下我是怎么在手機(jī)未進(jìn)入系統(tǒng)的情況下導(dǎo)出手機(jī)數(shù)據(jù),以及使用 fastboot 命令救機(jī)的過(guò)程。
準(zhǔn)備工作:
- 1、 準(zhǔn)備好手機(jī):本文使用紅米note2做測(cè)試
- 2、 adb、fastboot命令工具下載地址:百度網(wǎng)盤(pán)
- 3、 把上面的命令工具解壓到電腦上任意位置,并打開(kāi)cmd命令窗口cd到此目錄
- 4、紅米note2國(guó)際版線(xiàn)刷包下載地址:點(diǎn)擊下載
- 5、確定你的電腦已經(jīng)裝過(guò)手機(jī)驅(qū)動(dòng)以及fastboot驅(qū)動(dòng),并且手機(jī)已經(jīng)刷入了第三方recovery。(那么問(wèn)題來(lái)了,怎么確定是否已經(jīng)刷入了第三方recovery呢?此文僅作命令上的分享,不對(duì)刷機(jī)知識(shí)做過(guò)多的講解,故還請(qǐng)不了解的刷機(jī)的盆友們自行百度,女生們可以來(lái)找我單獨(dú)做輔導(dǎo)。)
下面進(jìn)入正題
第一部分:使用 adb 命令來(lái)導(dǎo)出手機(jī)資料
讓我們同時(shí)按住音量上鍵和開(kāi)機(jī)鍵,并保持三秒以上,直到進(jìn)入recovery界面。

進(jìn)入之后,我們把手機(jī)連接電腦,在cmd窗口輸入 adb devices 就可以看到已連接的手機(jī)狀態(tài)。

如果出現(xiàn)類(lèi)似下圖的提示,

那就用 adb kill-server 把a(bǔ)db服務(wù)停掉,然后再重新鍵入adb devices 查看手機(jī)狀態(tài),直到異常提示消失,我們就可以進(jìn)行下一步操作了。
接下來(lái),鍵入adb shell然后再輸入 ls -l查看機(jī)身存儲(chǔ)所在路徑(recovery下的路徑可能與正常開(kāi)機(jī)狀態(tài)下的路徑有所不同,所以最好要先進(jìn)行確認(rèn)),

于是我找到了我這臺(tái)手機(jī)sd卡所在路徑是/sdcard/,cd進(jìn)去看看

可以看到我的相冊(cè)是DCIM,以及其他機(jī)身存儲(chǔ)的文件,于是就可以確定此目錄為手機(jī)存儲(chǔ)路徑。
接下來(lái),我們鍵入幾次exit退出shell命令行。再接著,我們?cè)陔娔X上建一個(gè)文件夾作為存放手機(jī)備份文件的文件夾,然后輸入命令adb pull /sdcard/DCIM/ C:\Users\flyskyer\Desktop\tmp\backup
(此處我將手機(jī)存儲(chǔ)的DCIM目錄導(dǎo)出到電腦上的backup目錄下,如果需要指定其他路徑,以此類(lèi)推,不再贅述)

就這樣可以把我們所需的資料全部導(dǎo)出到電腦上來(lái)了。
第二部分:fastboot命令刷機(jī)
如果此時(shí)手機(jī)處在關(guān)機(jī)狀態(tài),我們可以同時(shí)按住音量下鍵以及開(kāi)機(jī)鍵三秒以上,進(jìn)入到fastboot模式,如果是在recovery狀態(tài)或者正常系統(tǒng)界面下,我們可以通過(guò)adb reboot bootloader命令來(lái)使手機(jī)進(jìn)入到fastboot模式。


用fastboot devices命令來(lái)檢測(cè)手機(jī)是否已連接,如果未出現(xiàn)設(shè)備號(hào),則多試幾次插拔手機(jī),還不行的話(huà),檢查一下驅(qū)動(dòng)是否安裝成功。

還有一個(gè)好玩的命令fastboot getvar all可以查看手機(jī)信息,包括分區(qū)信息、內(nèi)核版本、手機(jī)解鎖狀態(tài)等等內(nèi)容

為了保證刷機(jī)后手機(jī)干凈無(wú)垃圾,我們需要先對(duì)手機(jī)做一次數(shù)據(jù)清空,操作,鍵入fastboot -w(注意:此命令會(huì)將手機(jī)所有資料清空,包括system分區(qū)、data分區(qū)、cache分區(qū),以及機(jī)身存儲(chǔ)等等。小心點(diǎn)執(zhí)行。),也可以單獨(dú)輸入清空某分區(qū)的命令,如fastboot erase cache(清除緩存),fastboot erase system(清除系統(tǒng)分區(qū))等等。

清除干凈數(shù)據(jù)之后,我們將之前下載的線(xiàn)刷包內(nèi)的images文件夾下的所有文件解壓到我們的adb命令工具文件夾內(nèi)

再用編輯器打開(kāi)flash_all.bat查看內(nèi)容


我們這么做的目的是,查看一下我們到底需要刷哪些文件,提取出所需的命令,我們按這個(gè)批處理順序執(zhí)行,去除掉無(wú)關(guān)的垃圾信息,直接鍵入刷機(jī)所需命令。首先鍵入fastboot flash system system.img
由于system分區(qū)較大,故刷入速度比較慢,需要耐心等待,千萬(wàn)不要認(rèn)為是手機(jī)死機(jī)了強(qiáng)行拔出(其實(shí)即使拔出了也沒(méi)事,MTK手機(jī)刷不死。但遇到HTC的機(jī)子在刷radio的時(shí)候可就要小心了,一旦斷開(kāi)就要拆機(jī)修復(fù)了......)。

我們等待出現(xiàn)finished的時(shí)候就代表正在刷的部分已經(jīng)執(zhí)行完畢。

以此類(lèi)推,我們把剩余幾個(gè)分區(qū)也如此刷入

直到把所有分區(qū)都刷入完畢后,執(zhí)行fastboot reboot命令重啟手機(jī),此時(shí)刷機(jī)完畢。手機(jī)又可以正常使用了。第一次開(kāi)機(jī)因?yàn)橐跏蓟?,所以速度比較慢,請(qǐng)耐心等待幾分鐘。
后記:
本文所提到的adb以及fastboot命令僅僅只是這系列命令中的一小部分,還有很多很多好玩又好用的命令無(wú)法在此一一展示,下回還會(huì)有更多的相關(guān)命令與大家分享。由于各機(jī)型在使用具體命令過(guò)程中存在部分差異,還需要大家針對(duì)具體機(jī)型各自展開(kāi)深入的研究。但是命令基本是可以通用的,fastboot命令還有很多很好用的,鑒于一次講解過(guò)多會(huì)對(duì)大家造成理解上的困難,故本文不再繼續(xù)深入,敬請(qǐng)期待下回分解!