پارتیشن در گوشی های اندرویدی

نویسنده: رضا رجب دوست
بازدید: 4030 نفر
به روز رسانی:

پارتیشن در گوشی های اندرویدی

پارتیشن در گوشی اندروید چیست و از چه اجزایی تشکیل شده است؟

موضوع پارتیشن به ما کمک میکند برای اینکه بفهمیم کاری که داریم بر روی گوشی انجام میدهیم در کدام پارتیشن تغییرات را  اعمال میکند و وظایف هر یک را برای ما شرح میدهد.
گوشی های اندرویدی تشکیل شده از ده ها پارتیشن هست بنده در این قسمت به پارتیشن هایی میپردازم که در تمامی دیوایس های اندرویدی بکار برده شده همینطور برای درک بهتر مثال ها میتوانید هر یک از کرنل ها و فایل های سیستمی که در این قسمت توضیح میدهیم توسط نرم افزار gsd android tool استخراج کنید . ممکنه در برندی پارتیشن متفاوت هم وجود داشته باشه که قطعا عجله ای نیست بنده در قسمت های بعدی به تشریح هر یک از فایل های موجود در رام میپردازم.

تمامی پارتیشن های مطرح شده فایل مخصوصی در رامشون دارند به عنوان مثال در این قسمت به پارتیشن های System , Data , Cache , Boot , Recovery پرداخته شده این پارتیشن ها با این نام در تمامی رام های گوشی وجود دارند. مثلا در سامسونگ اگر فایل tar.md5 رو توسط 7zip باز کنید و یا رام های سونی را توسط وینرار باز کنید و یا هوآوی ها را توسط اکسترکتور مخصوص خودشون باز کنید تمامی این فایل ها را مشاهده خواهید کرد.

 

وقتی گوشی را روشن میکنیم چه اتفاقی می افتد؟

  • بوتلو در ابتدا بارگزاری می شود.(فایل های مربوط به بوتلودر رام گوشی که رایت شده اگر این فایل ها مشکل دار باشد و با سخت افزار دستگاه ناسازگار باشد گوشی قطعا عکس العملی نشون نخواهد داد که در این مواقع نیاز به جیتگ گوشی هست)
  • بوتلو در هارد گوشی را بر حسب پارتیشن ها اولویت بندی میکند.
  • بوتلو در کرنل های ایمیج را بارگزاری میکند که شامل کرنل boot ,recovery,ramdisk و … هستند
  • کرنل ها در حافظه دستگاه استخراج شده
  • سپس دستگاه فایل های init را بارگزاری میکند فایل های init در دستگاه های قدیمی از روت گوشی بارگزاری میکند که این فایل ها معمولا در کرنل boot گوشی قرار دارد و در دستگاه های جدید آنها را از پارتیشن سیستم دستگاه لود میکنند.
  • پس از بارگزاری init ها دستگاه شروع میکنه به اجرای آنها و سپس مونت کردن یا نصب پارتیشن های مختلف و اجرای کدهای سیستمی برای شروع دستگاه.

 

شرح پارتیشن بوت / boot و فایل boot.img

وظیفه پارتیشن بوت

این پارتیشن تشکیل شده از محتوای ramdisk و کرنل هست که وظیفه آنها بوت کردن تمامی داده های موجود در دستگاه اندرویدی هست در صورتی که این پارتیشن معیوب باشد قطعا گوشی بوت نخواهد شد در برخی از برندها با معیوب بودن این پارتیشن با استفاده از فلش گوشی حل می شود و در برخی برندها هم ممکن است معیوب بودن این پارتیشن به بوتلودر گوشی هم آسیب وارد کند و باعث هارد بریک گوشی شود.
ساختار کرنل boot.img

 

RAMDISK
همانطوری که عرض کردم اگر کرنل boot.img را توسط ابزار ها استخراج کنیم به پوشه ramdisk میرسیم در دایرکتوری ramdisk فایل هایی وجود دارد که در گوشی نقش های حیاطی یک گوشی را بازی میکنند . محتوای ramdisk در روت گوشی قرار میگیرد. اگر هر یک از فایل های متنی که در این کرنل وجود دارد رو باز کنیم دستورات لینوکسی استاندارد را مشاهده خواهیم کرد این فایل ها تشکیل شده از دستورات استاندارد لینوکسی هست فایل های موجود در ramdisk که با نام های مختلف ذخیره شده اند هر کدام وظایف خاصی دارند به عنوان مثال برخی از این فایل ها دستورات برای اعمال دسترسی ها ، ساخت پارتیشن ها ، انتقال قسمتی از فایل به قسمی دیگر و … قرار داده شده است در بسیاری از این فایل ها داکیومنت مربوط به خودش را با استفاده از تگ # درج شده و وظیفه ، کارایی هر یک از قسمت های کد رو مشخص کردند.در صورتی که با دستورات لینوکسی آشنایی داشته باشید میتوانید عملکرد دیگر دستورات رو تشخیص بدید و همینطور دستورات جدید برای اعمال تغییرات دلخواه رو به هر یک از این فایل ها اضافه کنید.

Kernel
در تمامی فایل های ایمیج recovery.img,boot.img کرنل وجود دارد که تشکیل شده از فایل های zImage, zImage-dtb, Image.gz-dtb هستند پس از رایت و بوت شدن دستگاه این فایل ها جایگزین فایل های قبلی موجود در emmc دستگاه می شود.در صورت ناسازگاری کرنل با دستگاه ، بوتلودر میتواند با استفاده از یک خطا آنها را کنار بزند به همین خاطر هست که به هنگام رایت بوت ناسازگار یا نسخه پایین با خطایی مواجه هستیم یا در صورت رایت شدن هم دستگاه بوت نخواهد شد.

[echo]topandlt;div style=topandquot;border-radius: 30px; margin: 10px; padding: 10px; background-color: #d5ebfe; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#d5ebfe , endColorstr=#dbeeff); background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#d5ebfe), to(#dbeeff)); border: 1px solid #cee1ef;topandquot;topandgt; topandlt;div style=topandquot;background: url) right center no-repeat; padding-right: 50px; min-height: 40px;topandquot;topandgt; برای ادامه مطالب در مورد پارتیشن در گوشی های اندرویدی به لینک زیر مراجعه کنید.

پارتیشن در گوشی های اندرویدی topandlt;/divtopandgt; topandlt;/divtopandgt;[/echo]


نظرتان را به اشتراک بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *