[IOS] Hướng dẫn phục hồi dữ liệu và Fix lỗi bị treo táo của iPhone, iPod

Chủ đề trong 'ROM cho Smartphone' bởi pav_zz, 23/09/2013.

  1. pav_zz

    pav_zz Feature Phone Administrator Moderator

    Tham gia ngày:
    14/06/2013
    Bài viết:
    67
    Đã được thích:
    27
    Điểm thành tích:
    18
    Mục đích :
    - Phục hồi và lấy lại dữ liệu quan trọng như danh bạ contacts, tin nhắn sms, hình ảnh pictures, videos .. khi iPhone & iPod bị treo táo, không khởi động được và cũng không thể truy nhập được với các tiện ích: WinSCP, iTools, iFunBox, iExplorer, iPhoneBrowser hay iPhoneFolders. Nếu dữ liệu đã không được sync trên iTunes hay iCloud (iOS 5.x) mà restore Firmware mới thì sẽ mất hoàn toàn không lấy lại được.

    - Fix lỗi iPhone & iPod không khởi động được. Nguyên nhân: khi cài đặt một ứng dụng trên Cydia bị lỗi hay một lý do nào đấy các thiết bị này không reboot được. Người dùng iDevice không muốn restore lại Fw mà chỉ muốn Fix lại lỗi để thiết bị chạy bình thường.

    - Đây là công cụ đa năng rất hữu dụng dành cho những người dùng iPhone, iPod kể cả các thiết bị này chưa được jailbreak hay unlock. Nó sẽ cứu cánh cho rất nhiều trường hợp thiết bị bị hỏng hay bị lỗi mà chủ nhân thiết bị đó yêu cầu phải lấy lại dữ liệu. Hơn nữa người dùng có thể truy nhập vào hệ thống và thực hiện bất kỳ thao tác nào trên thiết bị iDevice.

    Hổ trợ các thiết bị :

    - iPhone 3GS, iPhone 4 và iPhone 2G, iPhone 3G , iPod Touch 1G, 2G, 3G, 4G và iPad 1 (Jailbreak và None Jailbreak)

    Các trường hợp áp dụng: (phục hồi dữ liệu)

    - Lỗi vòng lặp Recovery Mode, không thoát được.

    - Lỗi vòng lặp DFU mode, không khởi động được.

    - Lỗi thiết bị treo quả táo, không khởi động được.

    - Lỗi thiết bị bị treo không vào màn hình Springboard được.

    - Lỗi thiết bị tự khởi động liên tục và ngẫu nhiên.

    * Chỉ có trường hợp không thực hiện được : máy tính không nhận được thiết bị ở DFU mode. Trường hợp này rất khó xảy ra trừ trường hơp lỗi phần cứng hay hỏng phần giao tiếp Dock connector.

    Download :

    - jre-7-windows.exe
    - ssh_rd_rev04a.jar
    - putty.zip
    - WinSCP.zip

    (pass :tinhte)

    Cách thực hiện :

    1. Cài đặt Java Online jre-7-windows.exe vào máy tính.

    2. Kết nối iPhone với máy tính và đặt iPhone về DFU mode.

    Cách đặt iPhone về DFU mode : a. Nhấn nút "Power" : 3s, b. Vẫn giữ nút "Power", tiếp tục nhấn thêm phím "Home" khoản 10s nữa, c. Nhã nút "Power" trong khi vẫn giử phím "Home" cho đến khoản 15s, iTunes nhận được iPhone là DFU Mode.

    3. Click vào tập tin ssh_rd_rev04a.jar , java sẽ thực thi file .jar này và nó sẽ tự động download SSH Ramdisk maker từ server vào máy tính và loading vào iPhone, thông báo SSH Ramdisk thành công như hình sau :


    [​IMG]


    Fix lỗi bước 3:

    + Nếu Java không thực hiện download gì cả nguyên nhân là do Java không tìm được DFU mode của thiết bị nên phải thực hiện vào DFU mode cho đúng. Trước hết phải tắt iDevice mới được : rút cáp USB ra, nhấn cùng 1 lúc 2 phím Home và Power cho đến lúc iDevice tắt màn hình (màn hình tối đen). Thử nhấn phím Home (không phải Power) mà iDevice không lên là được, thiết bị đã được tắt. Sau đó nhấn cùng một lúc phím Home và nút Power cho đúng 10 giây, thiết bị sẽ hiện logo quả táo sau đó sẽ tắt lại, cho đến giây thứ 10, nhả nút Power ra và vẫn tiếp tục giữ phím Home khoản 15 giây nữa, màn hình iDevice vẫn tối đen, cắm cáp USB và mở iTunes nhận được iDevice là DFU Mode.

    + Nếu không download SSH Ramdisk từ server được, mạng bị lỗi hay không có Wifi, thực hiện SSH Ramdisk offline theo hướng dẫn ở dưới.

    4. Không đóng cửa sổ java trên, tiếp tục chạy chương trình putty.zip , điền đầy đủ các thông số sau và click vào nút "Open".

    Host name : 127.0.0.1
    Port : 2022
    Connection Type : SSH

    [​IMG]


    5. Sau khi Putty kết nối thành công với iPhone, nhập các thông số sau trên màn hình :

    Login as : root
    password : alpine

    - Nhấn phím Enter rồi tiếp tục gõ thêm lệnh sau :

    mount.sh


    [​IMG]


    6. Vẫn giữ nguyên của sổ Putty, tiếp tục chạy chương trình WinSCP.zip , nhập đầy đủ các thông số sau và click vào nút "Login"

    Host name : 127.0.0.1
    (hoặc Host name : localhost )
    Port number : 2022
    User name : root
    Password : alpine
    File protocol : SFTP


    [​IMG]



    7. Sau khi WinSCP kết nối thành công, phải thoát khỏi đường dẫn /private/var/root/ (click vào 2 dấu chấm ..) để vào thư mục root để thấy được 2 folder vừa mới được mount vơi Putty là mnt1, mnt2 :

    - mnt1 : lưu trữ các tập tin hệ thống iPhone như System, Library ...
    - mnt2 : lưu trữ các tập tin dữ liệu người dùng như : danh bạ contacts, tin nhắn sms, hình ảnh pictures, videos..


    [​IMG]


    Sau khi SSH Ramdisk thành công, tuỳ theo mục đích và yêu cầu, có thể thực hiện một trong hai cách : phục hồi dữ liệu hoặc fix lỗi treo táo.

    8. Phục hồi dữ liệu :
    (Áp dụng đối với các thiết bị Jailbreak và None-Jailbreak)

    Vào các đường dẫn sau và copy backup từ iPhone vào máy tính :
    - mnt2/mobile/Library/AddressBook/AddressBook.sqlitedb : Danh bạ contacts
    - mnt2/mobile/Library/SMS/sms.db : Tin nhắn SMS
    - mnt2/mobile/Library/Notes : Soạn thảo văn bản note.
    - mnt2/mobile/Library/CallHistory/ : call history
    - mnt2/mobile/Media/DCIM/ : Hình ảnh jpg, videos.....
    - mnt2/mobile/mobile/Media/Recordings : Voice Memo
    - mnt2/mobile/Applications/ : Các ứng dụng apps.

    Thực hiện restore firmware cho thiết bị và copy trở lại các file ở trên từ máy tính vào thiết bị (đối với các file hình ảnh JPG và videos thì sử dụng "Add Folder to Library" của iTunes để đồng bộ). Sau khi copy xong phải set permission 0755 cho các file đã copy.
    Cách restore firmware theo link này.

    Nếu thiết bị đã restore với firmware iOS khác với firmware đang bị treo táo, thì không thể copy file AddressBook.sqlitedb trở lại được, xem thêm phần chuyễn đổi ở phía dưới.



    [​IMG]



    9. Fix lỗi iPhone không khởi động :
    (Áp dụng đối với các thiết bị Jailbreak vì đã chỉnh sửa, thay đổi hệ thống thông qua iFunBox, iExplorer .. hay các ứng dụng Cydia )

    a. Lỗi treo máy do đã cài các ứng dụng trên Cydia :

    Thực hiện theo từng bước một và khởi động thiết bị ngay sau bước đó. Cách khởi động thực hiện theo bước 10. Nếu vẫn còn treo máy thì SSH Ramdisk lần nữa từ bước 1-8 và thực hiện bước 9.a kế tiếp.

    + Copy tất cả các file .dylib vào máy tính và xoá các file này (ngoại trừ ultrans0w.dylib) theo đường dẫn sau:

    - mnt1/Library/MobileSubstrate/DynamicLibraries/

    + Giải nén Remove-Error-libLocation-iOS 4x & 5.x.rar copy tất cả các file .plist vào đường dẫn sau:

    - mnt1/System/Library/LaunchDaemons/

    + Copy các file .dylib vào máy tính và xoá các file này theo dường dẫn sau :

    - mnt1/usr/lib/system/

    + "Reset all Settings" bằng cách xóa các file theo đường dẫn sau :

    - mnt2/mobile/Library/Preferences/

    + Nếu vẫn không có kết quả, thực hiện cài syslogd và post .log file lên đây để phân tích. Cách cài syslogd theo hướng dẫn ở dưới.

    b. Lỗi invalid link vùng system partition (Operating System) trên bộ nhớ NAND của iDevice :

    Lỗi này cũng nguyên nhân làm thiết bị iDevice không khởi động được. Trở lại màn hình Putty, copy và paste các lệnh sau theo mỗi phiên bản iOS :

    iOS 5.x :

    fsck_hfs -q /dev/disk0s1s1
    fsck_hfs -r /dev/disk0s1s1

    iOS 3.x, 4.x :

    fsck_hfs -q /dev/disk0s1
    fsck_hfs -r /dev/disk0s1

    c. Lỗi do bị hỏng các file daemons : (Xóa nhầm daemons)

    Copy các file .plist backup từ máy tính hay từ máy khác tương tự vào iPhone theo đường dẫn sau:

    - mnt1/System/Library/LaunchDaemons/

    d. Lỗi do bị hỏng kernel : (Cài Jailbreak tethered)

    Copy file kernelcache backup từ máy tính vào iPhone và set permission 0755 theo đường dẫn sau:

    - mnt1/System/Library/Caches/com.apple.kernelcaches/

    e. Lỗi do bị hỏng Lockdownd : (Cài Hacktivate, patch Lockdownd )

    Copy file Lockdownd backup từ máy tính vào iPhone và set permission 0755 theo đường dẫn sau:

    - mnt1/usr/libexec/

    f. Lỗi do bị hỏng CommCenter : (Cài patch CommCenter ví dụ: wortel /4ALL4 fix unsupported Sim)

    Copy file CommCenter (iOS 4.x) hay CommCenterClassic (iOS 5.x) backup từ máy tính vào iPhone và permission 0755 theo đường dẫn sau :

    - mnt1/System/Library/Frameworks/CoreTelephony.framework/Support/
    ....................


    [​IMG]



    9. Khởi động thiết bị :

    - Sau khi thực hiện xong các thao tác trên, phải giải phóng thiết bị ra bị khỏi DFU mode vì chúng ta đang làm việc nó ở chế độ DFU mode. Trở lại màn hình Putty, gõ lệnh : reboot_bak hay kill 1 , iPhone & iPod sẽ tự khởi động. Các thiết bị sau sẽ bị dính Recovery Mode sau khi chạy SSH RamDisk : iPhone 4, iPhone 3GS bootrom mới, iPod Touch 2 MC, 3, 4, và iPad 1. Để thoát vòng lặp Recovey Mode, giải nén Exit_Recovery_Mode.zip, chạy file .bat Exit_Recovery_Mode.bat.

    + Kích hoạt Syslogd để kiểm tra nguyên nhân treo táo :

    Trường hợp vẫn không Fix được lỗi treo táo, thực hiện kiểm tra bằng cách kích hoạt syslogd, mọi hoạt động thiết bị sẽ được ghi vào file syslog nên có thể phân tích file syslog này để xác định nguyên nhân lỗi ở đâu. Sau đây cách thực hiện :
    Thực hiện SSH Ramdisk thiết bị (bước 1-7), giải nén syslog.zip (pass: tinhte) copy replace 2 file sau :
    - com.apple.syslogd vào đường dẫn : mnt1/System/Library/LaunchDaemons/
    - etc\syslog.conf vào đường dẫn : mnt1/private/etc/
    Sau đó reboot lại iphone (theo bước 10) cho đến khi nó treo táo, sau đó đặt vào DFU mode và SSH Ramdisk lần nữa, vào thư mục mnt2/log/ copy file syslog lên trang này để phân tích.

    Lưu ý : Máy tính phải tắt chức năng Firewall của Antirus để chương trình java download SSH Ramdisk maker không bị lỗi.

    Big thanks to: msft.guy (SSH Ramdisk maker) . Also thanks : @planetbeing , @posixninja, @Pod2G, geohot & @posixninja và @iH8sn0w , @Allpluscomputer


    --------------------------------o0o-------------------------------


    Các vấn đề liên quan khác :

    Trường hợp lỗi partition disk nên không mount được, các thư mục MNT1, MNT2 trống rỗng không chứa file :

    Từ màn hình Putty, copy và paste các lệnh sau :

    mnt1 - firmware iOS 5.x :

    fsck_hfs -q /dev/disk0s1s1
    fsck_hfs -r /dev/disk0s1s1
    mount_hfs /dev/disk0s1s1 /mnt1
    hay
    mount -t hfs -r /dev/disk0s1s1 /mnt1

    mn1 - firmware iOS 3.x, 4.x :

    fsck_hfs -q /dev/disk0s1
    fsck_hfs -r /dev/disk0s1
    mount_hfs /dev/disk0s1 /mnt1
    hay
    mount -t hfs -r /dev/disk0s1s1 /mnt1

    mnt2 - firmware iOS 5.x :

    fsck_hfs -q /dev/disk0s1s2
    fsck_hfs -r /dev/disk0s1s2
    mount_hfs /dev/disk0s1s2 /mnt2
    hay
    mount -t hfs -r /dev/disk0s1s2 /mnt2

    mnt2 - firmware iOS 4.x :

    fsck_hfs -q /dev/disk0s2s1
    fsck_hfs -r /dev/disk0s2s1
    mount_hfs /dev/disk0s2s1 /mnt2
    hay
    mount -t hfs -r /dev/disk0s2s1 /mnt2

    mnt2 - firmware iOS 3.x :

    fsck_hfs -q /dev/disk0s2
    fsck_hfs -r /dev/disk0s2
    mount_hfs /dev/disk0s2 /mnt2
    hay
    mount -t hfs -r /dev/disk0s2 /mnt2

    Chú ý : Lệnh "mount -t hfs -r /dev/disk0.. " chỉ xem được mnt2 và copy các file để backup chứ không thể ghi xóa vào trong folder này được. Muốn ghi xóa thì sử dụng mount_hfs /dev/disk0..


    ---------------------------o0o-----------------------


    Hướng dẫn sao chép Address Book, Notes phiên bản iOS khác nhau :

    Áp dụng đối các thiết bị Jailbreak và None-Jailbreak

    Nếu đã sao lưu backup trên máy tính các file AddressBook.sqlitedb, AddressBookImages.sqlitedb (bước 8), có thể phục hồi bằng cách copy chúng vào thiết bị. Điều này chỉ thực hiện được khi chúng cùng firmware iOS. Nhưng vấn đề trở ngại là nếu thiết bị đó đã nâng cấp hay hạ cấp firmware khác với firmware của các file đã backup thì không thể copy theo cách trên được mà phải thực hiện như sau :

    Cách 1:

    Ưu điểm : phục hồi dữ liệu đầy đủ kể cả hình ảnh pictures

    Nhược điểm : chỉ áp dụng trên mỗi thiết bị iOS cùng nhóm chủng loại, ví dụ từ iPhone có thể copy cho iPod nhưng không thể copy cho iPad được.

    1. Mở Control Panel > Folder Options > View > bỏ đánh dấu "Hide extensions for know the file" , chọn "Apply" , mục đích để hiển thị extension các file : .sqlitedb.

    2. Copy tất các file đã backup (bước 8) vào một folder và giữ ở đó, sau đó copy nhân bản thành một folder khác để thực hiện phục hồi cho thiết bị. Mở folder này, thực hiện đổi tên (rename) các file sau : (các file đã rename không có extension)

    AddressBook.sqlitedb --> adb8c77534444e97c31ff15924d50f3ed1fbd3b1 (nhân bản 1)
    AddressBook.sqlitedb --> 31bb7ba8914766d4ba40d6dfb6113c8b614be442 (nhân bản 2)
    AddressBookImages.sqlitedb --> cd6702cea29fe89cf280a76794405adb17f9a0ee
    notes.db --> 740b7eaf93d6ea5d305e88bb349c8e9643f48c3b
    notes.sqlite --> ca3bc056d4da0bbf88b5fb3be254f3b7147e639c
    sms.db --> 3d0d7e5fb2ce288813306e4d4636395e047a3d28
    call_history.db --> a49bfab36504be1bf563c1d1813b05efd6076717 (nhân bản 1)
    call_history.db --> ff1324e6b949111b2fb449ecddb50c89c3699a78 (nhân bản 2)
    call_history.db --> 2b2b0084a1bc3a5ac8c27afdf14afb42c61a19ca (nhân bản 3)
    Calendar.sqlitedb --> 2041457d5fe04d39d0ab481178355df6781e6858 (nhân bản 1)
    Calendar.sqlitedb --> 14ee8cdc3e6e0220399ff210246e1c92b7df89a0 (nhân bản 2)

    3. Cài đặt iphonebackupextractor.exe , chạy iPhone Backup Extractor sẽ hiển thị tên thiết bị , ngày tháng backup và folder backup của thiết bị lưu trên iTunes. Ví dụ chúng ta chọn ngày backup gần nhất 02/05/2012 với tên thiết bị User's iPod. Mục đích bước này để xác định chính xác tên thiết bị - ngày tháng năm để restore backup đúng iPhone Name này.


    [​IMG]


    4. Sau đó click vào dòng chữ màu xanh bên cạnh Folder, sẽ dẫn vào folder của User's iPod 02/05/2012 (nên copy folder này lưu vào một nơi khác để dự phòng)

    Sau đó copy các file đã rename ở bước 2 đè lên các file ở trong folder này :


    [​IMG]


    5. Kết nối thiết bị iOS với iTunes, chờ đến khi iTunes nhận dạng và hiển thị tên thiết bị ở dưới "DEVICES", trỏ vào tên thiết bị đó, đúp phím phải mouse chọn "Restore from Backup" với iPhone Name chọn: "User's iPod - Feb 05, 2012 " tức là "02/05/2012" đã xác định ở trên, và click nút"Restore". iTunes sẽ sao chép dữ liệu backup của Address Book kèm theo hình ảnh vào ứng dụng Contacts trên thiết bị.

    Cách 2 :

    Ưu điểm : chuyễn đỗi dữ liệu tương thích được với tất cả thiết bị iOS, Android, Window Phone, Blackberry, Symbian, Microsoft Windows, Mac OSX

    Nhược điểm : chỉ copy được dữ liệu chứ không kèm theo hình ảnh pictures.

    1. Mở Firefox và cài đặt SQLite Manager add-on for Firefox, khởi động Firefox. Click mở "Menu" để hiện thanh dọc và chọn Web Developer -> SQLite Manager. Trên cửa số "SQLite Manager", chọnDatabase > Connect Database > trỏ đến "SQlite db files(*.sqlitedb") chọn "All files" và trỏ đến fileAddressBook.sqlitedb đã backup trên máy tính.

    2.Chọn Execute SQL , copy và paste lệnh SQL sau và click vào nút "Run SQL" :
    select ABPerson.first,ABPerson.last, ABMultiValue.value from ABPerson,ABMultiValue where ABMultiValue.record_id=ABPerson.ROWID

    3. Click vào nút "Action" và chọn "Save Result(CSV) to file" ,đặt tên "AddressBook" như vậy bạn đã có file AddressBook.csv đã được chuyễn đổi từ AddressBook.sqlitedb. Bạn có thể đọc nội dung AddressBook từ file .csv bằng cách mở Excel.

    4. Bước này có thể thực hiện import contacts vào iPhone theo 2 cách :
    Cách 1 : sử dụng contacts của Windows.

    a. Trên windows, vào run gõ lệnh: wab và nhấn enter, bạn sẽ thấy cửa sổ contacts. Trên thanh bar menu chọn "Import", sẽ hiện cửa sổ "Import to Window Contacts". Chọn “CSV (Comma Separated Values)” và click vào nút “Import” , click vào nút “Browse”, trỏ đến file AddressBook.csv đã được chuyễn đổi ở bước 3, tiếp tục nhấn "Next" sẽ hiện cửa sổ "CSV Import"

    b. Bước này rất quan trọng : cột "Text Field" bên trái có 3 hàng. Click đánh dấu vào hàng đầu tiên bạn sẽ nhận cửa sổ "Change Mapping", chọn "First name" và click nút OK. Tương tự hàng thứ 2 , chọn "Last Name" và hàng cuối cùng chọn "Mobile Phone" sau đó chọn nút "Finish". Như vậy bạn đã chuyễn đổi dữ liệu từ file AddressBook.sqlitedb vào Window Contacts.

    c. Kết nối thiết bị iOS với iTunes, chờ đến khi iTunes nhận dạng và hiển thị tên thiết bị ở dưới "DEVICES", click vào tên thiết bị đó và chọn "Info", click vào box "Sync contacts with" và chọn “Windows Contacts” , click vào nút "Apply" hay "Sync". Đến bước này bạn đã Import từ "Window Contacts" vào iphone.

    Cách 2 : sử dụng contacts của Google.

    a. Giải nén google.rar , mở file google.csv bằng Excel, copy cột họ tên của AddressBook.csv vào cột Name của google.csv, cột số điện thoại của google.csv vào cột Phone 1 - Value, còn Group Membership ghi tất cả "* My Contacts", cột Phone 1 - Type ghi tất cả "Mobile". Sau đó lưu file google.csv.

    b. Sau đó login vào Gmail, click vào "Gmail" chọn "contacts" sẽ hiễn thị "New contacts", chọn "More" > chọn Import > trỏ đến file google.csv đã tạo ở bước 1. Gmail sẽ tự động load tất cả danh bạ vào contacts của Gmail

    c. Mở iTunes > Info > chọn Sync Contacts with "Google Contacts" , sau đó click " Configure" sẽ hiện "Google ID" và "Password", bạn nhập tài khoản Gmail vào, sau đó nhấn nút "Apple" của iTunes.

    Mục tiêu chuyễn đổi danh bạ contacts từ AddressBook.sqlitedb vào thiết bị iOS xem như đã hoàn thành. Từ contacts của Google có thể import contacts đến bất kỳ thiết bị khác như Android, Windows Mobile..và ngược lại .

    Hướng dẫn chuyễn đổi sms.db thành file sms.csv :

    1. Tương tự như trên với bước 1: Firefox > Web Developer -> SQLite Manager. Mở "SQLite Manager", chọn Database > Connect Database > trỏ đến "SQlite db files(*.sqlitedb" chọn "All files" và trỏ đến file sms.db.

    2. Lần này thì không chọn Execute SQL mà trỏ đến Export Wzard, "Name of the tablet" chọn "message", nhấn nút OK, chọn tên file "sms" . Như vậy bạn đã có file sms.csv đã được chuyễn đổi từ sms.db mà có thể xem được nội dung bằng Excel.
    KhongYeuAiHoc thích bài này.
  2. Chia sẻ trang này

  3. s2tungs2

    s2tungs2 Mới đăng ký

    Tham gia ngày:
    05/01/2014
    Bài viết:
    1
    Đã được thích:
    0
    Điểm thành tích:
    1
    bạn ơi mình làm đến bước 5 r, nhưng mà mình k viết đc chữ vào cửa sổ PuTTY, bạn có thể giúp mình qua teamview đc k
  4. KhongYeuAi

    KhongYeuAi Feature Phone

    Tham gia ngày:
    21/10/2013
    Bài viết:
    100
    Đã được thích:
    3
    Điểm thành tích:
    18
    Bài viết dài thật đấy, bác admin ra tay có khác
Draft saved Draft deleted

Chia sẻ trang này