Hirdetés

2024. június 11., kedd

Gyorskeresés

Hozzászólások

(#2973) kelzsoca


kelzsoca
félisten

EFS partíció mentése és visszaállítása a valóságban.

Az efs partíció bárminemű mentéséhez rootolt készülék szükséges!!!!

Erre kerestem a választ, a neten és különböző forumokon egy egyszerű folyamatot mutatnak be, ami ez lenne:

A leírás nem máshonnan van, mint az elismert XDA-developers forumról:

=============================
So, backing up efs with adb is easy:

'adb shell'
'dd if=/dev/block/mmcblk0p3 of=/sdcard/efsbackup.img'
'exit'
'adb pull /sdcard/efsbackup.img'

And there you go.

Restoring it is nearly the same process, but *surprise* reversed.
Only restore your efs partition if it's absolutely necessary. Yes, there is only a 0.01% chance of corrupting your efs partition/backup while doing the backup or restore but I won't be able to help you if you corrupt your backup or partition. You've been warned.

The usual disclaimer applies here: I nor XDA-developers.com are responsible for any damage you do to your phone.

But if you must know:

'adb push efsbackup.img /sdcard/efsbackup.img'
'adb shell'
'dd if=/sdcard/efsbackup.img of=/dev/mmcblk0p3'
'exit'

And if you want to be absolutely sure there's no garbage left on your efs partition prior to restoring it:

'adb push efsbackup.img /sdcard/efsbackup.img'
'adb shell'
'dd if=/dev/zero of=/dev/block/mmcblk0p3'
'dd if=/sdcard/efsbackup.img of=/dev/mmcblk0p3'
'exit'

======================================

Hát nézzük mit is ígér nekünk ez a mentés és visszaállítás, és valóban működik -e?

Nem tehettem mást, mint fogtam a saját SGS3 készülékemet, és azon végeztem el a tesztet, vállalva minden ezzel járó kockázatot.

Azt mondja, használjuk az ADB-t mert az jó lesz nekünk, nosza essünk is neki, tehát mentünk:

adb shell
dd if=/dev/block/mmcblk0p3 of=/sdcard/efsbackup.img
exit
adb pull /sdcard/efsbackup.img

Ahhoz, hogy működjön az ADB, be kell kapcsolni a készüléken a Beállítások-Fejlesztői beállítások-USB-hibakeresés lehetőséget.
Ezután kössük össze a telefont a számítógéppel, majd terminálból (linux) vagy parancssorból adjunk ki egy: adb devices parancsot, amennyiben látja a készüléket mehetünk is tovább.

Adjuk ki az adb shell parancsot, majd ezután egy su parancsot (a leírás már itt hiányos)
Ezután a következő parancs jön: dd if=/dev/block/mmcblk0p3 of=/sdcard/efsbackup.img

Tehát honnan készítjük a mentést (dd if=/dev/block/mmcblk0p3) és hová készül a mentés (of=/sdcard/efsbackup.img)

Ha mindent jól csináltunk a belső tárhelyre már el is készült a backup az efs partícióról, ezután már csak ki kell másolni az a PC-re, ehhez viszont 2x adjuk ki az exit parancsot, és jöhet az adb pull /sdcard/efsbackup.img parancs, amivel kimásolja a mentést a PC-re, és a mentéssel készen is vagyunk.

Most már nyugodtak lehetünk, biztos mentésünk van a rendszerről, hátradőlhetünk (vagy mégsem?)

Rendben, de mi van ha bekövetkezik a baj, törlődik vagy átíródnak dolgok az efs partíción?

Semmi gond, hiszen le van írva a visszaállítás, csináljuk meg, és kész is....

Most minden fordítva történik, tehát a mentést írjuk fel az efs partícióra, nézzük mit javasolnak az XDA-n erre:

adb push efsbackup.img /sdcard/efsbackup.img
adb shell
dd if=/sdcard/efsbackup.img of=/dev/mmcblk0p3
exit

Tehát a korábbi mentést visszajuttatjuk az sd kártyára, belépünk a shell-be, és az sd kártyára másolt mentést egyszerűen felírjuk az efs partícióra.

Nos a felírás látszólag megtörténik, de ellenőrizzük le, történt -e változás??

Nos nem történt semmi (minimális változtatást végeztem a partíció tartalmán előtte, tehát töröltem pár fájlt) pont abban az állapotban van minden, ahogy volt, semmi gond, hát ha ez nem jön be, láttunk még egy parancssort, majd azzal jó lesz.

Ez volt az:

adb push efsbackup.img /sdcard/efsbackup.img
adb shell
dd if=/dev/zero of=/dev/block/mmcblk0p3
dd if=/sdcard/efsbackup.img of=/dev/mmcblk0p3
exit

A másolás az sd kártyára ugyanaz, belépés a shell-re szintén, de van itt egy teljes formázás, ami lenullázza nekünk az efs partíció tartalmát, hogy biztos hibátlan legyen a visszaállítás, és ez valóban így is történik, szépen letakarítja a partíciót, ezután jöhet a mentés felírása, ami látszólag sikerül is.

Nos, miután leformáztam az efs partíciót, és látszólag felírtam a mentést, egy újraindítást követően azonnal kibukott, hogy a visszaállítás sikertelen, a formázás sikeres volt, de a partícióra írni nem sikerült.....

Tehát az efs mappára ránézve teljesen üres volt!!!!!

Tehát ezzel a módszerrel, mint kiderült nem lehet visszaállítani az efs partíció tartalmát!

Természetesen jár a plecsni:

Figyelem, az itt leírtak csak a valós problémára hívják fel a figyelmet, de megoldást nem kínálnak rá, az efs partíció mentése nagyon fontos dolog, még akkor is, ha valaki csak gyári romot szeretne használni a készülékén!
Az efs partíció mentése és visszaállítása tehát ezzel a módszerrel nem megvalósítható.
Amint időm engedi a megfelelő leírást el fogom készíteni, és publikálni fogom!
Egy kicsit hosszú voltam, és sokak számára nyilván bonyolult vagy nem érthető a fentebb leírt szösszenet, de ez nem is feltétlenül gond, hiszen a hibás folyamatot nem kell megjegyezni :)

Köszönöm a figyelmet!

[ Szerkesztve ]

Copyright © 2000-2024 PROHARDVER Informatikai Kft.