(IMG) Backup (.raw) wiederherstellen

  • 11 Antworten
  • Letztes Antwortdatum
ClemensC

ClemensC

Neues Mitglied
0
Hallo,
scheint sehr schwierige Frage zu sein, da es im Internet nirgendwo eine Hilfe gibt dazu gibt.

Da ich auf meinem Nexus 4 keine 5 GB freien Speicher hatte (kleinere Nandroid Backups machten sowohl CWM-Recovery als auch TWRP nicht; mit 3,5 GB freiem Speicher hörten sie mit 3,5 GB mit einer Fehlermeldung auf), habe ich versucht ein Backup des kompletten Datenblocks meines Nexus 4 über diese diese Anleitung bei XDA direkt auf meinen Computer zu machen. Hat soweit auch geklappt. Auch das Flashen einen anderen Roms verlief problemlos, nur die Wiederherstellung der Apps hat nicht ganz so geklappt wie ich es wollte (es fehlen aus irgendeinem Grund einige) . Deshalb habe ich gedacht, dass ich über das Backup auf meinem Computer zu dem Zustand vor dem Flashen zurückkehren kann, um es nochmal (aber diesmal richtig :) ) zu machen. Aber wie mache ich das? Es gibt keine genaue Anleitung dafür und in den Thread selbst kann ich auch nicht schreiben, wegen XDAs (bescheuerter) 10 Posts Regel. Weiß einer von euch Rat?

Danke im Voraus
Clemens
 
In den richtigen Bereich verschoben.
 
Was hast du genau gesichert? Die einzelnen Partitionen oder mmcblk0 ? weil lt. dem thread "It depends whether it's the whole device memory or just a partition. The whole memory you can't, have to separate it into individual partitions. If it's an individual partition, depends which one it's it." müsstest du ggf. das backup aufteilen. Wenn das gemacht ist würde ich auch im zweifel das factory image flashen und nur /data aus dem backup wiederherstellen (oder system, data, boot und recovery, auch wenn an sich kein problem würde ich z.b. den Bootloader nicht unbedingt so bzw. nur im notfall wiederherstellen)
 
Danke erstmal für deine Antwort :biggrin:

Ich habe den ganzen Speicher gesichert, also mmcblk0.
Das mit den einzelnen Partitionen hatte ich auch schon überlegt, nur bräuchte ich da dann doch Hilfe, was ich nach dem aufteilen vorfinde und wie ich das dann wieder aufs Handy flashen kann. Somit wäre es mir eine echte Hilfe, wenn ich eine genaue Anleitung bekommen könnte, wie ich das ganze Backup aufteilen und flashen kann?!
Wobei ich denke das flashen geht über das Recovery, oder?
 
Dieses tool sollte die verschiedenen Partitionen erkennen GPT fdisk | Free Development software downloads at SourceForge.net (ob es allerdings den namen anzeigt oder du es anhand der größe selbst rausfinden müsstest, keine ahnung). Das zerlegen sollte u.a. mit dd gehen (aber gibt evtl. schönere tools dafür oder es funktioniert auch mit diesem gpt fdisk, glaube aber nicht), keine ahung obs dd für windows gibt (hast du linux? wenn ja könntest du auch das geteilte backup mounten und ansehen obs passt).

Vom Prinzip her mit diesem gptfdisk anschauen und dann bei der entsprechenden partitionen (siehe bilder auf der seite wo oben angegeben ist) anhand des start- und endsektors mit dd rauskopieren (also quasi dd skip=xxxx count=xxxx if=mmcblk0 of=data.img )

dd(1): convert/copy file - Linux man page


Wiederherstellen ist dann das nächste, mit dieser tar methode wäre evtl. über restore gegangen, so glaub ich nicht. Müsste zumindest auch mit dd gehen.

Generell imo bei nächsten mal lieber die apps mit titanium sichern (da sollten 3,5 gb für reichen außer du hast massig apps, und alle muss man ja evtl. nicht sichern, v.a. größere spiele oder so falls vorhanden) und danach auf den pc kopieren oder noch besser kurzfristig platz für ein recovery backup schaffen und dieses dann auf dem pc sichern)
 
Meistens habe ein Nandroid Backup zur Sicherheit gemacht, obwohl ich es meistens nie gebraucht habe.

Jedenfalls danke ich dir sehr und werde die Methode mal ausprobieren.
 
Ist die Größe bei dir auch
disk mmcblk0.raw: 30777344 sectors, 14.7 GiB

jedenfalls zeigt gdisk schön die Partitionen an, mal sehen vll. kann man gleich von dort eine "rauskopieren"
 

Anhänge

  • gdisk1.png
    gdisk1.png
    123,4 KB · Aufrufe: 495
Ja genau.
Es müsste nur jetzt eine Möglichkeit geben wie man die einzelnen Partitionen aus dem RAW IMG extrahieren kann. Diese könnte man dann ja wieder aufs Handy zurückkopieren, oder?
 
Kam gestern nicht mehr zum schreiben

Mit
dd if=mmcblk0.raw of=system.raw skip=311296 count=1720320

konnte ich system so wies auf dem telefon ist rauskopieren und erfolgreich am pc mounten.

Für data ists
dd if=mmcblk0.raw of=data.raw skip=3178496 count=27596800

konnte ich dann auch am pc mounten

Code:
Also wenn gdisk -l xyz.raw es so anzeigt:

Disk mmcblk0.raw: 30777344 sectors, 14.7 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 98101B32-BBE2-4BF2-A06E-2BB33D000C20
Partition table holds up to 28 entries
First usable sector is 34, last usable sector is 30777310
Partitions will be aligned on 8-sector boundaries
Total free space is 1430 sectors (715.0 KiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            1024          132095   64.0 MiB    0700  modem
   2          132096          133119   512.0 KiB   FFFF  sbl1
   3          133120          134143   512.0 KiB   FFFF  sbl2
   4          134144          138239   2.0 MiB     FFFF  sbl3
   5          138240          139263   512.0 KiB   FFFF  tz
   6          139264          184319   22.0 MiB    FFFF  boot
   7          184320          229375   22.0 MiB    FFFF  recovery
   8          229376          230935   780.0 KiB   FFFF  m9kefs1
   9          230936          232495   780.0 KiB   FFFF  m9kefs2
  10          232496          234055   780.0 KiB   FFFF  m9kefs3
  11          234496          235519   512.0 KiB   FFFF  rpm
  12          235520          236543   512.0 KiB   FFFF  aboot
  13          236544          237567   512.0 KiB   FFFF  sbl2b
  14          237568          241663   2.0 MiB     FFFF  sbl3b
  15          241664          242687   512.0 KiB   FFFF  abootb
  16          242688          243711   512.0 KiB   FFFF  rpmb
  17          243712          244735   512.0 KiB   FFFF  tzb
  18          244736          245759   512.0 KiB   8301  metadata
  19          245760          278527   16.0 MiB    FFFF  misc
  20          278528          311295   16.0 MiB    8300  persist
  21          311296         2031615   840.0 MiB   8300  system
  22         2031616         3178495   560.0 MiB   8300  cache
  23         3178496        30775295   13.2 GiB    8300  userdata
  24        30775296        30776319   512.0 KiB   FFFF  DDR
  25        30776320        30777310   495.5 KiB   8300  grow

bei dd dann: dd if=xyz.raw of=Name.raw skip=[I]StartSektor [/I]count=[I]EndSektor-StartSektor+1
[/I]
Zur Sicherheit kann man die entsprechende datei (also system und data) immer unter linux mounten, dann sieht man ob es geklappt hat (wenn nicht scheitert schon das mounten)
 
Zuletzt bearbeitet:
Wiederherstellen (von system) hat geklappt.

Am Handy (im recovery, ich hab twrp genommen):

adb forward tcp:5555 tcp:5555
adb shell
nc -l -p 5555 -e dd of=/dev/block/EnstprechendenBlock (*)

(*)
(den richtigen Block entweder in der adb shell mit ls -l /dev/block/platform/msm_sdcc.1/by-name/ nachschauen oder /dev/block/platform/msm_sdcc.1/by-name/PARTITION nehmen.

Liste:
DDR -> /dev/block/mmcblk0p24
aboot -> /dev/block/mmcblk0p12
abootb -> /dev/block/mmcblk0p15
boot -> /dev/block/mmcblk0p6
cache -> /dev/block/mmcblk0p22
grow -> /dev/block/mmcblk0p25
m9kefs1 -> /dev/block/mmcblk0p8
m9kefs2 -> /dev/block/mmcblk0p9
m9kefs3 -> /dev/block/mmcblk0p10
metadata -> /dev/block/mmcblk0p18
misc -> /dev/block/mmcblk0p19
modem -> /dev/block/mmcblk0p1
persist -> /dev/block/mmcblk0p20
recovery -> /dev/block/mmcblk0p7
rpm -> /dev/block/mmcblk0p11
rpmb -> /dev/block/mmcblk0p16
sbl1 -> /dev/block/mmcblk0p2
sbl2 -> /dev/block/mmcblk0p3
sbl2b -> /dev/block/mmcblk0p13
sbl3 -> /dev/block/mmcblk0p4
sbl3b -> /dev/block/mmcblk0p14
system -> /dev/block/mmcblk0p21
tz -> /dev/block/mmcblk0p5
tzb -> /dev/block/mmcblk0p17
userdata -> /dev/block/mmcblk0p23
)

Am PC:

adb forward tcp:5555 tcp:5555
pv -i 0.5 xyz.raw | nc 127.0.0.1 5555

(-i 0.5 kann man auch weglassen oder den interval ändern wenn man mag, default ist 1 sek)

Allerdings "stoppen" die Programme nicht von selbst wenn alles kopiert ist, deshalb wenn 100% erreicht ist in der adb shell mit strg+c abbrechen, warum dies so ist, keine ahnung, deshalb unbedingt pv verwenden
 

Anhänge

  • Bildschirmfoto - nc-system.png
    Bildschirmfoto - nc-system.png
    278,2 KB · Aufrufe: 358
Zuletzt bearbeitet:
  • Danke
Reaktionen: daddle
Ok, Vielen Dank für diene Mühe. Werde ich ausprobieren :)
 
am pc müsste eigentlich sowas wie

dd if=xyz.raw | nc 127.0.0.1 5555

auch funtktionieren
(ggf. am handy statt dem genannten
nc -l -p 5555 | dd of=/dev/block/EnstprechendenBlock )

dann sollte es eigentlich von selbst stoppen, vll. probier ichs irgendwann mal aus, hab momentan kein backup mehr.
 

Ähnliche Themen

Droide
Antworten
0
Aufrufe
1.109
Droide
Droide
B
Antworten
1
Aufrufe
977
BeliarsFire
B
L
Antworten
4
Aufrufe
1.335
vetzki
vetzki
Zurück
Oben Unten