Registrieren Hilfe Benutzerliste Interessengemeinschaften Kalender Suchen Heutige Beiträge Alle Foren als gelesen markieren
Zurück   Android-Hilfe.de > Android Handys > Motorola Milestone Forum > Root / Hacking / Modding für Motorola Milestone > Anleitungen für Motorola Milestone


Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!

Antwort

 

LinkBack Themen-Optionen Ansicht
Alt 09.02.2010, 21:15   #1 (permalink)
Fortgeschrittenes Mitglied
 
Modell: Motorola Milestone
 
Registriert seit: 30.12.2009
Beiträge: 325
Abgegebene Danke: 58
Erhielt 197 Danke für 29 Beiträge
Beitrag [How-To] ADBRecovery und nandroid [Tutorial]

Hi leute,

da es hier im Forum hierzu keinen gescheiten Thread gibt, habe ich mir gedacht, das ich hierzu mal eine (hoffentlich) komplette Anleitung schreiben könnt.

Zunächst verweise ich hier, der Vollständigkeit halber, zunächst auf die beiden Threads von Poseidon/Pontomedon (im übrigen: Danke an dich, für deine tolle Arbeit ) auf Alldroid.org:

Entwicklung von ADBRecovery (hier findet ihr im Anhang auch die ADBRecovery.zip):
[Release] ADBRecovery

Support zu ADBRecovery, inklusive mittlerweise recht grossem Backup-Archiv:
Nandroid Backups wanted

Innerhalb dieser Threads findet ihr eigentlich bereits alle nötigen Infos.
Ausserdem findet ihr im ersten auch die benötigte zip-Datei (Im Anhang des ersten Posts).

Achtung: Alldroid wurde (mal wieder) komplett über den haufen geschmissen. Dabei wurde das Forum komplett neu aufgebaut, wodurch scheinbar alle Threads (auch die von ADBRecovery) zu Teufel sind. Daher verweise ich hier erstmal auf die Seite http://www.droid-downloads.de. Hier findet ihr auch ADBRecovery, sowie viele verschiedene nandroid-backups.


WARNUNG: Vor Benutzung jeglicher Funktionen von ADBRecovery müsst ihr auf jedenfall erst den Akku laden!!! Vor allem nandroid schluckt ziemlich Akkuleistung und im Recoverymodus lädt der Akku nicht!!!


Was ist ABDRecovery und was kann es?
  • Stellt abd-Support im Recovery-Modus zur Verfügung
  • nandroid (Backup / Restore)
  • Busybox und Root ist enthalten
ACHTUNG: root und Busybox werden NUR während geladenem update.zip aktiviert. Euer Handy bleibt, sofern es nicht bereits gerootet wurde, ungerootet und es wird auch nichts installiert.
Solltet ihr euer Handy dennoch rooten wollen, könnt ihr dies auch per ADBRecovery tun. Hierzu später mehr.


Was wird alles benötigt?
  • Euer Stein (is klar )
  • USB-Treiber (nur Windows... unter Linux sollte der Treiber schon dabei sein)
  • Android-SDK
  • ADBRecovery.zip
  • evtl. das Recovery-SBF (benötigen nur User, die auf 2.1 aktualisiert haben)

USB-Treiber installieren (nur Windows)
Android-SDK installieren
  • Android-SDK entsprechend eurer Rechner-Platform hier runterladen (Ich gehe im weiteren Verlauf nur auf Windows und Linux ein):
    Android SDK | Android Developers
  • SDK in einen leicht wiederfindbaren Ordner entpacken (z.b. C:\android-SDK bzw. /home/<username>/android-SDK/)
  • das reicht bereits für unsere Zwecke

ADBRecovery runterladen und entpacken
  • Aus dem oben erst genannten Link (AllDroid - View topic - ADBRecovery) die angehängte "ADBRecovery.zip" runterladen
  • entpacken
  • Inhalt des Ordners "in_sd_root" auf die SD-Karte verschieben. (NICHT den Ordner selber, sondern nur den Inhalt)

evtl Recovery-SBF flashen (nach Update auf 2.1)
  • Ein Update auf 2.1 aktualisiert ebenfalls die Recovery-Partition und stopft damit die Lücke, die benötigt wird um die update.zip von ADBRecovery zu laden. Um ADBRecovery nutzen zu können, muss daher erstmal die alte Recovery Partition mittels einer SBF und RSD Lite geflasht werden. Näheres hierzu im How-To (Unter Punkt 4 "Recovery SBF flashen per RSD Lite")

Wie wird ADBRecovery gestartet?
In Recovery booten
  • Den Stein ausschalten.
  • Kamerataste drücken und die ganze Zeit gedrückt halten
  • Bei gedrückter Kamerataste den Powerknopf betätigen, bis das Motorola-Logo erscheint (Kamerataste weiterhin gedrückt halten)
  • Wenn ein Ausrufungszeichen in einem Dreieck erscheint (/!\) die Kamerataste loslassen und nun die Lautstärke-Hoch-Taste drücken und gedrückt halten und dann ZUSÄTZLICH die Kamerataste betätigen. Es erscheint nun das Recovery-Menü. (Danke an Thyrus für den Tip )
ADBRecovery starten
  • Hardwaretastatur aufschieben
  • mittels D-Pad (die grosse schwarze Taste mit goldenem Taster in der mitte ganz rechts) "apply sdcard:update.zip" auswählen, und mit goldener Taste bestätigen
  • Das Laden von ADBRecovery kann einen kleinehn Moment dauern
adb shell starten
  • Handy per USB-Kabel an Rechner anschliessen
  • Windows: Kommandozeilenfenster in Windows öffnen (Start -> Ausführen -> "cmd" eingeben -> ENTER drücken)
    Linux: Terminal öffnen
  • in den Tools Ordner im android-sdk navigieren (in unserem Beispiel also "cd C:\android-SDK\tools" bzw. "cd /home/<username>/android-SDK/tools")
  • "adb shell" (Windows) bzw. "./adb shell" (Linux) eingeben
Nun sind wir im Recovery auf unserem Handy drauf. Wenn das Handy nicht mehr bootet die vll einzige Möglichkeit, das Handy noch zu retten (bliebe vll noch ein sbf zu flashen, aber das wird hier nicht betrachtet ).


Wie wird nandroid genutzt?
Nandroid Backup erstellen
  • in adb shell "nandroid-mobile.sh --backup" aufrufen
  • geeigneten Prefix eingeben (Wählt etwas sinnvolles z.B. "2.0.1-O2DE-root-busybox".. "2.0.1" für die android-Version, "O2DE" für die Built-Version, "root-busybox" für die Veränderungen am System)
  • Warten
  • Handy neustarten (mittels D-Pad "reboot system now" auswählen)
  • Backup auf Rechner sichern (Backup liegt auf der SD-Karte unter "nandroid/console=ttyS2,115200n8/<prefix>-<gesichterte Partitionen>-<Datum>-<Uhrzeit>" )
ACHTUNG: Mittels "nandroid-mobile.sh --backup" wird ein Full-Backup erstellt. Das heisst, hier sind alle persönlichen Daten, Einstellungen, installierte Apps etc pp enthalten. Um ein nicht-personenbezogenes Backup nur vom System zu erstellen den Befehl "nandroid-mobile.sh --backup --nomisc --nocache --nodata" eingeben. (Weitere Informationen hierzu ganz unten)

Nandroid Backup wiederherstellen
  • Backup muss auf der SD-Karte unter "/nandroid/console=ttyS2,115200n8" liegen. (manche sagen "/nandroid/backups" ginge auch.. ich habe dies aber nich getestet.)
  • in adb shell "nandroid-mobile.sh --restore" aufrufen
  • Im Idealfalle liegt nur ein Backup auf der SD-Karte. In dem Falle die nun kommende Frage einfach bestätigen. Ansonsten muss der KOMPLETTE Name des Backups angegeben werden.
  • Warten
  • Handy neustarten (mittels D-Pad "reboot system now" auswählen, kann evtl etwas länger dauern)
  • Fertig
ACHTUNG: Mittels "nandroid-mobile.sh --restore" wird das komplette Backup wiederhergestellt. Es ist aber auch möglich, nur einzelne Partitionen wiederherzustellen. Hierzu ganz unten mehr.


