備份手機字庫基帶方法(使用命令備份)
備份手機字庫基帶方法(使用命令備份)
對于玩機用戶來說,如果經(jīng)常刷第三方ROM或面具模塊,建議先完整備份手機字庫,以降低因意外問題導(dǎo)致的變磚風(fēng)險。有了手機字庫備份,在遇到手機丟基帶/掉串碼等問題時至少有個修復(fù)方法,不然送售后只能建議更換手機主板解決。
什么是手機字庫
可以簡單理解為手機分區(qū)。雖然在刷機時也會刷寫分區(qū),但不是刷寫全部分區(qū)。如果恰好是其它分區(qū)數(shù)據(jù)損壞,這時刷寫官方ROM就恢復(fù)不了。而備份手機字庫包含了全部分區(qū),所以可以修復(fù)絕大部分非硬件故障問題。
手機字庫包括基帶分區(qū),所以不用額外備份手機基帶,備份字庫就包含了備份基帶。基帶的主要分區(qū)如下:
高通機型:fsg,fsc,modemst1,modemst2
聯(lián)發(fā)科機型:nvram,nvdata,nvcfg,persist,protect1,protect2,seccfg
準(zhǔn)備工作
在備份手機字庫前,請確保手機電量充足,已獲取 Root 權(quán)限小米手機安裝 Magisk 獲取 Root 權(quán)限指南,并以 USB 調(diào)試模式連接到電腦(電腦配置好 ADB 命令環(huán)境變量)Windows 配置 fastboot 和 adb 命令環(huán)境變量。
檢查手機有足夠存儲空間,最好 20G 以上(通常手機型號越新備份內(nèi)容越大)。
如果是聯(lián)發(fā)科機型,請將下面命令中的 /dev/block/bootdevice/by-name
修改為 /dev/block/by-name
。
最后就是風(fēng)險提示了,雖然本文方法經(jīng)過了足夠多次的測試。但各人環(huán)境不同,其中潛在風(fēng)險須自行承擔(dān)。
備份手機字庫
1. 打開電腦命令行窗口,輸入命令進入 Shell 和獲取 Root 權(quán)限(運行命令后留意手機屏幕授權(quán)提示)。
adb shell su
2. 在手機內(nèi)部儲存創(chuàng)建存放備份內(nèi)容目錄。
mkdir /sdcard/000_Backup
3. 讀取手機分區(qū)名稱,從中排除 userdata 和 cache 分區(qū)(這兩個不用備份),然后創(chuàng)建備份和恢復(fù)腳本。
ls -1 /dev/block/bootdevice/by-name | grep -ixvE "userdata|cache" | while IFS= read -r name; do echo "dd if=/dev/block/bootdevice/by-name/$name of=/sdcard/000_Backup/$name.img" >> /sdcard/000_Backup/001_Backup.sh; echo "fastboot flash $name $name.img" >> /sdcard/000_Backup/002_Restore.bat; done
4. 運行備份(備份速度取決手機儲存讀取性能)。
sh /sdcard/000_Backup/001_Backup.sh
5. 修改恢復(fù)腳本,注釋掉一些不必要的分區(qū)恢復(fù)(可自行按格式添加不需要恢復(fù)的分區(qū))。
sed -i -e '/ super.img/s/^/::/g' -e '/ system.img/s/^/::/g' -e '/ system_a.img/s/^/::/g' -e '/ system_b.img/s/^/::/g' -e '/ vendor.img/s/^/::/g' -e '/ vendor_a.img/s/^/::/g' -e '/ vendor_b.img/s/^/::/g' -e '/ mmcblk0.img/s/^/::/g' -e '/ sda.img/s/^/::/g' -e '/ sdb.img/s/^/::/g' -e '/ sdc.img/s/^/::/g' -e '/ sdd.img/s/^/::/g' -e '/ sde.img/s/^/::/g' -e '/ sdf.img/s/^/::/g' -e '/ sdg.img/s/^/::/g' /sdcard/000_Backup/002_Restore.bat
6. 查詢備份內(nèi)容 MD5(查詢過程消耗算力會比較慢),以便在需要時可以校驗文件完整性。
cd /sdcard/000_Backup && md5sum * > /sdcard/000_Backup/003_MD5Hsah.txt
7. 打包備份文件(確認(rèn)有足夠空間創(chuàng)建打包文件。打包壓縮過程比較慢,耐心等待)。
cd /sdcard && tar -zcpvf PartitionBackup.tgz 000_Backup
8. 刪除備份文件夾。
rm -rf /sdcard/000_Backup
9 退出 Root 和 Shell(運行兩次)。
exit
10. 將備份文件傳送到電腦(電腦存放路徑請自行修改)。
adb pull /sdcard/PartitionBackup.tgz D:\Backup
之后手機上的備份文件就可以刪除了。如果之后需要恢復(fù)字庫,將手機啟動到 Fastboot 模式,連接到電腦,解壓之前的字庫備份,雙擊運行文件夾里的 002_Restore.bat
恢復(fù)腳本即可。
如果恢復(fù)后還是有問題,可以嘗試清除分區(qū)內(nèi)容再運行恢復(fù)(清除分區(qū)命令如下,自行添加要清除分區(qū)名稱)。
fastboot erase 分區(qū)名稱
最后,切記不要直接恢復(fù)他人分享的備份,如果刷了其它手機的串碼,可能導(dǎo)致以后不能解 BL 等副作用。