ফার্মওয়্যার ফ্ল্যাশ করার আগে কীভাবে একটি অ্যান্ড্রয়েড ডিভাইসের ব্যাকআপ তৈরি করবেন। ফার্মওয়্যার ফ্ল্যাশ করার আগে কীভাবে একটি অ্যান্ড্রয়েড ডিভাইসের ব্যাকআপ তৈরি করবেন অজানা রম গঠন ব্যাকআপ অসম্ভব

হ্যালো, হাবরাখবর।

সাধারণ জ্ঞাতব্য

এই নির্দেশিকাটি আপনার ডিভাইসের সম্পূর্ণ ব্যাকআপ (সমস্ত পার্টিশন সহ সম্পূর্ণ মেমরি) বা একটি একক পার্টিশন (sdcards সহ) সরাসরি আপনার কম্পিউটারে তৈরি করতে সাহায্য করার জন্য ডিজাইন করা হয়েছে:
  • মেমরি ব্লক স্তরে (dd কমান্ড ব্যবহার করে): পৃথক বিভাগ বা সম্পূর্ণ মেমরির জন্য (সমস্ত বিভাগ)। ব্যাকআপ কপিপার্টিশনটি যে আকারে সংরক্ষিত হচ্ছে তার আকার সবসময়ই থাকবে।
  • ফাইল স্তরে (tar কমান্ড ব্যবহার করে): শুধুমাত্র পৃথক পার্টিশনের জন্য। অনুলিপিটিতে কেবলমাত্র ডিভাইসে বিদ্যমান ফাইল এবং ফোল্ডার থাকবে, এইভাবে পার্টিশনটি কতটা পূর্ণ তার উপর নির্ভর করে অনেক কম জায়গা নেয়।

এই নির্দেশাবলী প্রযোজ্য হয় যখন ডিভাইসটি চালু থাকে বা ক্লকওয়ার্কমড রিকভারিতে থাকে (এই ক্ষেত্রে, ADB ফাস্টবুট মোডে কাজ করবে এই নির্দেশপ্রযোজ্য নয়)। অন্যথায় উল্লেখ করা না থাকলে, সমস্ত কমান্ড উইন্ডোজে ব্যবহারের জন্য উদ্দেশ্যে করা হয়। একই লিনাক্স এবং ইউনিক্স প্রযোজ্য.

প্রয়োজনীয়তা

  • শিকড়যুক্ত অ্যান্ড্রয়েড ডিভাইস;
  • ডিভাইসে ইনস্টল করা Busybox;
  • আপনি যদি লিনাক্স / ওএস এক্স ব্যবহার করেন তবে আপনার কাছে ইতিমধ্যেই রয়েছে প্রয়োজনীয় সরঞ্জাম, Windows এর জন্য, Cygwin ডাউনলোড করুন এবং এটির সাথে netcat, pv এবং util-linux ইনস্টল করুন, ইনস্টলেশনের সময় সেগুলি নির্বাচন করে (আমি যোগ করব যে কপি করার পর থেকে স্থানীয় Windows cmd.exe-এর চেয়ে Cygwin mintty.exe থেকে টার্মিনাল ব্যবহার করা ভাল প্রথমটির গতি 3-4 এমবি/সেকেন্ডে পৌঁছেছে, এবং cmd.exe-এর জন্য - সর্বাধিক 400 kB/s);
  • ADB ইনস্টল করা হয়েছে;
  • নিশ্চিত করুন যে adb.exe আপনার PATH ভেরিয়েবলে আছে। পাথ ম্যানেজার দেখুন এবং ব্যবহার করুন;
  • ডিভাইসে USB ডিবাগিং মোড এবং Windows এ ইনস্টল করা সংশ্লিষ্ট ড্রাইভারগুলি সক্ষম করা হয়েছে৷ টার্মিনালে "adb devices" টাইপ করলে আপনার ডিভাইস দেখাতে হবে।

ডিভাইসে পার্টিশন

এখন আপনাকে আপনার ডিভাইসে পার্টিশন এবং ব্লকগুলি সনাক্ত করতে হবে যেগুলির আপনি একটি অনুলিপি তৈরি করতে চান৷ একটি একক পার্টিশন অনুলিপি করতে, আপনি tar বা dd কমান্ড ব্যবহার করতে পারেন, যখন সম্পূর্ণ মেমরি অনুলিপি করতে, আপনাকে শুধুমাত্র dd ব্যবহার করতে হবে।

চালু Teclast x98 3gপার্টিশন সংজ্ঞায়িত করতে, দুটি কমান্ড ব্যবহার করা হয়: cat proc/partitions এবং mount।

টার্মিনালে তাদের ইনপুটের প্রতিক্রিয়ায় কী উপস্থিত হওয়া উচিত তার একটি উদাহরণ।

127|root@android:/ # মাউন্ট
মাউন্ট
rootfs / rootfs ro, রিলেটাইম 0 0
tmpfs/dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc/proc proc rw, relatime 0 0
sysfs /sys sysfs rw, রিলেটাইম 0 0
none/acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/secure tmpfs rw,রিলেটাইম,মোড=700 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
কোনটি নয় /dev/cpuctl cgroup rw,relatime,cpu 0 0
[b]/dev/block/mmcblk0p9 /system ext4 ro,noatime,data=ordered 0 0
/dev/block/mmcblk0p7 /cache ext4 rw,nosuid,nodev,noatime,data=ordered 0 0
/dev/block/mmcblk0p6 /config ext4 rw,nosuid,nodev,noatime,data=ordered 0 0
/dev/block/mmcblk0p10 /data ext4 rw,nosuid,nodev,noatime,noauto_da_alloc,data=ordered 0 0
/dev/block/mmcblk0p8 /logs ext4 rw,nosuid,nodev,relatime,data=ordered 0 0
কোনোটিই নয় /sys/kernel/debug debugfs rw, রিলেটাইম 0 0
/dev/fuse/mnt/shell/emulated fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
none/proc/sys/fs/binfmt_misc binfmt_misc rw, রিলেটাইম 0 0
tmpfs /mnt/libreg tmpfs rw,noexec,noatime,size=4k,mode=700,gid=1003 0 0
/dev/block/vold/179:1 /storage/sdcard_ext fuseblk rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096 0 0
root@android:/ # cat proc/partitions
cat proc/partitions
বড় ছোট # ব্লকের নাম

179 10 30535680 mmcblk0
179 11 229376 mmcblk0p1
179 12 32768 mmcblk0p2
179 13 32768 mmcblk0p3
179 14 131072 mmcblk0p4
179 15 131072 mmcblk0p5
179 16 131072 mmcblk0p6
179 17 786432 mmcblk0p7
179 18 262144 mmcblk0p8
179 19 1048576 mmcblk0p9
259 0 27742188 mmcblk0p10
179 30 2048 mmcblk0boot1
179 20 2048 mmcblk0boot0
179 0 30657536 mmcblk1
179 1 30657504 mmcblk1p1

সাধারণত অ্যান্ড্রয়েডে, সমস্ত পার্টিশন সম্বলিত সম্পূর্ণ ব্লকটি /dev/block/mmcblk0-তে অবস্থিত এবং অন্যান্য সমস্ত পার্টিশন এর উপবিভাগ। আপনি সমস্ত পার্টিশন সম্পর্কে তথ্য দেখতে GPT সমর্থন সহ parted ইনস্টল করতে পারেন।

সমস্ত ফোন মেমরি -> /dev/block/mmcblk0 (যদিও কিছু ফোনে এটি একটি sdcardও হতে পারে)।
পার্টিশন -> এটি সব নির্দিষ্ট ডিভাইসের উপর নির্ভর করে। সাধারণত /dev/block/platform/dw_mmc/by-name/ একটি প্রদত্ত ডিভাইসের জন্য সমস্ত পার্টিশন তালিকাভুক্ত করে।

সমস্ত মেমরি ব্যাক আপ করুন (adb এর মাধ্যমে)

আপনার কম্পিউটারে USB ডিবাগিং মোড সক্ষম করে আপনার ফোন সংযোগ করুন৷

সংক্রান্ত Teclast x98 3gএবং কেস যখন ডিভাইস বুট না (বুটলুপ)। এই সব ঘটার আগে USB ডিবাগিং মোড সক্রিয় করা খুবই গুরুত্বপূর্ণ৷ ট্যাবলেটটি সম্পূর্ণরূপে বন্ধ করুন, সমস্ত তারের সংযোগ বিচ্ছিন্ন করুন, "বিশ্রাম" করতে কয়েক সেকেন্ড দিন এবং কম্পিউটার থেকে ট্যাবলেটে কেবলটি সংযুক্ত করুন, এত বড় সাদা ব্যাটারি প্রদর্শিত হবে যা নির্দেশ করবে যে চার্জিং প্রক্রিয়া চলছে, তবেই , এমনকি বন্ধ অবস্থায়, আপনি টার্মিনাল এবং adb এর মাধ্যমে ডিভাইসের সাথে কাজ করতে পারেন।

Cygwin টার্মিনাল চালু করুন এবং প্রবেশ করুন (প্রয়োজনে mmcblk0 প্রতিস্থাপন করুন):

adb ফরোয়ার্ড tcp:5555 tcp:5555
এডিবি শেল
su
/system/xbin/busybox nc -l -p 5555 -e /system/xbin/busybox dd if=/dev/block/mmcblk0

আপনি বাম দিকের পরবর্তী লাইনে একটি ব্লিঙ্কিং কার্সার দেখতে পাবেন। এই মুহুর্তে, ডিভাইসটি ব্লকটি নেটওয়ার্কের মাধ্যমে প্রেরণের জন্য অপেক্ষা করছে।

adb ফরোয়ার্ড tcp:5555 tcp:5555
cd/path/to/store/the/backup
nc 127.0.0.1 5555 | pv -i 0.5 > mmcblk0.raw

আপনি দেখতে পাবেন যে আপনার নির্বাচিত সম্পূর্ণ ব্লকটি কপি না হওয়া পর্যন্ত ফাইলের আকার বাড়তে শুরু করবে। এখন আপনি কাঁচা বিন্যাসে ডিভাইসের একটি সম্পূর্ণ ব্যাকআপ আছে. আপনি Windows, Linux এবং অন্যান্য OS (অফিসিয়াল ওয়েবসাইট বা) এর জন্য উপলব্ধ gptfdisk ব্যবহার করে কপি করা ব্লকের সমস্ত বিষয়বস্তু দেখতে পারেন। আপনি ClockworkMod Recovery ব্যবহার করে একই কাজ করতে পারেন, কিন্তু প্রাথমিকভাবে আপনাকে /system পার্টিশনটি মাউন্ট করতে হবে, যেহেতু BusyBox, ClockworkMod-এ অন্তর্ভুক্ত, নেটক্যাট নেই, তাই আপনাকে আপনার ডিভাইসের /সিস্টেম পার্টিশন থেকে নেটক্যাট ব্যবহার করতে হবে।

লিনাক্সে কিছু টুলের সাহায্যে, আপনি সম্পূর্ণ ব্লক থেকে প্রয়োজনীয় বিভাগগুলিকে সংশোধন এবং নিষ্কাশন করতে পারেন।

আপনি Wi-Fi ADB এর মতো WiFi এর মাধ্যমে ADB ব্যবহার করতে পারেন।

সমস্ত মেমরি ব্যাক আপ করুন (ওয়াইফাই এর মাধ্যমে)

লেখকের সাথে লিঙ্ক: Nandroid সরাসরি কম্পিউটারের সাথে sdcard.

প্রয়োজনীয়:

  • একটি কম্পিউটার বা অন্য ডিভাইসে ইনস্টল করা FTP সার্ভার;
  • পাসওয়ার্ড সহ ব্যবহারকারী;
  • জন্য পোর্ট ইনস্টল করা হয়েছে FTP সার্ভার, ডিফল্ট 21, কিন্তু মধ্যে এই উদাহরণেব্যবহৃত 40;
  • লেখার অধিকার সহ ব্যবহারকারীর হোম ডিরেক্টরি।

একটি ভাল নিয়ম হল myfifo কে /cache তে অনুলিপি করা এবং /data তে নয়, যেহেতু আপনি যদি পুনরুদ্ধারের জন্য কাঁচা ডেটা ব্যবহার করেন তবে আপনি দুর্ঘটনাক্রমে গুরুত্বপূর্ণ ডেটা ওভাররাইট করতে পারেন।

সাইগউইন টার্মিনাল চালু করুন এবং প্রবেশ করুন:

এডিবি শেল
su
mkfifo/cache/myfifo
ftpput -v -u ব্যবহারকারী -p পাস -P 40 COMPUTER_IP ব্লক.raw /cache/myfifo

আরেকটি সাইগউইন টার্মিনাল খুলুন এবং টাইপ করুন:

এডিবি শেল
su
dd if=/dev/block/mmcblk0p12 of=/cache/myfifo

কিছু নোট:

  • FIFO শুধুমাত্র লিনাক্স নেটিভ ফাইল সিস্টেমে তৈরি করা যেতে পারে; FAT এর জন্য উপযুক্ত নয়;
  • একটি ডিভাইস থেকে একটি পার্টিশন পড়ার প্রক্রিয়া এটিকে কোনোভাবেই পরিবর্তন করে না।

সমস্ত মেমরি ব্যাকআপ করুন (ইউএসবি টিথারিং বা ওয়াই-ফাই টিথারিংয়ের মাধ্যমে)

এটি করার জন্য, আপনাকে কম্পিউটারে সমস্ত নেটওয়ার্ক সংযোগ বিচ্ছিন্ন করতে হবে, যেটির সাথে আপনি অনুলিপি প্রক্রিয়াটি চালাবেন তা ছাড়া।
যত তাড়াতাড়ি আপনি আপনার অ্যান্ড্রয়েড ডিভাইসের সাথে আপনার কম্পিউটার সংযোগ করবেন, আপনি "সংযোগ বৈশিষ্ট্য" এ কম্পিউটারের আইপি এবং ডিভাইসের আইপি দেখতে পারবেন। আইপি - কম্পিউটারের আইপি হবে এবং গেটওয়েতে অ্যান্ড্রয়েড ডিভাইসের আইপি থাকবে।
  • Wi-Fi মডেম: কম্পিউটার< - Wi-Fi --->অ্যান্ড্রয়েড ডিভাইস< - 3G --->ইন্টারনেট
  • ইউএসবি মডেম:
    কম্পিউটার< - USB --->অ্যান্ড্রয়েড ডিভাইস< - Wi-Fi --->ইন্টারনেট
    কম্পিউটার< - USB --->অ্যান্ড্রয়েড ডিভাইস< - 3G --->ইন্টারনেট

প্রক্রিয়াটি একেবারে Wi-Fi এর মাধ্যমে ডেটা স্থানান্তর করার মতো, একমাত্র জিনিসটি হল ডেটা স্থানান্তর গতি অনেক বেশি হবে কারণ কম্পিউটার এবং অ্যান্ড্রয়েড ডিভাইস সরাসরি সংযুক্ত থাকে, রাউটারটিকে গেটওয়ে হিসাবে ব্যবহার করার পরিবর্তে। এই ক্ষেত্রে, গেটওয়ে হবে অ্যান্ড্রয়েড ডিভাইস নিজেই। ইউএসবি মডেম সবচেয়ে বেশি উচ্চস্তরডেটা ট্রান্সমিশন।