Was kann ADBRecovery noch?

Rooten
  • In adb shell "install_root.sh" eingeben

Weiteres
Durch Busybox und Root ist ausserdem alles möglich, was man im normal gebooteten Handy z.b. per connectbot machen könnte. Wenn man mehr machen möchte, ist es für Windows-Nutzer aber ratsam zunächst "alias ls='ls --color=never' " einzugeben, damit man beim ls-Befehl auch wirklich was erkennt.

ADBRecovery ist so aufgebaut, das ihr die Partitionen nicht erst lange mounten müsst. Um diese zu mounten einfach folgende Befehle verwenden:
Code:
mount /system
mount /data
mount /sdcard
mount /cust
bzw zum unmounten:
Code:
umount /system
umount /data
umount /sdcard
umount /cust
ACHTUNG: nandroid sollte nur im frisch gebootetem ADBRecovery genutzt werden. Die Partitionen sollten noch NICHT gemountet sein. Ansonsten beschwert sich nämlich nandroid, da er selber die Partitionen mounten will. unmounten klappte bei mir bei der system-Partition zumindest nicht, weswegen ich, nachdem ich system gemountet hatte, erst rebooten musste.


Weitere Besonderheiten bei nandroid Backup UND Restore
Ihr könnt beim Backuo UND beim Restore einzelne Partitionen auslassen. Zunächst eine Übersicht, welche Partitonen bei einem Full-Backup überhaupt gesichert werden:
Code:
boot
bpsw
cache
cust
data
misc
recovery
system
Um einzelne partitionen auszulassen, müsst ihr nach "--backup" bzw "--restore" einfach zusätzlich "--no<partition>" angeben.
Beim oben genannten Beispiel "nandroid-mobile.sh --backup --nomisc --nocache --nodata" werden daher alle gennanten Partitonen BIS AUF misc, cache und data gesichert.
Genauso verhält es sich bei einem Restore. Habe ich z.b. ein Full-Backup. möchte aber nur System wiederherstellen, würde ich den langen Befehl "nandroid-mobile.sh --restore --noboot --nobpsw --nocache --nocust --nodata --nomisc --norecovery" eingeben.

Zum Schluss noch der Disclaimer: Auch wenn ich versucht habe, diese Anleitung so allgemeinverständlich wie möglich zu schreiben, so muss jeder selber wissen, was er tut. Nandroid kann genauso das Handy zerstören, wie wenn ich mit nem Hammer auf das Handy haue. Wer nandroid und ADBRecovery benutzt, macht dies auf eigene Gefahr. Ich übernehme absolut keine Haftung, Gewährleistung, oder sonst was für etwaige Schäden. Also passt auf, was ihr tut

Soa, das wars. Bei Fragen, Anregungen, oder Schläge habt ihr unten genug Platz

EDIT 13.02.2010: USB-Treiber-Installation und Akku-Warnung hinzugefügt
EDIT 21.02.2010: Linux zum tut hinzugefügt
EDIT 07.03.2010: Recovery-Tastenkombination geändert
EDIT 01.04.2010: Flashen von Recovery-SBF hinzugefügt (Danke für den Hinweis Thyrus )
EDIT 16.04.2010: Links zu Alldroid aktualisiert
EDIT 22.05.2010: Auf droid-downloads.de verwiesen

