題:
從恢復中刪除加密
Naftuli Kay
2015-02-08 23:39:42 UTC
view on stackexchange narkive permalink

我每晚在G900T(klte)上運行CyanogenMod 12。除了默認的加密密碼(使手機啟動循環)之外,其他所有功能都可以正常工作。設置為 / dev / dm-0

是否可以執行刪除加密的命令?我不在乎數據,我希望所有數據都消失了。我只想回到 / data 並將內部存儲以純文本格式存儲在磁盤上,以便能夠啟動到CyanogenMod中。

如何使用 adb shell 刪除這些分區上的加密?

您閃過什麼恢復?
團隊勝利恢復項目(TWRP)
我確實讀過[here](http://forum.cyanogenmod.org/topic/96183-factory-reset-remove-encryption/),您可以通過刷新新的ROM來擺脫加密,不確定是否可以在您的情況,但值得嘗試。
沒用我正在嘗試手動`dd if = / dev / zero`,然後格式化數據分區。
八 答案:
Naftuli Kay
2015-02-09 00:34:10 UTC
view on stackexchange narkive permalink

對我來說,答案涉及很多方面,但我認為這確實是關鍵。

使用“恢復”命令,兄弟

這使用了CyanogenMod / AOSP的 recovery 程序擦除用戶數據並禁用加密。 (可在關於堆棧溢出的答案中找到)啟動到恢復中,然後從計算機運行

  adb shell恢復--wipe_data --set_filesystem_encryption = off 代碼> 

您的手機將重新啟動進入系統,並且有望按計劃工作。

如果您需要從手機本身運行它(即:您的 adb 附近沒有計算機)

 恢復--wipe_data --set_filesystem_encryption = off  

它應該擦除,禁用加密並重新啟動系統。

如果其他所有方法失敗

Don除非以上方法不起作用或不適用於您的情況,否則請不要使用此方法。

銷毀用於文件系統加密的LUKS標頭

  1. 您需要進行恢復才能使您以 root 的身份放到外殼上,因此TWRP在我的情況下有效
  2. 通過在 / dev / block / platform / * / by-name / userdata 中查看來定位 userdata 分區。
  3. 在該分區的開頭寫入大量零,以擦除LUKS頭:

      dd if = / dev / zero of = $ PATH_TO_YOUR_USERDATA bs = 4096 count = 512  

    對於您對該命令所做的操作,我不承擔任何責任。如果您搞砸了,則可以通過覆蓋引導加載程序或其他關鍵分區來對電話進行修改。確保 $ PATH_TO_YOUR_USERDATA 指向實際的 userdata 分區。檢查該分區的大小,以確保您擦拭了正確的東西。我有一部16GB的手機,而 userdata 是10.4GB,其餘的專用於 system ,但是您的手機會有所不同。

  4. 使用 make_ext4fs $ PATH_TO_YOUR_USERDATA 將分區重新格式化為 ext4

    可能有錯誤,但是通常它們與無法找到內部“ sdcard”有關,這可以。

  5. ol>

    所有這些之後,請重新啟動恢復然後為了安全起見將其重置為出廠設置。

    為什麼行得通?

    僅對我進行出廠重置似乎無濟於事,手機仍然會看到LUKS在那里分區。我認為這是因為LUKS標頭仍然存在於磁盤級別,而ext4分區只是覆蓋在其頂部。出於某種原因,Android優先將LUKS分區的檢測優先於ext4分區,並嘗試(並成功)將其掛載。

    從此處去哪裡

    (如果您知道自己在做什麼) “這樣做,您可能還想擦除 system 並從頭開始安裝ROM。同樣,對於您對本文中包含的信息所做的任何操作,我也不承擔任何責任。

    為我製作了 klte G900T(三星Galaxy S5 T-Mobile)。您的里程可能會有所不同。

這種工作方式(dd / make_ext4fs選項)。 -當我重新啟動時,它仍然要求在TWRP恢復中輸入密碼,並且高級格式選項不起作用-但是當我執行常規數據分區格式時,它起作用了。 -我能夠重新啟動進入恢復狀態,而無需任何提示輸入密碼的提示。 :-)
納夫圖利,你是救命稻草!我的S6 edge(SM-G925F)處於死引導循環,因為它可能無法加密,這可能是由於自定義恢復(TWRP)造成的,我認為加密是通過庫存恢復進行的。一直說“加密未完成。恢復出廠設置並重新啟動”。我什至嘗試快速恢復庫存,但無法啟動(可能是錯誤的,但標記為我的設備)。整個rom也不好(無法找到合適的,我發現的一個被odin拒絕)。最終,我完成了您在此處所說的所有操作,而dd命令最終完成了竅門。非常感謝!
“恢復”命令似乎對我不起作用。我在TWRP恢復中從ADB Shell調用了它。 我的主要問題是未啟用USB調試,並且`/ system`已損壞,所以我無法啟動和啟用它。 另外,磁盤加密功能已開啟,似乎使我無法正確執行`fastboot flash system system.zip`。
您挽救了我的一天,或更美好的夜晚。經過三個小時的嘗試,在我的Huawei P8 Lite上安裝lineageOS 14.1,並總是收到加密失敗的消息,最後使用dd命令,我可以結束操作。謝謝!
ls -l /dev/block/platform/soc.0/7824900.sdhci/by-name/userdata說: `lrwxrwxrwx 1 root root 16 Sep 16 06:04 /dev/block/platform/soc.0/7824900.sdhci/by-name/userdata-> / dev / block / mmcblk0p26` `df -h / dev / block / mmcblk0p26`說: ``` 文件系統大小已使用可用使用%已安裝 / dev / block / mmcblk0p26 10.5G 27.2M 10.5G 0%/數據 ``` 所以我做了:`dd if = / dev / zero of = / dev / block / platform / soc.0 / 7824900.sdhci / by-name / userdata bs = 4096 count = 512` 是對的嗎?
(第2部分):`dd if = / dev / zero of = / dev / block / platform / soc.0 / 7824900.sdhci / by-name / userdata bs = 4096 count = 512` 給我: ``` 512 + 0條記錄 512 + 0條記錄 複製2097152字節(2.0MB),0.003430秒,583.1MB / s ``` 我想知道為什麼要復制只有2MB?
我仍然收到錯誤消息:`E:無法擦除'/ data'-未知文件系統'auto'無法格式化以刪除我的Honor 5x上的加密`
make_ext4fs / dev / block / mmcblk0p26說: 使用參數創建文件系統: 大小:11614007296 塊大小:4096 每組方塊數:32768 每組的Inode數:8160 索引節點大小:256 日誌塊:32768 標籤: 積木:2835451 方塊組:87 預留塊組大小:695 創建具有11/709920索引節點和84285/2835451塊的文件系統
Unispezi
2016-08-20 11:37:06 UTC
view on stackexchange narkive permalink

在我的Moto G 3rd Gen(魚鷹)上,調用恢復或擦除LUKS標頭(在分區的開始和結束時)都沒有作用-我仍然需要在Cyanogen Mod啟動期間輸入加密密碼,然後卡在“加密”中錯誤”消息。

我終於發現,我的TWRP 3.0.1恢復在“擦除”部分具有“格式化數據”選項。這樣會完成一次完整的出廠重置,這也會禁用加密。

像超級按鈕一樣工作。如果您可以訪問體面的TWRP版本(例如使用Flashify輕鬆刷新),請首先嘗試執行此操作。

謝謝。當簡單的解決方案可行時,為什麼要尋求復雜的解決方案?
這個選項的唯一問題是文字暗示它還會擦除SD卡。如果您的卡很容易拿到,那不是什麼大問題。:-|
@pgmann:的“格式數據”選項不久前出現在TWRP中,這就是原因。可以肯定的是,在2014年還沒有提供這些答复。同樣,`dd`方法在清除腳本中的加密時很有用,因為TWRP命令中沒有'format data'選項,而現有命令無法擦除加密。希望他們將來添加這樣的命令...
ArtDeineka
2017-04-19 20:56:09 UTC
view on stackexchange narkive permalink

已提供您使用的是TWRP或類似版本。

  • 重新啟動到TWRP(輸入密碼),並備份了 Data 分區到外部 SD OTG驅動器
  • 重新啟動到TWRP(取消密碼),並將數據分區格式化為 f2fs
  • 將第一步中的備份還原到新創建的 Data 分區
  • 重新啟動系統
  • ,享受所有已保存的Android數據,並加密已刪除