একটি পার্টিশন ব্যাকআপ করুন (কাঁচা = পার্টিশনের সঠিক বিট-বাই-বিট কপি)

উপরে বর্ণিত সবকিছুর মতোই, শুধুমাত্র আপনাকে উপযুক্ত বিভাগ দিয়ে mmcblk0 প্রতিস্থাপন করতে হবে। এই বিশেষ ক্ষেত্রে, আপনি অনুলিপি করা বিভাগের বিষয়বস্তু দেখতে সফ্টওয়্যার ব্যবহার করতে পারেন। উপর নির্ভর করে নথি ব্যবস্থা: DiskInternals Linux Reader, টোটাল কমান্ডার এবং ImDisk ভার্চুয়াল ডিস্ক ড্রাইভারের জন্য প্লাগইন। আপনি পৃথক পার্টিশন থেকে ডেটা পুনরুদ্ধার করতে সফ্টওয়্যার ব্যবহার করতে পারেন, উদাহরণস্বরূপ, ভিএইচডি টুল বা সরঞ্জামগুলির সাথে একসাথে Recuva কমান্ড লাইন, অপারেটিং সিস্টেম নিজেদের মধ্যে অন্তর্ভুক্ত.

একটি পার্টিশন ব্যাকআপ করুন (tar = শুধুমাত্র ফাইল এবং ফোল্ডার কপি করা হয়)

এই ক্ষেত্রে, একটি ইতিমধ্যে মাউন্ট করা পার্টিশন প্রয়োজন। (আমি উপরে বর্ণনা করেছি কিভাবে Teclast x98 3g তে পার্টিশন খুঁজে পাওয়া যায়।)
সাইগউইন টার্মিনালে সমস্ত মাউন্ট করা পার্টিশনের একটি তালিকা দেখতে, লিখুন:

এখন আপনার জানা উচিত কোথায় এবং কোন পার্টিশন মাউন্ট করা হয়েছে, উদাহরণস্বরূপ, ফার্মওয়্যার /সিস্টেমে মাউন্ট করা হয়েছে, যা মূলত একটি রম।
এই ক্ষেত্রে, আপনাকে অ্যান্ড্রয়েডের দ্বারা আরোপিত বিধিনিষেধের কারণে তিনটি সাইগউইন টার্মিনাল খুলতে হবে:

প্রথম সাইগউইন টার্মিনাল খুলুন এবং একটি FIFO তৈরি করুন, উদাহরণস্বরূপ /cach এ, এবং এটিতে টার পুনঃনির্দেশ করুন:

adb ফরোয়ার্ড tcp:5555 tcp:5555
এডিবি শেল
su
/system/xbin/busybox mkfifo /cache/myfifo
/system/xbin/busybox tar -cvf/cache/myfifo/system

আপনাকে এটি করতে হবে কারণ tar redirecting to stdout ("-" সহ) Android-এ কাজ করে না এবং সংরক্ষিত ফাইলটি নষ্ট করে দেয়।

একটি দ্বিতীয় সাইগউইন টার্মিনাল খুলুন:

adb ফরোয়ার্ড tcp:5555 tcp:5555
এডিবি শেল
su
/system/xbin/busybox nc -l -p 5555 -e /system/xbin/busybox cat /cache/myfifo

একটি তৃতীয় সাইগউইন টার্মিনাল খুলুন:

adb ফরোয়ার্ড tcp:5555 tcp:5555
cd/path/to/store/the/backup
nc 127.0.0.1 5555 | pv -i 0.5 > system.tar

আপনি Winrar ব্যবহার করে ফলাফল টার ফাইল দেখতে পারেন, পুরোপুরি নির্দেশক, PeaZip, ইত্যাদি অনুগ্রহ করে মনে রাখবেন যে আপনার ফাইলগুলি এক্সট্র্যাক্ট করা বা এডিট করা উচিত নয়, কারণ টার ফর্ম্যাট প্রতিটি ফাইলের জন্য অ্যাক্সেস এবং মালিকের ডেটা ধরে রাখে, যা FAT/NTFS পার্টিশনে এক্সট্র্যাক্ট করার সময় অদৃশ্য হয়ে যায়।

ট্যাগ: ট্যাগ যোগ করুন

হ্যালো, হাবরাখবর।

সাধারণ জ্ঞাতব্য

এই নির্দেশিকাটি আপনার ডিভাইসের সম্পূর্ণ ব্যাকআপ (সমস্ত পার্টিশন সহ সম্পূর্ণ মেমরি) বা একটি একক পার্টিশন (sdcards সহ) সরাসরি আপনার কম্পিউটারে তৈরি করতে সাহায্য করার জন্য ডিজাইন করা হয়েছে:
  • মেমরি ব্লক স্তরে (dd কমান্ড ব্যবহার করে): পৃথক বিভাগ বা সম্পূর্ণ মেমরির জন্য (সমস্ত বিভাগ)। ব্যাকআপ অনুলিপি সবসময় পার্টিশন সংরক্ষিত হিসাবে একই আকার থাকবে.
  • ফাইল স্তরে (tar কমান্ড ব্যবহার করে): শুধুমাত্র পৃথক পার্টিশনের জন্য। অনুলিপিটিতে কেবলমাত্র ডিভাইসে বিদ্যমান ফাইল এবং ফোল্ডার থাকবে, এইভাবে পার্টিশনটি কতটা পূর্ণ তার উপর নির্ভর করে অনেক কম জায়গা নেয়।

এই নির্দেশটি প্রযোজ্য যখন ডিভাইসটি চালু থাকে বা ClockworkMod Recovery এ থাকে (এই ক্ষেত্রে, ADB কাজ করবে; Fastboot মোডে, এই নির্দেশ প্রযোজ্য নয়)। অন্যথায় উল্লেখ করা না থাকলে, সমস্ত কমান্ড উইন্ডোজে ব্যবহারের জন্য উদ্দেশ্যে করা হয়। একই লিনাক্স এবং ইউনিক্স প্রযোজ্য.

প্রয়োজনীয়তা

  • রুটেড অ্যান্ড্রয়েড ডিভাইস;
  • ডিভাইসে ইনস্টল করা Busybox;
  • আপনি যদি লিনাক্স/ওএস এক্স ব্যবহার করেন, তাহলে আপনার কাছে ইতিমধ্যেই প্রয়োজনীয় টুল রয়েছে, উইন্ডোজের জন্য সাইগউইন ডাউনলোড করুন এবং এটির সাথে নেটক্যাট, পিভি এবং ইউটিল-লিনাক্স ইনস্টল করুন, ইনস্টলেশনের সময় সেগুলি নির্বাচন করুন (আমি যোগ করব যে সাইগউইন থেকে টার্মিনালটি ব্যবহার করা ভাল। mintty. exe নেটিভ Windows cmd.exe থেকে, যেহেতু প্রথমটির কপি করার গতি 3-4 MB/s, এবং cmd.exe - সর্বাধিক 400 kB/s);
  • ADB ইনস্টল করা হয়েছে;
  • নিশ্চিত করুন যে adb.exe আপনার PATH ভেরিয়েবলে আছে। পাথ ম্যানেজার দেখুন এবং ব্যবহার করুন;
  • ডিভাইসে USB ডিবাগিং মোড এবং Windows এ ইনস্টল করা সংশ্লিষ্ট ড্রাইভারগুলি সক্ষম করা হয়েছে৷ টার্মিনালে "adb devices" টাইপ করলে আপনার ডিভাইস দেখাতে হবে।

ডিভাইসে পার্টিশন

এখন আপনাকে আপনার ডিভাইসে পার্টিশন এবং ব্লকগুলি সনাক্ত করতে হবে যেগুলির আপনি একটি অনুলিপি তৈরি করতে চান৷ একটি একক পার্টিশন অনুলিপি করতে, আপনি tar বা dd কমান্ড ব্যবহার করতে পারেন, যখন সম্পূর্ণ মেমরি অনুলিপি করতে, আপনাকে শুধুমাত্র dd ব্যবহার করতে হবে।

চালু Teclast x98 3gপার্টিশন সংজ্ঞায়িত করতে, দুটি কমান্ড ব্যবহার করা হয়: cat proc/partitions এবং mount।

টার্মিনালে তাদের ইনপুটের প্রতিক্রিয়ায় কী উপস্থিত হওয়া উচিত তার একটি উদাহরণ।

127|root@android:/ # মাউন্ট
মাউন্ট
rootfs / rootfs ro, রিলেটাইম 0 0
tmpfs/dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc/proc proc rw, relatime 0 0
sysfs /sys sysfs rw, রিলেটাইম 0 0
none/acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/secure tmpfs rw,রিলেটাইম,মোড=700 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
কোনটি নয় /dev/cpuctl cgroup rw,relatime,cpu 0 0
[b]/dev/block/mmcblk0p9 /system ext4 ro,noatime,data=ordered 0 0
/dev/block/mmcblk0p7 /cache ext4 rw,nosuid,nodev,noatime,data=ordered 0 0
/dev/block/mmcblk0p6 /config ext4 rw,nosuid,nodev,noatime,data=ordered 0 0
/dev/block/mmcblk0p10 /data ext4 rw,nosuid,nodev,noatime,noauto_da_alloc,data=ordered 0 0
/dev/block/mmcblk0p8 /logs ext4 rw,nosuid,nodev,relatime,data=ordered 0 0
কোনোটিই নয় /sys/kernel/debug debugfs rw, রিলেটাইম 0 0
/dev/fuse/mnt/shell/emulated fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
none/proc/sys/fs/binfmt_misc binfmt_misc rw, রিলেটাইম 0 0
tmpfs /mnt/libreg tmpfs rw,noexec,noatime,size=4k,mode=700,gid=1003 0 0
/dev/block/vold/179:1 /storage/sdcard_ext fuseblk rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096 0 0
root@android:/ # cat proc/partitions
cat proc/partitions
বড় ছোট # ব্লকের নাম

179 10 30535680 mmcblk0
179 11 229376 mmcblk0p1
179 12 32768 mmcblk0p2
179 13 32768 mmcblk0p3
179 14 131072 mmcblk0p4
179 15 131072 mmcblk0p5
179 16 131072 mmcblk0p6
179 17 786432 mmcblk0p7
179 18 262144 mmcblk0p8
179 19 1048576 mmcblk0p9
259 0 27742188 mmcblk0p10
179 30 2048 mmcblk0boot1
179 20 2048 mmcblk0boot0
179 0 30657536 mmcblk1
179 1 30657504 mmcblk1p1

সাধারণত অ্যান্ড্রয়েডে, সমস্ত পার্টিশন সম্বলিত সম্পূর্ণ ব্লকটি /dev/block/mmcblk0-তে অবস্থিত এবং অন্যান্য সমস্ত পার্টিশন এর উপবিভাগ। আপনি সমস্ত পার্টিশন সম্পর্কে তথ্য দেখতে GPT সমর্থন সহ parted ইনস্টল করতে পারেন।

সমস্ত ফোন মেমরি -> /dev/block/mmcblk0 (যদিও কিছু ফোনে এটি একটি sdcardও হতে পারে)।
পার্টিশন -> এটি সব নির্দিষ্ট ডিভাইসের উপর নির্ভর করে। সাধারণত /dev/block/platform/dw_mmc/by-name/ একটি প্রদত্ত ডিভাইসের জন্য সমস্ত পার্টিশন তালিকাভুক্ত করে।

সমস্ত মেমরি ব্যাক আপ করুন (adb এর মাধ্যমে)

আপনার কম্পিউটারে USB ডিবাগিং মোড সক্ষম করে আপনার ফোন সংযোগ করুন৷

সংক্রান্ত Teclast x98 3gএবং কেস যখন ডিভাইস বুট না (বুটলুপ)। এই সব ঘটার আগে USB ডিবাগিং মোড সক্রিয় করা খুবই গুরুত্বপূর্ণ৷ ট্যাবলেটটি সম্পূর্ণরূপে বন্ধ করুন, সমস্ত তারের সংযোগ বিচ্ছিন্ন করুন, "বিশ্রাম" করতে কয়েক সেকেন্ড দিন এবং কম্পিউটার থেকে ট্যাবলেটে কেবলটি সংযুক্ত করুন, এত বড় সাদা ব্যাটারি প্রদর্শিত হবে যা নির্দেশ করবে যে চার্জিং প্রক্রিয়া চলছে, তবেই , এমনকি বন্ধ অবস্থায়, আপনি টার্মিনাল এবং adb এর মাধ্যমে ডিভাইসের সাথে কাজ করতে পারেন।

Cygwin টার্মিনাল চালু করুন এবং প্রবেশ করুন (প্রয়োজনে mmcblk0 প্রতিস্থাপন করুন):

adb ফরোয়ার্ড tcp:5555 tcp:5555
এডিবি শেল
su
/system/xbin/busybox nc -l -p 5555 -e /system/xbin/busybox dd if=/dev/block/mmcblk0

আপনি বাম দিকের পরবর্তী লাইনে একটি ব্লিঙ্কিং কার্সার দেখতে পাবেন। এই মুহুর্তে, ডিভাইসটি ব্লকটি নেটওয়ার্কের মাধ্যমে প্রেরণের জন্য অপেক্ষা করছে।

adb ফরোয়ার্ড tcp:5555 tcp:5555
cd/path/to/store/the/backup
nc 127.0.0.1 5555 | pv -i 0.5 > mmcblk0.raw

আপনি দেখতে পাবেন যে আপনার নির্বাচিত সম্পূর্ণ ব্লকটি কপি না হওয়া পর্যন্ত ফাইলের আকার বাড়তে শুরু করবে। এখন আপনি কাঁচা বিন্যাসে ডিভাইসের একটি সম্পূর্ণ ব্যাকআপ আছে. আপনি Windows, Linux এবং অন্যান্য OS (অফিসিয়াল ওয়েবসাইট বা) এর জন্য উপলব্ধ gptfdisk ব্যবহার করে কপি করা ব্লকের সমস্ত বিষয়বস্তু দেখতে পারেন। আপনি ClockworkMod Recovery ব্যবহার করে একই কাজ করতে পারেন, কিন্তু প্রাথমিকভাবে আপনাকে /system পার্টিশনটি মাউন্ট করতে হবে, যেহেতু BusyBox, ClockworkMod-এ অন্তর্ভুক্ত, নেটক্যাট নেই, তাই আপনাকে আপনার ডিভাইসের /সিস্টেম পার্টিশন থেকে নেটক্যাট ব্যবহার করতে হবে।

লিনাক্সে কিছু টুলের সাহায্যে, আপনি সম্পূর্ণ ব্লক থেকে প্রয়োজনীয় বিভাগগুলিকে সংশোধন এবং নিষ্কাশন করতে পারেন।

আপনি Wi-Fi ADB এর মতো WiFi এর মাধ্যমে ADB ব্যবহার করতে পারেন।

সমস্ত মেমরি ব্যাক আপ করুন (ওয়াইফাই এর মাধ্যমে)

লেখকের সাথে লিঙ্ক: Nandroid সরাসরি কম্পিউটারের সাথে sdcard.

প্রয়োজনীয়:

  • একটি কম্পিউটার বা অন্য ডিভাইসে ইনস্টল করা FTP সার্ভার;
  • পাসওয়ার্ড সহ ব্যবহারকারী;
  • FTP সার্ভারের জন্য সেট পোর্ট ডিফল্টভাবে 21, কিন্তু এই উদাহরণে 40 ব্যবহার করা হয়;
  • লেখার অধিকার সহ ব্যবহারকারীর হোম ডিরেক্টরি।