Geändert von sandimann (22.05.2010 um 22:35 Uhr) Grund: Auf droid-downloads.de verwiesen
sandimann ist offline   Mit Zitat antworten
Folgende Benutzer bedanken sich bei sandimann für diesen Beitrag:
-=Ryo=- (21.03.2010), 7Voo (15.04.2010), Acona (10.02.2010), alive (10.02.2010), altaa68 (31.03.2010), AndroidJunkie (19.05.2010), AndroidMöger (21.02.2010), andro_mike (25.02.2010), b0b (14.02.2010), bam2000 (01.07.2010), Bandit (09.02.2010), bemymonkey (06.06.2010), berndcapitain (17.08.2010), bloke (06.06.2010), bob loblaw (09.02.2010), Borsty (12.03.2010), Buddhathecook (09.04.2010), Burny (29.03.2010), cardex (12.03.2010), CarlHutson (31.05.2010), casula (17.02.2010), cheffe (01.07.2010), chef_koch7777 (11.02.2010), china (26.03.2010), chrille (09.04.2010), Christoffer (04.03.2010), Chronix (04.03.2010), cocodile (25.05.2010), Compufreak (11.02.2010), core. (07.03.2010), dacki (30.03.2010), daij-djan (20.04.2010), damian77 (29.04.2010), DrFlow (14.03.2010), Elchfaenger (02.04.2010), ElectronicWar (02.06.2010), emx_o (14.04.2010), Enkidu (20.02.2010), esko1 (16.03.2010), Fenri (17.02.2010), FenrisWhiteFang (18.03.2010), Finntroll82 (20.02.2010), fipsy (23.04.2010), Fony (07.05.2010), fotoingo (19.03.2010), Friesenstahl (15.02.2010), gasometer2 (24.04.2010), gbomacfly (17.03.2010), gmadzl (20.05.2010), GrandSurf (11.03.2010), Hasagpolar (20.03.2010), Haube (21.02.2010), Helly (18.03.2010), herrlado (10.02.2010), IrealiTY (09.02.2010), isaak (19.02.2010), j0schl (28.06.2010), jakommo (15.02.2010), jass56 (04.04.2010), jbruenig (24.05.2010), jetdevil (25.02.2010), jowi24 (15.07.2010), k1l (09.02.2010), kamikaze2075 (14.02.2010), KellyJelly (08.06.2010), KokosKeks (14.02.2010), Kralle (10.02.2010), lepsch (18.08.2010), Lord_Zuribu (19.02.2010), loveboatcaptain (15.02.2010), Lowbyte (12.02.2010), Luke (17.03.2010), m.unger (17.06.2010), Maestro2k5 (09.02.2010), mareher (22.02.2010), martin@droid (09.02.2010), masoud (25.03.2010), mattmaso (09.02.2010), Medde (09.02.2010), MeetAndroid (09.02.2010), miamo (26.03.2010), Milestone (18.02.2010), mko (10.02.2010), Momo (10.02.2010), monster.kruemel (18.03.2010), Mortl (09.03.2010), mourningsun (30.03.2010), MustangGT500 (02.05.2010), Musti (15.02.2010), natas77 (11.02.2010), nazfalas (17.06.2010), nordisch14 (03.04.2010), Nudelholz (23.03.2010), nuutsch (31.03.2010), Olli24689 (06.05.2010), ooze (06.04.2010), os299 (19.05.2010), parabolon (16.02.2010), paux (25.08.2010), pHiLta (17.03.2010), pogobi (09.04.2010), prodigy7 (30.03.2010), Psionman (27.06.2010), punkrocker (18.06.2010), Punto-Driver (09.05.2010), px2 (21.05.2010), quattro (09.04.2010), ralf2105 (19.05.2010), raven1 (09.02.2010), Rayk (21.02.2010), Rbzhl (13.02.2010), recynt (19.07.2010), Regy (27.05.2010), resom76 (08.05.2010), rierku (26.02.2010), RinTinTigger (09.03.2010), Rolligt (09.02.2010), RPS (15.04.2010), ryuuro (05.04.2010), saenf (20.02.2010), salz (22.03.2010), saturnstar (23.04.2010), schrimpi (11.02.2010), selcuk (03.05.2010), serabbit (16.03.2010), seven7up (20.03.2010), sir-ay (06.03.2010), sL1Me (17.03.2010), Soulstorm (29.03.2010), spacebar75 (25.02.2010), spacefrogko (09.02.2010), Spikie (18.03.2010), Syrabane (09.02.2010), taho (11.02.2010), TheEnvoy (24.04.2010), Thyrus (10.02.2010), TimeTurn (12.05.2010), Tomdroid (17.03.2010), Toorop (14.02.2010), tuamotu (13.05.2010), Vin_ (14.02.2010), walby (13.06.2010), wheez (05.04.2010), Wicki (11.02.2010), wittich (28.04.2010), WotanTGH (10.02.2010), wowschik (14.02.2010), Xaverius (17.02.2010), xu-nil's (17.03.2010), yanardag (10.02.2010), Yoho125 (30.03.2010), Znekar (05.03.2010)
Alt 09.02.2010, 22:20   #2 (permalink)
Android-Hilfe.de Mitglied
 