lockheed
2016-05-14 22:56:42 UTC
view on stackexchange narkive permalink

手動清除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)) 
對我來說,僅擦除標頭就可以正常工作(可能是因為加密未完成-不確定)。但是由於您的業障低而無法回答您的問題))
Majal
2016-09-05 09:18:24 UTC
view on stackexchange narkive permalink

您是否正在使用自定義恢復?

如果是,請在啟動到自定義恢復(在我的情況下為 TWRP )之後執行此操作:

  1. 開始恢復時,請勿解密設備。要求輸入密碼或圖案時,只需點擊取消

  2. 擦除數據分區。(在TWRP上滑動以進行修改系統:擦除>高級>檢查:數據)

  3. ol>

    這當然會擦除 userdata 分區中的所有內容。整個數據分區將重新格式化為,包括加密密鑰

擦除數據分區僅會刪除分區開頭的文件系統標頭。它不起作用,因為在許多版本的Android上,LUKS / dm-crypt頭位於文件系統的_end_處。
你有試過嗎因為它僅適用於我的Nexus 9。
不知道為什麼有人不贊成這個答案,這行得通,並且是擺脫加密的最簡單方法
這就是我最終要做的-並且奏效了。:)
同樣在這裡。像魅力一樣工作。
這對我有用,在i9100(Galaxy S2)上使用TWRP 3.2.3。關鍵是選擇“取消”,而不是向“恢復”提供解密密碼。然後,刪除數據加密的選項會神奇地顯示在“擦除”菜單中。
在我的設備上,密鑰存儲在“元數據”分區中,請參閱[本文](https://jsteward.moe/analysis-of-android-cryptfs.html)
Mixaz
2017-07-24 16:46:53 UTC
view on stackexchange narkive permalink

我的投票投給了@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 的情況下編譯的,則它會在出廠重置時“格式化數據”,清除加密頭並格式化數據分區,否則將使用常規格式

我將嘗試用零來

dd ,實際上TWRP會執行相同的操作以清除加密,只是它知道確切地在哪裡查找標頭))
allicoder
2015-08-11 06:28:50 UTC
view on stackexchange narkive permalink

擴展上面的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): >

  1. 獲取具有root的提示訪問,例如
      $ adb shell> su  
  2. 將以下文本放入文件/ cache / recovery /命令,可以使用echo或vi:

     -wipe_data--set_encrypted_filesystem = off  

    例如與 echo -e“ --wipe_data \ n--set_encrypted_filesystem = off” > / cache / recovery / command

  3. 重新啟動到CWM或類似的恢復

  4. ol>

    您應該會看到一個不錯的進度條,它應該已完成:)

恢復命令在我的TWRP(3.1.1)中可用,它通過/ cache / recovery / command或命令行接受--wipe-data和--set_encrypted_filesystem = off,但是只要請求訪問數據分區(通過--wipe-data)TWRP提示輸入密碼。因此,它在最新的TWRP中不起作用。改為使用“格式化數據”,請參閱其他文章
Snazzy Sanoj
2019-12-14 12:38:58 UTC
view on stackexchange narkive permalink

最好的工作方法是啟動TWRP,並使用內置終端將其格式化為ext2(因為這是唯一直接從終端支持的東西),然後使用Mount

要格式化為ext2:

mkfs.ext2 / dev / block / mmcbl0p23 (用userdata分區的值替換通過在/ dev / block / platform / * / by-name / userdata中查看)

將文件系統更改為ext4:

擦除->高級擦除->選擇“數據”->修復或更改文件系統->更改文件系統-> EXT4

現在,您應該已刪除加密,並且能夠從TWRP掛載/ data分區。希望這會有所幫助:)



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...