Nubia Z5S在某種異常或者按組合按鍵的情況下會進入QHSUSB_BULK模式, 此種模式的現象是, 如果在windows(比如win7)下連上資料線, 則會在電腦出現n多分區掛載,甚至會提示要格式化某些分區(這裡要強調的是千萬不要格式化任何分區,否則可能會變成真磚只有返廠了)
關於這個模式可以參考我之前發的一篇文章: http://blog.csdn.net/syhost/article/details/20435957
上面文章中也提到, QHSUSB_BULK模式實際是在sbl分區中實現的, 不過純粹為了救磚的話也沒必要知道這些細節!
當Z5S進到這個模式並且不能正常啟動其他模式或者系統後, 那就只有考慮在這個模式下來救磚了, 出現這種模式的可能情況是:
1 recovery分區和系統(或者boot)分區同時損壞
2 boot分區可能有異常,
3 在某種條件下按了按鍵組合
這種模式因為掛載了手機的所有分區, 而從上面的分析產生這種情況的可能無非是某些開機磁碟分割錯誤, 那直觀的想法就是恢複這些錯誤的分區。
可以先參考我之前的一篇文章, 先熟悉下Z5S的具體分區情況:http://blog.csdn.net/syhost/article/details/21818563
要注意的是上面文章是以16G版本為例分析, 如果是32G的可能稍微有些差別,要特別注意下!
下面講講怎麼在win7下恢複Z5S特定的分區, 以恢複recovery分區為例(此方法已經由@亂世殤歌 驗證成功)
要使用到的工具是windows下的dd命令, :
http://dl.vmall.com/c06d47p1fn
或者
https://mega.co.nz/#!B1lzlDJa!yfw8NrtWQCznodyxnaKbRIs6dboTyLHU1NNtky0waQw
步驟如下:
1、 首先是確保手機已經穩定運行到了QHSUSB_BULK模式,並且連上資料線, 在電腦系統裡可以看到n多分區,要特別注意不要按照提示格式化任何分區,切記, 不然可能會真磚了!!
2、 將上面的dd工具解壓,然後進到該檔案夾下,如果是win7的系統,支援在目前的目錄開啟終端命令列, 操作如下,在dd檔案夾下按住shift鍵,然後點滑鼠右鍵,選在目前的目錄開啟終端命令,即可!
3、 運行 dd --list命令,查看電腦所有分區資訊(當然也包括掛載的手機的分區資訊)(@亂世殤歌提供):
D:\222>dd --listrawwrite dd for windows version 0.5.Written by John Newbigin <jn@it.swin.edu.au>This program is covered by the GPL. See copying.txt for detailsWin32 Available Volume Information\\.\Volume{14f93446-ea7b-11e3-8baf-806e6f6e6963}\ link to \\?\Device\HarddiskVolume1 fixed media Mounted on \\.\c:\\.\Volume{27fc973e-92de-706b-3d39-ff3b00c9862e}\ link to \\?\Device\HarddiskVolume146 fixed media Mounted on \\.\g:\\.\Volume{4faebde7-671c-5533-0c1e-c5cd93452cb3}\ link to \\?\Device\HarddiskVolume154 fixed media Mounted on \\.\h:\\.\Volume{59fe28dd-13a6-f2dd-1105-5b6a173a6e79}\ link to \\?\Device\HarddiskVolume159 fixed media Mounted on \\.\i:\\.\Volume{94ed69a1-a69d-b0c4-7d06-8f5039f55fc8}\ link to \\?\Device\HarddiskVolume160 fixed media Mounted on \\.\j:\\.\Volume{87f74cb9-9950-8f5b-48a5-3e4aadedcb0b}\ link to \\?\Device\HarddiskVolume161 fixed media Mounted on \\.\k:\\.\Volume{a92c0db2-bc8f-cb01-bfd7-ca99575da6d6}\ link to \\?\Device\HarddiskVolume162 fixed media Mounted on \\.\l:\\.\Volume{41f4a435-9559-66a2-ecbc-925db9220510}\ link to \\?\Device\HarddiskVolume163 fixed media Mounted on \\.\m:\\.\Volume{ca630bbc-e3bb-5e2d-d9ff-253b5188313b}\ link to \\?\Device\HarddiskVolume168 fixed media Mounted on \\.\n:\\.\Volume{14f93447-ea7b-11e3-8baf-806e6f6e6963}\ link to \\?\Device\HarddiskVolume3 fixed media Mounted on \\.\d:\\.\Volume{14f93448-ea7b-11e3-8baf-806e6f6e6963}\ link to \\?\Device\HarddiskVolume4 fixed media Mounted on \\.\e:\\.\Volume{14f93449-ea7b-11e3-8baf-806e6f6e6963}\ link to \\?\Device\HarddiskVolume5 fixed media Mounted on \\.\f:NT Block Device Objects\\?\Device\Harddisk0\Partition0 link to \\?\Device\Harddisk0\DR0 Fixed hard disk media. Block size = 512 size is 320072933376 bytes\\?\Device\Harddisk0\Partition1 link to \\?\Device\HarddiskVolume1\\?\Device\Harddisk0\Partition2 link to \\?\Device\HarddiskVolume2 Fixed hard disk media. Block size = 512 size is 21474836480 bytes\\?\Device\Harddisk0\Partition3 link to \\?\Device\HarddiskVolume3\\?\Device\Harddisk0\Partition4 link to \\?\Device\HarddiskVolume4 Fixed hard disk media. Block size = 512 size is 85911928832 bytes\\?\Device\Harddisk0\Partition5 link to \\?\Device\HarddiskVolume5 Fixed hard disk media. Block size = 512 size is 116023722496 bytes\\?\Device\Harddisk1\Partition0 link to \\?\Device\Harddisk1\DR8 Fixed hard disk media. Block size = 512 size is 15758000128 bytes\\?\Device\Harddisk1\Partition1 link to \\?\Device\HarddiskVolume146 Fixed hard disk media. Block size = 512 size is 67108864 bytes\\?\Device\Harddisk1\Partition10 link to \\?\Device\HarddiskVolume155 Fixed hard disk media. Block size = 512 size is 1572864 bytes\\?\Device\Harddisk1\Partition11 link to \\?\Device\HarddiskVolume156 Fixed hard disk media. Block size = 512 size is 1572864 bytes\\?\Device\Harddisk1\Partition12 link to \\?\Device\HarddiskVolume157 Fixed hard disk media. Block size = 512 size is 1048576 bytes\\?\Device\Harddisk1\Partition13 link to \\?\Device\HarddiskVolume158 Fixed hard disk media. Block size = 512 size is 10485760 bytes\\?\Device\Harddisk1\Partition14 link to \\?\Device\HarddiskVolume159 Fixed hard disk media. Block size = 512 size is 1288488960 bytes\\?\Device\Harddisk1\Partition15 link to \\?\Device\HarddiskVolume160 Fixed hard disk media. Block size = 512 size is 2684354560 bytes\\?\Device\Harddisk1\Partition16 link to \\?\Device\HarddiskVolume161 Fixed hard disk media. Block size = 512 size is 33554432 bytes\\?\Device\Harddisk1\Partition17 link to \\?\Device\HarddiskVolume162 Fixed hard disk media. Block size = 512 size is 524288000 bytes\\?\Device\Harddisk1\Partition18 link to \\?\Device\HarddiskVolume163 Fixed hard disk media. Block size = 512 size is 157286400 bytes\\?\Device\Harddisk1\Partition19 link to \\?\Device\HarddiskVolume164 Fixed hard disk media. Block size = 512 size is 10485760 bytes\\?\Device\Harddisk1\Partition2 link to \\?\Device\HarddiskVolume147 Fixed hard disk media. Block size = 512 size is 524288 bytes\\?\Device\Harddisk1\Partition20 link to \\?\Device\HarddiskVolume165 Fixed hard disk media. Block size = 512 size is 1572864 bytes\\?\Device\Harddisk1\Partition21 link to \\?\Device\HarddiskVolume166 Fixed hard disk media. Block size = 512 size is 1024 bytes\\?\Device\Harddisk1\Partition22 link to \\?\Device\HarddiskVolume167 Fixed hard disk media. Block size = 512 size is 8192 bytes\\?\Device\Harddisk1\Partition23 link to \\?\Device\HarddiskVolume168 Fixed hard disk media. Block size = 512 size is 10523482624 bytes\\?\Device\Harddisk1\Partition3 link to \\?\Device\HarddiskVolume148 Fixed hard disk media. Block size = 512 size is 32768 bytes\\?\Device\Harddisk1\Partition4 link to \\?\Device\HarddiskVolume149 Fixed hard disk media. Block size = 512 size is 32768 bytes\\?\Device\Harddisk1\Partition5 link to \\?\Device\HarddiskVolume150 Fixed hard disk media. Block size = 512 size is 524288 bytes\\?\Device\Harddisk1\Partition6 link to \\?\Device\HarddiskVolume151 Fixed hard disk media. Block size = 512 size is 512000 bytes\\?\Device\Harddisk1\Partition7 link to \\?\Device\HarddiskVolume152 Fixed hard disk media. Block size = 512 size is 10485760 bytes\\?\Device\Harddisk1\Partition8 link to \\?\Device\HarddiskVolume153 Fixed hard disk media. Block size = 512 size is 512000 bytes\\?\Device\Harddisk1\Partition9 link to \\?\Device\HarddiskVolume154 Fixed hard disk media. Block size = 512 size is 1048576 bytesVirtual input devices /dev/zero (null data) /dev/random (pseudo-random data) - (standard input)Virtual output devices - (standard output)
然後從這些分區資訊中找到手機的分區資訊, 參考我上面關於z5s分區資訊的文章,對比就可以很容易的找出你想要恢複的分區的分區號(指的是在dd命令下識別的分區號)以及手機磁碟的磁碟號。
以recovery分區為例簡單介紹下判斷分區的方法:
a、 可以通過分區號大小判斷, 比如上面文章中可以看到recovery分區對應的分區號是19, 而上面的dd資訊裡也可以看到 Partition19這個分區號,而一般電腦分區不會這麼多,所以可以判斷這裡就是手機的分區,
b、 接上面的方法,判斷是不是recovery分區,通過分區大小,比如上面的Partition19 在dd命令下顯示大小是 size 10485760 bytes(即10485760位元組),而從上面文章裡看到的recovery分區的大小(32G的可能會有不同)為10240x1024=10485100 跟上面dd命令擷取出來的大小基本一致(至於為什麼不是完全一樣先不去深究了),這基本就可以判斷dd命令裡擷取到的Partition19 就是手機的recovery分區了(特別注意一般手機的boot分區跟recovery分區大小是相同的,注意區分,當然把recovery寫入boot分區也沒啥問題)!
c、 從Partition19前面的字元段Harddisk1判斷, 自己電腦如果只有一個硬碟,那本身的硬碟應該就是Harddisk0了,那麼這裡Harddisk1就應該是手機分區對應的磁碟號了!
4、找到需要的分區號之後,就可以進行dd恢複操作了,具體方法:
1)將需要恢複的分區的img鏡像檔案放到dd命令所在的檔案夾下,如果是recovery或者boot分區則只需要將刷機包裡的recovery.img或者boot.img放進來即可!
2) 在目前的目錄下終端命令列中執行 dd if=recovery.img of=\\?\Device\Harddisk1\Partition19 即可,可以看到這裡recovery.img 即是你放的分區鏡像的檔案名稱,而 \\?\Device\Harddisk1\Partition19 就是上面dd --list命令擷取到的recovery分區的分區號資訊,完全照搬過來的! 執行完該命令後,正確恢複recovery分區的(由@亂世殤歌提供)如下:
至此,已經完全恢複了recovery分區, 只要你放的recovery.img是正確的(這裡所說的正確對於z5s而言是一定要跟你磚之前的基帶版本搭配,因為有些recovery只能在對應的基帶版本下使用)。
看似複雜,其實只兩點:一是dd命令下正確判斷你所要恢複分區的分區號,二是命令要輸入正確並且分區鏡像恢複檔案一定要正確!
另外要特彆強調, 如果用此方法恢複其他引導分區(除了boot和recovery分區之外的),包括: aboot、sbl1、tz、rpm、sdi 這些分區如果想恢複其中任何一個的話,就必須全部一起恢複,並且要版本對應,不然就真磚了!而這些分區鏡像檔案都可以在官方完整rom包裡找到,其中aboot對應的是emmc_appsboot.mbn檔案,其他分區看名字對應檔案名稱即可!