Benutzerbild von bob loblaw
 
Modell: Motorola Milestone
 
Registriert seit: 30.12.2009
Beiträge: 114
Abgegebene Danke: 28
Erhielt 15 Danke für 12 Beiträge
Standard AW: [TUT] ADBRecovery und nandroid

Danke! Zwar war es über die einzelnen Posts hier oder bei Alldroid schon verständlich, aber ein eigener Thread mit Zusammenfassung ist perfekt.
Sehr gut, danke.
bob loblaw ist offline   Mit Zitat antworten
Alt 10.02.2010, 08:31   #3 (permalink)
Co-Administrator
 
Benutzerbild von SeraphimSerapis
 
Modell: Nexus One, Galaxy S, Samsung Wave
 
Registriert seit: 27.02.2009
Beiträge: 2.915
Abgegebene Danke: 158
Erhielt 1.006 Danke für 271 Beiträge
Standard AW: [TUT] ADBRecovery und nandroid

Das Thema ist jetzt gepinnt.

LG
__________________
SeraphimSerapis ist offline   Mit Zitat antworten
Alt 10.02.2010, 14:05   #4 (permalink)
Ehren-Mitglied
 
Benutzerbild von Thyrus
 
Modell: Motorola Milestone, Nexus One
 
Registriert seit: 04.01.2010
Beiträge: 3.412
Abgegebene Danke: 252
Erhielt 2.397 Danke für 832 Beiträge
Standard AW: [TUT] ADBRecovery und nandroid

Nice work!!!!

Klitzekleine "additon":

'Wenn ein Ausrufungszeichen in einem Dreieck erscheint (/!\) die Kamerataste loslassen, und wiederholt GLEICHZEITIG die Kamerataste UND die Lautstärke-hoch-Taste drücken, bis ein Menü erscheint (braucht ein wenig Übung)'

Um das recovery menu NACH dem dreieck aufzurufen:

a) ERST "Lautstaerke hoch" taste druecken und gedrueckt halten
b) DANACH bei gedrueckter "Lautstaerke hoch taste" zusatzlich die Camera Taste betätigen
dann klappt es immer
Thyrus ist gerade online   Mit Zitat antworten
Folgende Benutzer bedanken sich bei Thyrus für diesen Beitrag:
bob loblaw (10.02.2010), doesdroid (16.02.2010), Lowbyte (12.02.2010), RinTinTigger (13.03.2010), sandimann (10.02.2010), WotanTGH (10.02.2010)
Alt 10.02.2010, 23:56   #5 (permalink)
Android-Hilfe.de Mitglied
 
Modell: Motorola Milestone
 
Registriert seit: 15.11.2009
Beiträge: 113
Abgegebene Danke: 24
Erhielt 7 Danke für 7 Beiträge
Standard AW: [TUT] ADBRecovery und nandroid

Danke für das Thema nun hab ich es endlich kapiert
Kralle ist offline   Mit Zitat antworten
Alt 11.02.2010, 00:10   #6 (permalink)
Junior Mitglied
 
 
Registriert seit: 08.12.2009
Beiträge: 45
Abgegebene Danke: 2
Erhielt 1 Danke für 1 Beitrag
Standard AW: [TUT] ADBRecovery und nandroid

ich hätte mal ne frage zu dem nandroid und adbrecovery

ich komme soweit bis zum recovery modus wo ich die "update.zip" ausführen kann.

wenn ich dann per usb verbinde und cmd aufrufe, und den adb shell ausführen will gibt er mir die meldung "ERROR - device not found"

habe mir auch schon die treiber software geladen und installiert.

wenn ich zb das gerät im laufenden zustand per adb shell benutzen will dann habe ich aber zugriff.