একটি ভাল নিয়ম হল myfifo কে /cache তে অনুলিপি করা এবং /data তে নয়, যেহেতু আপনি যদি পুনরুদ্ধারের জন্য কাঁচা ডেটা ব্যবহার করেন তবে আপনি দুর্ঘটনাক্রমে গুরুত্বপূর্ণ ডেটা ওভাররাইট করতে পারেন।

সাইগউইন টার্মিনাল চালু করুন এবং প্রবেশ করুন:

এডিবি শেল
su
mkfifo/cache/myfifo
ftpput -v -u ব্যবহারকারী -p পাস -P 40 COMPUTER_IP ব্লক.raw /cache/myfifo

আরেকটি সাইগউইন টার্মিনাল খুলুন এবং টাইপ করুন:

এডিবি শেল
su
dd if=/dev/block/mmcblk0p12 of=/cache/myfifo

কিছু নোট:

  • FIFO শুধুমাত্র লিনাক্স নেটিভ ফাইল সিস্টেমে তৈরি করা যেতে পারে; FAT এর জন্য উপযুক্ত নয়;
  • একটি ডিভাইস থেকে একটি পার্টিশন পড়ার প্রক্রিয়া এটিকে কোনোভাবেই পরিবর্তন করে না।

সমস্ত মেমরি ব্যাকআপ করুন (ইউএসবি টিথারিং বা ওয়াই-ফাই টিথারিংয়ের মাধ্যমে)

এটি করার জন্য, আপনাকে কম্পিউটারে সমস্ত নেটওয়ার্ক সংযোগ বিচ্ছিন্ন করতে হবে, যেটির সাথে আপনি অনুলিপি প্রক্রিয়াটি চালাবেন তা ছাড়া।
যত তাড়াতাড়ি আপনি আপনার অ্যান্ড্রয়েড ডিভাইসের সাথে আপনার কম্পিউটার সংযোগ করবেন, আপনি "সংযোগ বৈশিষ্ট্য" এ কম্পিউটারের আইপি এবং ডিভাইসের আইপি দেখতে পারবেন। আইপি - কম্পিউটারের আইপি হবে এবং গেটওয়েতে অ্যান্ড্রয়েড ডিভাইসের আইপি থাকবে।
  • Wi-Fi মডেম: কম্পিউটার< - Wi-Fi --->অ্যান্ড্রয়েড ডিভাইস< - 3G --->ইন্টারনেট
  • ইউএসবি মডেম:
    কম্পিউটার< - USB --->অ্যান্ড্রয়েড ডিভাইস< - Wi-Fi --->ইন্টারনেট
    কম্পিউটার< - USB --->অ্যান্ড্রয়েড ডিভাইস< - 3G --->ইন্টারনেট

প্রক্রিয়াটি একেবারে Wi-Fi এর মাধ্যমে ডেটা স্থানান্তর করার মতো, একমাত্র জিনিসটি হল ডেটা স্থানান্তর গতি অনেক বেশি হবে কারণ কম্পিউটার এবং অ্যান্ড্রয়েড ডিভাইস সরাসরি সংযুক্ত থাকে, রাউটারটিকে গেটওয়ে হিসাবে ব্যবহার করার পরিবর্তে। এই ক্ষেত্রে, গেটওয়ে হবে অ্যান্ড্রয়েড ডিভাইস নিজেই। একটি USB মডেমের সর্বোচ্চ ডেটা স্থানান্তর হার রয়েছে।

একটি পার্টিশন ব্যাকআপ করুন (কাঁচা = পার্টিশনের সঠিক বিট-বাই-বিট কপি)

উপরে বর্ণিত সবকিছুর মতোই, শুধুমাত্র আপনাকে উপযুক্ত বিভাগ দিয়ে mmcblk0 প্রতিস্থাপন করতে হবে। এই বিশেষ ক্ষেত্রে, আপনি অনুলিপি করা বিভাগের বিষয়বস্তু দেখতে সফ্টওয়্যার ব্যবহার করতে পারেন। ফাইল সিস্টেমের উপর নির্ভর করে: DiskInternals Linux Reader, টোটাল কমান্ডার এবং ImDisk ভার্চুয়াল ডিস্ক ড্রাইভারের জন্য প্লাগইন। এছাড়াও আপনি পৃথক পার্টিশন থেকে ডেটা পুনরুদ্ধার করতে সফ্টওয়্যার ব্যবহার করতে পারেন, যেমন VHD টুলের সাথে Recuva, অথবা অপারেটিং সিস্টেমের সাথে অন্তর্ভুক্ত কমান্ড লাইন টুল।

একটি পার্টিশন ব্যাকআপ করুন (tar = শুধুমাত্র ফাইল এবং ফোল্ডার কপি করা হয়)

এই ক্ষেত্রে, একটি ইতিমধ্যে মাউন্ট করা পার্টিশন প্রয়োজন। (আমি উপরে বর্ণনা করেছি কিভাবে Teclast x98 3g তে পার্টিশন খুঁজে পাওয়া যায়।)
সাইগউইন টার্মিনালে সমস্ত মাউন্ট করা পার্টিশনের একটি তালিকা দেখতে, লিখুন:

এখন আপনার জানা উচিত কোথায় এবং কোন পার্টিশন মাউন্ট করা হয়েছে, উদাহরণস্বরূপ, ফার্মওয়্যার /সিস্টেমে মাউন্ট করা হয়েছে, যা মূলত একটি রম।
এই ক্ষেত্রে, আপনাকে অ্যান্ড্রয়েডের দ্বারা আরোপিত বিধিনিষেধের কারণে তিনটি সাইগউইন টার্মিনাল খুলতে হবে:

প্রথম সাইগউইন টার্মিনাল খুলুন এবং একটি FIFO তৈরি করুন, উদাহরণস্বরূপ /cach এ, এবং এটিতে টার পুনঃনির্দেশ করুন:

adb ফরোয়ার্ড tcp:5555 tcp:5555
এডিবি শেল
su
/system/xbin/busybox mkfifo /cache/myfifo
/system/xbin/busybox tar -cvf/cache/myfifo/system

আপনাকে এটি করতে হবে কারণ tar redirecting to stdout ("-" সহ) Android-এ কাজ করে না এবং সংরক্ষিত ফাইলটি নষ্ট করে দেয়।

একটি দ্বিতীয় সাইগউইন টার্মিনাল খুলুন:

adb ফরোয়ার্ড tcp:5555 tcp:5555
এডিবি শেল
su
/system/xbin/busybox nc -l -p 5555 -e /system/xbin/busybox cat /cache/myfifo

একটি তৃতীয় সাইগউইন টার্মিনাল খুলুন:

adb ফরোয়ার্ড tcp:5555 tcp:5555
cd/path/to/store/the/backup
nc 127.0.0.1 5555 | pv -i 0.5 > system.tar

আপনি Winrar, Total Commander, PeaZip, ইত্যাদি ব্যবহার করে ফলাফল টার ফাইল দেখতে পারেন। অনুগ্রহ করে মনে রাখবেন যে আপনার ফাইলগুলি এক্সট্র্যাক্ট করা বা এডিট করা উচিত নয়, কারণ টার ফর্ম্যাট প্রতিটি ফাইলের জন্য অ্যাক্সেস এবং মালিকের ডেটা ধরে রাখে, যা FAT/NTFS পার্টিশনে এক্সট্র্যাক্ট করার সময় অদৃশ্য হয়ে যায়।

ট্যাগ:

  • অ্যান্ড্রয়েড
  • Nandroid ব্যাকআপ
  • ডেটা সংরক্ষণ করা হচ্ছে
  • অনুবাদ
