我每晚在G900T(klte)上運行CyanogenMod 12。除了默認的加密密碼(使手機啟動循環)之外,其他所有功能都可以正常工作。設置為 / dev / dm-0
。
是否可以執行刪除加密的命令?我不在乎數據,我希望所有數據都消失了。我只想回到 / data
並將內部存儲以純文本格式存儲在磁盤上,以便能夠啟動到CyanogenMod中。
如何使用 adb shell
刪除這些分區上的加密?
我每晚在G900T(klte)上運行CyanogenMod 12。除了默認的加密密碼(使手機啟動循環)之外,其他所有功能都可以正常工作。設置為 / dev / dm-0
。
是否可以執行刪除加密的命令?我不在乎數據,我希望所有數據都消失了。我只想回到 / data
並將內部存儲以純文本格式存儲在磁盤上,以便能夠啟動到CyanogenMod中。
如何使用 adb shell
刪除這些分區上的加密?
對我來說,答案涉及很多方面,但我認為這確實是關鍵。
這使用了CyanogenMod / AOSP的 recovery
程序擦除用戶數據並禁用加密。 (可在關於堆棧溢出的答案中找到)啟動到恢復中,然後從計算機運行
adb shell恢復--wipe_data --set_filesystem_encryption = off 代碼>
您的手機將重新啟動進入系統,並且有望按計劃工作。
如果您需要從手機本身運行它(即:您的 adb
附近沒有計算機)
恢復--wipe_data --set_filesystem_encryption = off
它應該擦除,禁用加密並重新啟動系統。
Don除非以上方法不起作用或不適用於您的情況,否則請不要使用此方法。
root
的身份放到外殼上,因此TWRP在我的情況下有效 / dev / block / platform / * / by-name / userdata
中查看來定位 userdata
分區。 在該分區的開頭寫入大量零,以擦除LUKS頭:
dd if = / dev / zero of = $ PATH_TO_YOUR_USERDATA bs = 4096 count = 512
對於您對該命令所做的操作,我不承擔任何責任。如果您搞砸了,則可以通過覆蓋引導加載程序或其他關鍵分區來對電話進行修改。確保 $ PATH_TO_YOUR_USERDATA
指向實際的 userdata
分區。檢查該分區的大小,以確保您擦拭了正確的東西。我有一部16GB的手機,而 userdata
是10.4GB,其餘的專用於 system
,但是您的手機會有所不同。
使用 make_ext4fs $ PATH_TO_YOUR_USERDATA
將分區重新格式化為 ext4
。
可能有錯誤,但是通常它們與無法找到內部“ sdcard”有關,這可以。
所有這些之後,請重新啟動恢復然後為了安全起見將其重置為出廠設置。
僅對我進行出廠重置似乎無濟於事,手機仍然會看到LUKS在那里分區。我認為這是因為LUKS標頭仍然存在於磁盤級別,而ext4分區只是覆蓋在其頂部。出於某種原因,Android優先將LUKS分區的檢測優先於ext4分區,並嘗試(並成功)將其掛載。
(如果您知道自己在做什麼) “這樣做,您可能還想擦除 system
並從頭開始安裝ROM。同樣,對於您對本文中包含的信息所做的任何操作,我也不承擔任何責任。 )
為我製作了 klte
G900T(三星Galaxy S5 T-Mobile)。您的里程可能會有所不同。
在我的Moto G 3rd Gen(魚鷹)上,調用恢復或擦除LUKS標頭(在分區的開始和結束時)都沒有作用-我仍然需要在Cyanogen Mod啟動期間輸入加密密碼,然後卡在“加密”中錯誤”消息。
我終於發現,我的TWRP 3.0.1恢復在“擦除”部分具有“格式化數據”選項。這樣會完成一次完整的出廠重置,這也會禁用加密。
像超級按鈕一樣工作。如果您可以訪問體面的TWRP版本(例如使用Flashify輕鬆刷新),請首先嘗試執行此操作。
已提供您使用的是TWRP或類似版本。
Data
分區到外部 SD
或 OTG驅動器
f2fs
Data
分區手動清除Naftuli Tzvi Kay提供的LUKS標頭的解決方案工作正常,除了一件事。我不知道它是如何依賴的,但是根據我的經驗,Android將LUKS標頭保留在分區的末尾。如果您的設備是這種情況,則運行
dd if = / dev / zero of = $ PATH_TO_YOUR_USERDATA bs = 4096 count = 512
將無法刪除頁眉(頁腳?),因為它僅擦除分區的開頭。當然,可以擦除整個分區,但這將花費不必要的時間。因此...
要擦除分區的末端(任意大小),請在運行上述命令後,還運行以下命令:
dd bs = 512 if = / dev / zero of = $ PATH_TO_YOUR_USERDATA count = 22048 seek = $((`blockdev --getsz $ PATH_TO_YOUR_USERDATA`-22048))
如果是,請在啟動到自定義恢復(在我的情況下為 TWRP )之後執行此操作:
開始恢復時,請勿解密設備。要求輸入密碼或圖案時,只需點擊取消。
擦除數據分區。(在TWRP上滑動以進行修改系統:擦除>高級>檢查:數據)
這當然會擦除 userdata
分區中的所有內容。整個數據分區將重新格式化為,包括加密密鑰。
我的投票投給了@Naftuli Kay,還有其他有用的答案,但我想分享一些信息。發表評論的時間太長了,讓它成為答案。
由於TWRP的某些版本,“擦除”屏幕上有“格式數據”項。它不僅擦除/ data分區,而且還處理加密的FS問題。以我為例,三星J500H上的TWRP 3.0.2擦除加密,這是唯一的方法,恢復出廠設置無效。 CMR(在我的CM 12.1 rom上為J500H構建的那個)也無法清除加密。
-set_encrypted_filesystem = off
在TWRP和CMR中也不起作用。
通過OpenRecoveryScript https://twrp.me/faq/openrecoveryscript.html擦除數據也不起作用
Android 3.0開始映射/ sdcard到/ data / media,因此他們不得不重新整理/ data擦除到/ data / media,然後執行 rm -rf
。有關更多詳細信息,請參見 https://twrp.me/faq/datamedia.html。
執行“格式化數據”時,您可能會在恢復日誌中看到(/ cache / recover / log或/ cache / recovery / last_log)以下信息:
I:成功擦除了加密頁腳。
在使用格式化/ data之前make_ext4fs
。 TWRP代碼進行了大量檢查,以查找LUKS標頭在哪裡,在我的情況下,它在頁腳中找到了它。
我查看了TWRP源,但沒有找到一種“格式化”的方法。數據”(我需要在自定義rom中擦除應用程序中的加密存儲),因此此選項僅在UI中存在。唯一的例外-如果TWRP是在啟用 TW_OEM_BUILD
的情況下編譯的,則它會將在出廠重置時“格式化數據”,清除加密頭並格式化數據分區,否則將使用常規格式
我將嘗試用零來
擴展上面的Naftuli Tzvi Kay的答案...
嗯,這個答案將我帶到了正確的位置,但是我的手機(CM11 / i9300)沒有恢復 code>命令,而
wipe
命令沒有禁用加密的選項。因此,我通過查看 recovery
命令的源代碼(從上述問題中鏈接的答案鏈接的文件)中的註釋手動完成了操作:
*恢復工具通過/ cache文件與主系統通信。* / cache / recovery / command-INPUT-工具的命令行,每行一個arg * / cache / recovery / log-OUTPUT-組合日誌恢復運行中的文件* / cache / recovery / intent-OUTPUT-傳入的意圖** recovery.command文件中可能提供的參數。* --send_intent = anystring-將文本寫出到恢復中.intent * --update_package = path-驗證安裝OTA軟件包文件* --wipe_data-擦除用戶數據(和緩存),然後重新啟動* --wipe_cache-擦除緩存(但不刪除用戶數據),然後重新啟動* = on | off-啟用/ diasables加密的fs **完成後,我們刪除/ cache / recovery / command並重新啟動。
因此,要手動執行(使用adb): >
$ adb shell> su
將以下文本放入文件/ cache / recovery /命令,可以使用echo或vi:
-wipe_data--set_encrypted_filesystem = off
例如與
echo -e“ --wipe_data \ n--set_encrypted_filesystem = off” > / cache / recovery / command
重新啟動到CWM或類似的恢復
您應該會看到一個不錯的進度條,它應該已完成:)
最好的工作方法是啟動TWRP,並使用內置終端將其格式化為ext2(因為這是唯一直接從終端支持的東西),然後使用Mount
要格式化為ext2:
mkfs.ext2 / dev / block / mmcbl0p23
(用userdata分區的值替換通過在/ dev / block / platform / * / by-name / userdata中查看)
將文件系統更改為ext4:
擦除->高級擦除->選擇“數據”->修復或更改文件系統->更改文件系統-> EXT4
現在,您應該已刪除加密,並且能夠從TWRP掛載/ data分區。希望這會有所幫助:)