WAS MACH ICH FALSCH? kann mir einer helfen?
maschdi ist offline   Mit Zitat antworten
Alt 11.02.2010, 08:46   #7 (permalink)
Fortgeschrittenes Mitglied
 
Modell: Motorola Milestone
 
Registriert seit: 30.12.2009
Beiträge: 325
Abgegebene Danke: 58
Erhielt 197 Danke für 29 Beiträge
Standard AW: [TUT] ADBRecovery und nandroid

hast du die richtigen treiber installiert?
MEGAUPLOAD - The leading online storage and file delivery service
sandimann ist offline   Mit Zitat antworten
Alt 11.02.2010, 09:42   #8 (permalink)
Junior Mitglied
 
 
Registriert seit: 08.12.2009
Beiträge: 45
Abgegebene Danke: 2
Erhielt 1 Danke für 1 Beitrag
Standard AW: [TUT] ADBRecovery und nandroid

jap hab die treiber software installiert.
wenn ich im adbrecovery "drinn" bin, also die update.zip geladen hab, dann per USB verbinde will er immer den treiber für A853 installieren. tut sich aber nichts.
im gerätemanager ist auch ein ausrufezeichen.
jedoch wenn ich im normalen handy-betriebs-modus bin hab ich keine probleme.

kannst mit win 7 zusammen hängen?

EDIT:
nach ewigen probieren und hin und her installieren hats auch bei mir geklappt.
was evtl. sein kann das es ohne root (bei mir) nicht geklappt hat.
hatte dann das root update eingespielt, dann in cmd "adb shell" eingegeben dann noch "su". hab dann mal auf mein stein geschaut und dort hat er mich gefragt wie ich mit den rechten umgehen will, also "immer erlaub" usw.
hab die dann gemacht und dann nochmal die adbrecovery probiert nun ging auch das
(durch herumspielen klappts dann doch immer, und man lernt dazu)
danke für das TUT

Geändert von maschdi (11.02.2010 um 11:58 Uhr)
maschdi ist offline   Mit Zitat antworten
Alt 11.02.2010, 11:35   #9 (permalink)
Fortgeschrittenes Mitglied
 
Modell: Motorola Milestone
 
Registriert seit: 30.12.2009
Beiträge: 325
Abgegebene Danke: 58
Erhielt 197 Danke für 29 Beiträge
Standard AW: [TUT] ADBRecovery und nandroid

evtl.. da ich noch nie mit win 7 gearbeitet habe (insbesondere nicht im zusammenhang mit dem milestone) kann ich dir da leider nicht helfen
sandimann ist offline   Mit Zitat antworten
Alt 12.02.2010, 21:47   #10 (permalink)
Android Guru
 
Benutzerbild von segelfreund
 
Modell: Motorola Milestone
 
Registriert seit: 12.01.2010
Beiträge: 1.041
Abgegebene Danke: 137
Erhielt 231 Danke für 201 Beiträge
Standard AW: [TUT] ADBRecovery und nandroid

Super vielen Dank.
Hat alles geklappt auch unter Win7 64bit.
__________________
Gruß segelfreund Ein Danke sagt mehr als 1000 Worte
P.S. Milestone HowTo´s Root / Update 2.1 / Zusammenfassungen Danke FuFu / Suchfunktion
segelfreund ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
-

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
[script]Apps2SD Automatisiert für die ADBRecovery -FuFu- Root / Hacking / Modding für Motorola Milestone 315 02.08.2010 14:16
Nandroid Backup-was ist das und wie kriegt man es? StripLV Root / Hacking / Modding für HTC Legend 1 30.05.2010 11:17
[Tutorial]PC-Suite und Windows 7 Hectic RBM 2 Forum 1 27.04.2010 13:35
Wie sicher sind modifizierte Apps, Nandroid-backups und SBFs? lepsch Root / Hacking / Modding für Motorola Milestone 8 14.04.2010 21:20
hilfe zu ADBrecovery und MCS bitte ozhan Root / Hacking / Modding für Motorola Milestone 13 28.02.2010 18:39



Du liest gerade: "[How-To] ADBRecovery und nandroid [Tutorial]" unter "Anleitungen für Motorola Milestone" auf Android-Hilfe.de.

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:52 Uhr.


Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224