ট্যাগ যুক্ত

আমাদের প্রয়োজনীয় সমস্ত কিছু ডাউনলোড করার পরে, আমরা উদাহরণস্বরূপ, কিছু ফোল্ডারের রুটে একটি অ্যান্ড্রয়েড ফোল্ডার তৈরি করতে পারি এবং সংরক্ষণাগারের আনপ্যাক করা বিষয়বস্তুগুলি ফোল্ডারে সংগঠিত করতে পারি, যেমন ড্রাইভার ফোল্ডারে ড্রাইভার, প্ল্যাটফর্ম টুলস ইন পৃথক ফোল্ডার, এসপি ফ্ল্যাশ টুলআলাদা একটিতে, MTK Droid টুলসও আলাদা একটিতে।

এরপরে, আপনার ডিভাইসে বিকাশকারী মোড সক্ষম করুন এবং USB ডিবাগিং সক্রিয় করুন৷ সেগুলো. প্রথমে, সেটিংস -> ফোন সম্পর্কে (ডিভাইস সম্পর্কে) যান এবং "বিল্ড নম্বর"-এ বেশ কয়েকবার (5-7) ক্লিক করুন যতক্ষণ না ডেভেলপার মোড সক্রিয় হয়েছে বলে একটি বার্তা উপস্থিত হয়। এরপরে, সেটিংস মেনুতে যান -> বিকাশকারীদের জন্য এবং "ইউএসবি ডিবাগিং" এর জন্য বাক্সটি চেক করুন:

এর পরে, ডিভাইসটিকে পিসিতে সংযুক্ত করুন এবং ADB ড্রাইভারগুলি ইনস্টল করুন (অর্থাৎ, সংরক্ষণাগার থেকে AdbDriverInstaller.exe চালিয়ে, অথবা ডিভাইস ম্যানেজার খুলে এবং ম্যানুয়ালি ড্রাইভারগুলির পথ নির্দিষ্ট করে অ্যান্ড্রয়েড ফোল্ডারঅজানা ডিভাইসের জন্য ADB ড্রাইভার x64)। ফলাফল এই মত হওয়া উচিত (ডিভাইস ম্যানেজার):

যন্ত্র অ্যান্ড্রয়েড এডিবিডিভাইস ম্যানেজারের ইন্টারফেস নিশ্চিত করে যে আমরা পরবর্তী পদক্ষেপের জন্য প্রস্তুত।

ডিভাইসটি সনাক্ত না হওয়া পর্যন্ত আমরা অপেক্ষা করি এবং "ব্লক ম্যাপ" বোতামটি ক্লিক করুন:

তারপর "স্ক্র্যাটার ফাইল তৈরি করুন" বোতামটি ক্লিক করুন এবং ফলাফল ফাইলটি (আমার জন্য এটিকে MT6582_Android_scatter.txt বলা হত) ডিস্কে সংরক্ষণ করুন৷ এই মুহুর্তে, প্রস্তুতির পর্যায়টি সম্পন্ন হয় এবং আপনি সরাসরি ডেটা পড়ার জন্য এগিয়ে যেতে পারেন।

নোটপ্যাড++ বা ওয়ার্ডে ফলস্বরূপ ফাইলটি খুলুন (মনে রাখবেন যে নিয়মিত নোটপ্যাড কাজ করবে না) এবং লাইনটি খুঁজুন partition_name: CACHE এর মধ্যে:

এবং মনে রাখবেন linear_start_addr কলামে কি লেখা আছে, এই ক্ষেত্রে এটি 0x3E900000।

আমরা পিসি থেকে ফোনটি সংযোগ বিচ্ছিন্ন করি এবং এটি বন্ধ করি, যেমন পাওয়ার অফ বোতামটি ধরে রাখুন এবং মেনুতে "পাওয়ার অফ" নির্বাচন করুন, আপনি ব্যাটারি সংযোগ বিচ্ছিন্ন এবং সন্নিবেশ করতে পারেন। এরপর, এসপি ফ্ল্যাশ টুল চালু করুন এবং রিডব্যাক ট্যাবে যান। এর পরে, Add বাটনে ক্লিক করুন। ফলস্বরূপ, টেবিলে একটি সারি প্রদর্শিত হবে:

আমরা এটিতে ক্লিক করি, আমাদের ROM_0 ফাইলটি সংরক্ষণ করার জন্য একটি অবস্থান নির্বাচন করতে বলা হয়, যে ফোল্ডারে আমরা এটি সংরক্ষণ করতে চাই সেটি নির্বাচন করুন এবং দৈর্ঘ্য ক্ষেত্রের পরবর্তী স্ক্রিনে আমরা আগে মনে রাখা নম্বরটি লিখি (লিনিয়ার_স্টার্ট_এডিআর):

শেষ ফলাফল এই মত কিছু হওয়া উচিত:

তারপরে আমরা সুইচ অফ ফোন (!) পিসিতে সংযুক্ত করি। এই সময়ে, ডিভাইস ম্যানেজার খোলার পরামর্শ দেওয়া হয়। আপাতত, আমরা এই স্ক্রিনে এসপি ফ্ল্যাশ টুলের কোনো বোতাম টিপুন না!

সংযোগের মুহুর্তে, একটি অজানা MT65xx প্রিলোডার ডিভাইস সনাক্ত করা হবে এবং OS আপনাকে এটির জন্য ড্রাইভার ইনস্টল করার জন্য অনুরোধ করবে। নীচের ছবিটি স্পষ্টভাবে এটি দেখায়। MT65xx প্রিলোডার প্রদর্শিত হওয়ার মুহুর্তে "ক্যাচ" করার জন্য ফোনটি সংযোগ করার আগে অবিলম্বে ডিভাইস ম্যানেজারটি খুলতে ভাল। যদি ডিভাইসটি উপস্থিত হয়, কিন্তু OS স্বয়ংক্রিয়ভাবে ড্রাইভার ইনস্টল করার প্রস্তাব না দেয়, তবে এটি MT65xx প্রিলোডার ডিভাইসে ডান-ক্লিক করে ম্যানুয়ালি করতে হবে।

"এই কম্পিউটারে ড্রাইভারের জন্য অনুসন্ধান করুন" নির্বাচন করুন এবং ফোল্ডারটি নির্দেশ করুন যেখানে mtk_xp_vista_7_8_x32_x64.zip আর্কাইভের আনপ্যাক করা বিষয়বস্তু রয়েছে (অর্থাৎ এই বিন্দুতে আপনার সংরক্ষণাগারটি কোথাও আনপ্যাক করা উচিত)। ড্রাইভারগুলি সফলভাবে ইনস্টল করার পরে, ডিভাইস ম্যানেজারের ছবিটি এতে পরিবর্তন করা উচিত:

ড্রাইভার ইনস্টল করা থাকলে, আপনি পরবর্তী ধাপে যেতে পারেন। দয়া করে মনে রাখবেন যে আপনি যখন ফোনটি সংযুক্ত করেন, তখন প্রিলোডার USB VCOM পোর্টটি শুধুমাত্র কয়েক সেকেন্ডের জন্য প্রদর্শিত হতে পারে - এটি স্বাভাবিক, এই পর্যায়ে আমাদের কাজ হল ফোন ড্রাইভারগুলি ইনস্টল করা যাতে এটি প্রিলোডার USB VCOM পোর্টের মতোই সনাক্ত করা যায়, এবং অজানা MT65xx প্রিলোডার ডিভাইস নয়। আপনার যদি হঠাৎ ড্রাইভারগুলি ইনস্টল করার সময় না থাকে এবং ফোনটি চালু হয় তবে ব্যাটারিটি বের করুন, ফোনটি সংযোগ বিচ্ছিন্ন করুন, ব্যাটারি ঢোকান, ফোনটি সংযুক্ত করুন এবং পদ্ধতিটি পুনরাবৃত্তি করুন।

