اطلاعیه

بستن
No announcement yet.

Mbr چست و چگونه از آن پشتیبان تهیه کنیم

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    Mbr چست و چگونه از آن پشتیبان تهیه کنیم

    MBR مخفف Master Boot Record که 512 بایت اول رسانه ذخیره سازی می باشد و از سه بخش Boot Loader,Table Partitions و Magic Number تشکیل شده است. MBR به عنوان اولین سکتور رسانه ذخیره سازی برای Bootloader سیستم عامل رزرو شده و اطلاعات پارتیشن ها روی آن قرار دارد و فرایند راه اندازی سیستم از اینجا اغاز می شود. وقتی سیستم را روشن می کنید ابتدا BIOS اغاز به کار می کند. BIOS برنمه ایست که قبل از هر عملی به بررسی سخت افزار ها می پردازد و چک می کند که آیا سخت افزار ها قابل استفاده هستد یا نه که اصطلاحا به این عمل POST یا Power On Self Test می گویند و همچنین بررسی می کند که اولویت بوت شدن سیستم از کدام رسانه است. (BIOS برنامه ای مقیم در حافظه ROM سیستم می باشد.). درواقع BIOS به دنبال Bootloader در MBR بر روی اولین پارتیش اولین دیسک (رسانه ذخیره سازی) سازماندهی شده می گردد و سپس بوت لودر را اجرا می کند. سپس بوت لودر جدول پارتیشن ها را می خواند و سیستم عامل (هسته سیستم عامل) را در حافظه اصلی لود می کند و تا مادامی که سیستم روشن باشد ( یا Restart نشود) کرنل یا هسته سیستم عامل در حافظه اصلی باقی می ماند. می توانید فرایند بوت شدن سیستم عامل لینوکس را از اینجا بخوانید.

    برای بزرگتر شدن عکس روی آن کلیک کنید  نام:	mbr.jpg نمایش ها:	1 اندازه:	19.7 KB شناسه:	18335

    شکل بالا نمایی از ساختار (ساختمان داده) MBR می باشد که 466 بایت اول آن برای نگه داری Bootloader و 64 بایت بعدی مربوط به نگه داری جدول پارتیشن ها و دو بایت Magic Number است. 64 بایت مربوط به جدول پارتیشن برای 4 پارتیشن Primary است که هر کدام 16 بایت هستند و هر کدام دارای 6 فیلد که در شکل بالا نشان داده شده است. Magic Number عددی است هگزا دسیمال با مقدار OxAA55 که نشانه کلاسه یک Valid MBR می باشد. یک Invalid Magic Number نشان دهنده مشکل یا از دست رفتن MBR می باشد. زمانی مه هر بخشی از MBR دچار مشکل شود یا اینکه از دست برود، سیستم دیگر قابل راه اندازی نیست. پس نگه داری یک نسخه پشتیبان از این بخش از اولین پارتیشن اولین دیسک بسیار مهم و ضروری می باشد.

    MBR Total Size = 446 + 64 + 2 = 512

    Bootstrap = 466 byte

    Partition Table = 4*16 byte

    Magic Number = 2 byte


    گرفتن پشتیبان از MBR :
    گرفتن پشتیبان از MBR از دو جهت انجام می شود. آیا می خواهید از 446 بایت اول پشتیبان تهیه شود یا می خواهید از 512 بایت اول پشتیبان تهیه شود. که در حالا اول MBR Boot Code Backup گفته می شود و باید در یک فایل ذخیره شود ولی در حالت دوم که MBR Full Backup گفته می شود.
    اگر می خواهید پشتیبان تهیه شده از دیسکی را به دیسک دیگر Restore کنید، دو دیسک (دیسک اول که می خواهیم از MBR آن پشتیبان تهیه کنیم sda و دیسک دوم که می خواهیم MBR تهیه شده را در آن جایگزین و Restore کنیم sdb نام دارند) باید تنها، پارتیشن های دقیقن هم اندازه (هم Size) داشته باشند. اگر MBR تهیه شده را در دیسکی با اندازه پارتیشن های متفاوت Restore کنید، باعث بروز مشکلات و غیر قابل خوانده شدن داده ها می شود و تقریبا غیر قابل Recover کردن می باشد. به هر حال از دستور dd که در تمامی توزیع های لینوکسی و در تمامی سیستم عامل های یونیکسی (لینوکس، سولاریس، مکینتاش و بی اس دی ها) وجود دارند. در هر دو حالت پشتیبان که گفته شد، مقدار count در دستور dd برابر یک (1) می باشد.

    بازنویسی کل MBR از دیسکی به دیسکی دیگر با پارتیشن های هم اندازه :
    باید از کل 512 بایت یک پشتیبان تهیه کنیم و آنرا در دیسکی دیگر ذخیره کنیم.

    کد PHP:
    dd if=/dev/sda of=/dev/sdb bs=512 count=
    دستور بالا برای دو دیسک با پارتیشن های هم اندازه، یک نسخه از کل MBR اولین دیسک تهیه می کند (مقدار bs=512) و آنرا در اولین پارتیشن دیسک sdb بازنویسی یا Restore می کند.

    بازنویسی MBR از دسیکی به دیسک دیگر با پارتیشن های غیر هم اندازه :
    می توانیم از کل 512 بایت دیسک sda یک پشتیبان در یک فایل تهیه کرد و سپس تنها و تنها 446 بایت اول از این فایل را در دیسک دیگر Restore نمود.

    کد PHP:
    dd if=/dev/sda of=/tmp/mbrsda.bak bs=512 count=
    و با دستور دیگر 446 بایت اول را در دیسک sdb بازنویسی یا Restore می کنیم.

    کد PHP:
    dd if=/tmp/mbrsda.bak of=/dev/sdb bs=446 count=
    ایجاد پشتیبان از MBR و بازنویسی آن برای یک دیسک :
    منظور این است که از 512 بایت اول (اولین سکتور)، اولین پارتیشینِ، اولین دیسک که MBR روی آن قرار دارد یک نسخه پشتیبان در فایلی تهیه کنیم و در صورت بروز مشکلی در آن دیسک، MBR را از روی آن فایل پشتیبان، بازنویسی یا Restore کنیم.

    کد PHP:
    dd if=/dev/sda of=/tmp/mbr-backup bs=512 count=
    و با دستور زیر آنرا Restore کنید.

    کد PHP:
    dd if=/tmp/mbr-backup of=/dev/sda bs=512 count=
    نویسنده نامی امیر
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 01-12-2020, 01:18 AM.

درباره انجمن منطقه لینوکسی ها

انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

شبکه های اجتماعی

ایمیل مدیریت

Habili@linux-zone.org

در حال انجام ...
X