একবার আমরা নিশ্চিত হই যে ড্রাইভারগুলি ইনস্টল করা হয়েছে, আমরা পিসি থেকে ফোনটি সংযোগ বিচ্ছিন্ন করি। আমরা এটি বন্ধ করি, খোলা এসপি ফ্ল্যাশ টুলে আমরা রিডব্যাক বোতাম টিপুন এবং বন্ধ ফোনটিকে পিসিতে সংযুক্ত করি। এর পরে, আমরা ফোন থেকে ফার্মওয়্যার পড়ার প্রক্রিয়াটি করব:

এই ধাপে সুনির্দিষ্টভাবে উদ্ভূত অসুবিধাগুলি সম্পর্কে অনেকেই লেখেন। আমি একটু বিস্তারিত ব্যাখ্যা করার চেষ্টা করব। আপনি রিডব্যাক বোতাম টিপানোর পরে, ফোন সংযোগ করার জন্য এসপি ফ্ল্যাশ টুল স্ট্যান্ডবাই মোডে চলে যায়, যেমন ধারণা করা হয় যে এর আগে আপনি সেই মুহূর্তটি ধরতে পেরেছিলেন যখন আপনার সুইচ অফ করা ফোনটিকে MT65xx প্রিলোডার হিসাবে চিহ্নিত করা হয় এবং এতে ড্রাইভার ইনস্টল করা হয় যাতে প্রিলোডার USB VCOM পোর্টটি COM পোর্টগুলিতে উপস্থিত হয়। যদি হঠাৎ কোনো কারণে এসপি ফ্ল্যাশ টুলে একটি ত্রুটি লেখা হয়, বা ফোনে সংযোগ করার সময় না থাকে, তাহলে নিম্নলিখিত পদ্ধতিটি সাহায্য করতে পারে (বর্নিত সবকিছুই তখনই সত্য যদি আপনি সঠিকভাবে ড্রাইভার ইনস্টল করেন এবং যখন আপনি ফোন সংযোগ করেন, তখন প্রিলোডার USB VCOM পোর্ট প্রদর্শিত হয়): পিসি থেকে ফোনটি সংযোগ বিচ্ছিন্ন করুন, ব্যাটারি সরান, রিডব্যাক বোতাম টিপুন, ব্যাটারি সরানোর সাথে ফোনটি সংযুক্ত করুন। এসপি ফ্ল্যাশ টুলে একটি লাল বার থাকবে (ডাউনলোড করুন), এই সময়ের মধ্যে আমরা দ্রুত ব্যাটারিটি ঢোকাই, যদি আমাদের কাছে সময় থাকে, তাহলে ছবির মতো শতাংশ সহ একটি নীল রিডব্যাক বার প্রদর্শিত হবে:

আমরা প্রক্রিয়াটি সম্পূর্ণ হওয়ার জন্য অপেক্ষা করছি। একটি ব্যাকআপ তৈরি করতে 10-15 মিনিট সময় লাগতে পারে৷ শুধু চলমান শতাংশ দেখুন এবং কিছু স্পর্শ করবেন না 😉 পড়ার পদ্ধতির শেষে, আপনি বার্তাটি দেখতে পাবেন Readback Ok:

যখন আমরা ব্যাকআপ করছি, তখন একটি স্ক্যাটার ফাইল কী এবং ROM_0 ফাইল কী তা ব্যাখ্যা করার সময় এসেছে, যা আমরা একটি আউটপুট হিসাবে পাব৷ ফোনের মেমরি একটি নিয়মিত EMMC ফ্ল্যাশ, যা নির্দিষ্ট বিভাগে বিভক্ত। একটি স্ক্যাটার ফাইল হল একটি বিভাগ বর্ণনা ফাইল (উদাহরণস্বরূপ, স্ক্যাটারে প্রিলোডার, রিকভারি, লোগো, অ্যান্ড্রয়েড ইত্যাদি বিভাগ রয়েছে)। পার্টিশনের উদ্দেশ্য ভিন্ন, উদাহরণস্বরূপ, রিকভারিতে রিকভারি ইমেজ থাকে, লোগোতে সিস্টেম লোড করার সময় ব্যবহৃত লোগো থাকে, অ্যান্ড্রয়েডে সিস্টেম ইমেজ থাকে ইত্যাদি। আউটপুট হিসাবে আমরা যে ROM_0 ফাইলটি পাই তা মূলত একটি ফাইলে EMMC ফ্ল্যাশের একটি অবিচ্ছিন্ন ডাম্প। কিন্তু ফলস্বরূপ ফার্মওয়্যার ব্যাকআপ ব্যবহার করার জন্য, উদাহরণস্বরূপ, অন্য অনুরূপ ডিভাইস পুনরুদ্ধার করার জন্য, আমাদের এখনও এটিকে পার্টিশনে বিভক্ত করতে হবে। এখানে আমি এটি করার বিভিন্ন উপায় বর্ণনা করব। প্রথম এবং সবচেয়ে সাধারণ হল MTK Droid টুলের মাধ্যমে। ধরা যাক আমাদের কাছে ইতিমধ্যেই SP ফ্ল্যাশ টুল ব্যবহার করে তৈরি একটি ROM_0 ফাইল আছে।

ডিভাইসের (ফোন) পাওয়ার চালু করুন এবং এটিকে বুট করতে দিন, তারপরে আমরা আবার MTK Droid টুল চালু করি (ফোনে ইউএসবি ডিবাগিং মোড অবশ্যই চালু থাকতে হবে এবং পিসিতে ADB ড্রাইভার ইনস্টল থাকতে হবে), এখানে যান রুট, ব্যাকআপ, রিকভারি ট্যাব এবং "রম_ ফ্ল্যাশ ড্রাইভ থেকে ব্যাকআপ তৈরি করুন" বোতামে ক্লিক করুন:

আমরা আগের ধাপে প্রাপ্ত ROM_0 নির্বাচন করি এবং লগ উইন্ডোতে আমরা নিচের মত কিছু দেখতে পাই:

— কম্পিউটারে ফোল্ডার সংরক্ষণ করুন: E:\Android\MtkDroidTools\backups\KINGSING_S1_141117_ForFlashtoolFromReadBack_150512-005322\
- স্ক্যাটার ফাইলে সংরক্ষিত হয়েছে:
E:\Work\Megaphone Login Plus\MtkDroidTools\backups\KINGSING_S1_141117_ForFlashtoolFromReadBack_150512-005322\MT6582_Android_scatter.txtকপি করা সম্পন্ন হয়েছে
- preloader.bin... কপি করা হয়েছে... কাট ঠিক আছে
- MBR...কপি করা হয়েছে
- EBR1...কপি করা হয়েছে
- pro_info ...কপি করা হয়েছে
- nvram.bin...কপি করা হয়েছে
- protect_f ...কপি করা হয়েছে
— protect_s...কপি করা হয়েছে
-seccfg...কপি করা হয়েছে
- uboot.bin...কপি করা হয়েছে
- boot.img ...কপি করা হয়েছে

ভাল, ইত্যাদি এখন সেভ ফোল্ডারে, আমার জন্য এটি হল E:\Android\MtkDroidTools\backups\ আমাদের ফার্মওয়্যারের সম্পূর্ণ ব্যাকআপ সহ একটি ফোল্ডার রয়েছে, বিভাগগুলিতে বিভক্ত (যেমন, একটি পৃথক ফাইলে প্রতিটি বিভাগ):

এটি ব্যাকআপ ফার্মওয়্যার তৈরির প্রক্রিয়া সম্পূর্ণ করে। আপনি যদি শুধু এসপি ফ্ল্যাশ টুল ব্যবহার করে ব্যাকআপ ফার্মওয়্যার কীভাবে তৈরি করবেন তা খুঁজে বের করতে চান এবং আপনি সফল হন, তাহলে আপনাকে আর পড়তে হবে না।

উন্নত জন্য

এমটিকে ড্রয়েড টুলস ফোনটি "দেখতে" না পারলে কী করবেন? অথবা একটি স্ক্যাটার ফাইল তৈরি করা বা ফলস্বরূপ ROM_0 ফাইলটিকে ভাগে ভাগ করা কি অসম্ভব? কিভাবে একটি পার্টিশন মানচিত্র পাবেন এবং ROM_0 ফাইলটি ম্যানুয়ালি "কাট" করা কি সম্ভব? এমন সম্ভাবনা আছে। MTK 65xx-এ একটি পার্টিশন ম্যাপ পেতে আপনাকে ADB কনসোলে একটি কমান্ড দিতে হবে - যেমন কনসোলে adb শেল চালান এবং সেখানে এই কমান্ডটি টাইপ করুন:

যদি হঠাৎ কোনো কারণে ফোনটি ADB-এর মাধ্যমে দৃশ্যমান না হয় (এই ক্ষেত্রে, আমি আপনাকে ADB ম্যানুয়ালটি পড়ার পরামর্শ দিচ্ছি, ডিভাইসের VEN_ID-এর সাথে একটি সমস্যা হতে পারে এবং আপনাকে কেবল এটি নিবন্ধন করতে হবে %USERPROFILE%\.android\adb_usb.ini, তারপর Google Play থেকে Android এর জন্য টার্মিনাল এমুলেটর ইনস্টল করে ফোনেই একই কমান্ড দেওয়া যেতে পারে:

আপনি দেখতে পাচ্ছেন, ফলাফলটি হুবহু একই এবং ক্যাশে বিভাগের লিনিয়ার_স্টার্ট_এড্রেস এখান থেকে নেওয়া যেতে পারে। হ্যাঁ, যাইহোক, নতুন ডিভাইসগুলিতে, উদাহরণস্বরূপ MTK 6752 এর উপর ভিত্তি করে, যেমন Beeline Pro, ZTE Q Lux, ইত্যাদি। বিভাজন মানচিত্র cat/proc/partinfo ব্যবহার করে প্রাপ্ত করা যেতে পারে। MTK Droid Tools এই ডিভাইসগুলির সাথে মোটেও কাজ করে না।

আমাদের কাছে এখন ক্যাশে বিভাগের শুরুর ঠিকানা পাওয়ার জন্য একটি পদ্ধতি রয়েছে, যা SP ফ্ল্যাশ টুল ব্যবহার করে ROM_0 পেতে প্রয়োজন। আমরা প্রতিটি পার্টিশনের ঠিকানা (অফসেট) এবং আকারও জানি। সেগুলো. ROM_0 কে পার্টিশনে "কাট" করতে, আমাদের MTK Droid টুলস ব্যবহার করতে হবে না। এটি যেকোন হেক্স সম্পাদকে ম্যানুয়ালি করা যেতে পারে যা একটি ফাইলে একটি ব্লক নির্বাচন এবং সংরক্ষণ করার ফাংশনকে সমর্থন করে (আমি কনসোল HIEW ব্যবহার করি)। ভাল, একটি উদাহরণ হিসাবে, আসুন ফলস্বরূপ ROM_0 ফাইল থেকে রিকভারি পার্টিশনটিকে "কাট আউট" করি।

আমরা জানি (স্ক্যাটার বা ডুমচার_ইনফো থেকে) এর লিনিয়ার_স্টার্ট_অ্যাডির: 0x4180000 এবং পার্টিশন_সাইজ: 0x1000000। HIEW এ ROM_0 খুলুন এবং 0x4180000 এ যান। সেগুলো. কনসোলে আমরা hiew32 ROM_0 তৈরি করি, তারপর F5 টিপুন এবং পার্টিশনের শুরুর ঠিকানা লিখুন - 4180000:

আপনি 4180000 থেকে দেখতে পাচ্ছেন যে আমাদের কাছে ANDROID! স্বাক্ষর রয়েছে, যা আমাদেরকে বলে যে আমরা সঠিক পথে আছি 😉 পার্টিশন ঠিকানার শেষটি আমাদের ক্ষেত্রে linear_start_addr+partition_size-1 = 0x517FFFF হিসাবে গণনা করা হয়। ব্লক নির্বাচন করা শুরু করতে আমরা HIEW * (অতিরিক্ত কীবোর্ডের তারকাচিহ্ন) এ টিপুন (যদি আমরা তীরগুলিকে উপরে/নীচে/ডানে/বামে স্থানান্তরিত করি, আমরা দেখতে পাই যে ব্লকটি কীভাবে রঙে হাইলাইট হতে শুরু করে) এবং হয় 0x517FFFF-এ নেমে যাই। , অথবা এটি F5 এর মাধ্যমে করুন:

এবং আমরা আবার "ধূসর" * (অতিরিক্ত কীবোর্ডে) ব্যবহার করে ব্লক নির্বাচন করা শেষ করি। এর পরে, F2 টিপুন - ব্লক রাখুন (ব্লকটিকে একটি ফাইলে সংরক্ষণ করা হচ্ছে):

এবং পুনরুদ্ধার বিভাগআমরা এটি রেকর্ড করেছি। একইভাবে, আপনি ROM_0 থেকে অন্য কোনো পার্টিশন কাটতে পারেন। আপনি যেমন বুঝেছেন, আমাদের মোটেও MTK Droid টুলের প্রয়োজন নেই।

পদ্ধতিটি সহজ করার জন্য, আপনি একটি স্ক্রিপ্ট/প্রোগ্রামও লিখতে পারেন যা সমস্ত বিভাগের জন্য স্বয়ংক্রিয়ভাবে এটি করবে, কিন্তু সত্যি কথা বলতে, আমার কাছে এর জন্য পর্যাপ্ত সময় নেই এবং এই কাজটি প্রায়শই হয় না, তাই HIEW বেশ এই উদ্দেশ্যে যথেষ্ট।

পুনশ্চ. আপাতত এতটুকুই... পোস্টটি একটি "খসড়া সংস্করণ" হয়ে উঠেছে, কারণ... আমি তাড়াহুড়ো করে লিখেছি, কোনো অস্পষ্ট বিষয় থাকলে হয়তো পরে যোগ করব। এবং অবশ্যই, বরাবরের মতো, আমি আপনার মন্তব্য এবং প্রশ্নের উত্তর দেব...

পিপিএস যেহেতু তারা আমাকে কিছুটা সংশোধন করতে পেরেছে, /proc/dumchar_info-এ স্ক্যাটার থেকে linear_start_addr নেই, কিন্তু শারীরিক_start_addr রয়েছে। সেগুলো. পুনরুদ্ধার পার্টিশনের জন্য দেওয়া উদাহরণে আমাদের আছে:

linear_start_addr: 0x4180000
শারীরিক_শুরু_অ্যাডির: 0x2D80000
partition_size: 0x1000000

এবং /proc/dumchar_info-এ আমরা স্টার্টঅ্যাডর কলামে ঠিক শারীরিক_start_addr দেখতে পাই। কিন্তু আমরা যদি প্রথম পার্টিশনের (প্রিলোডার) সাইজ দেখি, তাহলে এটা পরিষ্কার হয়ে যায় কিভাবে ফিজিক্যাল_স্টার্ট_এডিআরকে লিনিয়ার_স্টার্ট_এডিআর-এ রূপান্তর করা যায়; যদি আপনি 0x1400000 থেকে 0x2D80000 যোগ করেন (এটি প্রিলোডারের আকার ঠিক), তাহলে আপনি 0x4180000 পাবেন।

বিষয়ে প্রকাশনা