Managing Boot Process in windows
در اینجا می خواهیم مراحل بوت ویندوز را باهم بررسی کنیم. یعنی از زمان فشار دادن دکمه پاور بر روی کیس تا بالا آمدن ویندوز چه سلسله اتفاقاتی می افتد تا ویندوز بالا بیاید؟
1. CPU سیستم به کد موجود در BIOS که نشانگر ویژگی هست به نام POST اشاره می کند. POST انجام می شود.
POST مخفف Power On Self Test هست. یک جور تست سخت افزاری قطعاتی مثل رم و کارت گرافیک و... که پس از اطمینان از سالم بودن آنها یک Beep کوتاه می زند.
بعبارت دقیق تر دکمه پاور که فشار داده می شود ، CPU روشن می شود، صفحه مشکی BIOS نمایش داده می شود، بعد از صفحه BIOS ، وقتی می خواهد سوئیچ کند به صفحه دوم، POST انجام می شود.
اگر می خواهید بدانید معنای بوق هایی که در مرحله اجرای POST به صدا در می آیند چیست، اینجا را بخوانید.
2. سپس سیستم کد موجود در BIOS ،به 512 بایت اول هارد اشاره می کند که اصطلاحا به آن MBR می گویند.
MBR مخفف Master Boot Record هست به معنای رکورد راه انداز اصلی، اولین سکتور از هارد هست که اطلاعات پارتیشن ها بر روی آن قرار دارد و در آن مشخص شده که کدام درایو Active هست. اولین سکتور(512 بایت اول ) از درایو Active ، بوت سکتور می گویند.
3. بوت سکتور مانند یک برنامه اجرا می شود و همزمان با اجرا شدن خود برنامه دیگری به نام Windows Boot Manager را اجرا می کند، که در XP به نام NTLDR هست و در 7 به نام BootMGR.
4. بعد از آن ویندوز را ntldr بوت می کند. (البته در ویندوز XP و کلا ویندوزهای Legacy ) و در ویندوز های NG ویندوز را BootMGR بوت می کند. NTLDR مخفف New Technology Loader هست.
نکته ای که در اینجا لازم هست که بگم این هست که گاهی اشتباها فایل ntldr موجود در درایو C پاک می شود.و هنگام روشن کردن سیستم با اخطار ntldr is missing مواجه می شوید و ویندوز بالا نمی آید.
راه حل بسیار ساده ای دارد. کافی است 3 گام زیر را انجام دهید.
الف. Cd ویندوز را داخل دستگاه قرار دهید و بوت را بر روی cd-rom بگذارید.
ب. سپس پس از بالا آمدن با cd ویندوز حرف r را بزنید تا وارد محیط repair بشوید.
ج. سپس با دستور زیر فایل ntldr را در درایو c کپی کنید.فرض کنید درایو H درایوی است که CD ویندوز در داخل آن قرار دارد.
C:\windows>cd ..
C:\>copy h:\i386\ntldr c:
دقت کنید که فایل را حتما باید در روت درایو C کپی کنید و در پوشه دیگری کپی نکنید. پس از پایان کپی دستور DIR را اجرا کنید که مطمئن شوید که فایل کپی شده است. این داستان برای فایل های دیگر هم کاربرد دارد.
اما برای BOOTMGR که برای ویندوزهای NG مثل 7 هست ، روش کار کمی متفاوت هست. باید CD ویندوز 7 را بگذاریم و وارد همان پنجره معروف Recovery Options بشویم و بر روی Startup Repair کلیک کنیم. البته می توانیم در همان پنجره Recovery Options بر روی Command Prompt کلیک کنیم و دستور زیر را وارد کنیم.
C:\> bootrec /fixboot
5. وقتی BootMGR و یا NTLDR اجرا می شود ،پردازنده از حالت Real Mode به حالت Protected Mode تغییر وضعیت می دهد.در این حالت سیستم عامل توان اجرا شدن پیدا می کند.یعنی تازمانی که BootMGR اجرا نشده بود CPU در حالت Real Mode قرار داشت و سیستم عامل فقط به 640 کیلوبایت اول رم دسترسی داشت اما با اجرا شدن BootMGR ، سیستم عامل به تمام حافظه رم میتواند دسترسی داشته باشد. پس:
Protected Mode: حالتی است که سیستم عامل به تمام حافظه رم دسترسی دارد.
Real Mode: حالتی است که سیستم عامل به 640 کیلوبایت ابتدای رم دسترسی دارد.
6. حال BootMGR محتویات فایلی به نام BCD را می خواندو اگر چند سیستم عامل باشد، اسامی سیستم عامل ها را به کاربر نشان می دهد تا انتخاب کند. معادل BCD در ویندوز های Legacy فایل Boot.ini هست، که در ریشه درایو C قرار دارد.
BCD مخفف Boot Configuration Data هست.
7. در ویندوزهای Legacy در این مرحله NTLDR ، فایل NTdetect را فراخوانی می کرد که کار آن این بود که اطلاعات کلی درباره سخت افزار را از بایوس می گرفت و به NTLDR تحویل می داد.
8. حال NTLDR و یا BootMGR ، بعد از انتخاب یک سیستم عامل توسط کاربر، کرنل و یا هسته مربوط به آن سیستم عامل را فراخوانی می کند. نام فایل کرنل ntoskrnl.exe هست. همینطور Hall.dll را هم به همراه کرنل فراخوانی می کنند.
HAL مخفف Hardware Abstraction Layer هست.رابط بین کرنل و سخت افزار هست. بعبارت ساده تر ، کرنل وقتی می خواهد با سخت افزار حرف بزند از HAL استفاده می کند.
کرنل فایلی به نام smss.exe که مخفف Session Manager SubSystem را اجرا می کندو توسط این فایل مقداردهی اولیه می شود.
9. تمامی سخت افزار ها با کانفیگشان شناسایی شده و در مسیر
HKEY_Local_Machine>Hardware
تنظیماتشان ثبت می گردد.
10. حال پروسه لاگ آن به ویندوز توسط فایلی به نام Winlogon شروع می شود. همان صفحه welcome که از شما یوزرنیم و پسورد می خواهد. بعد از آن explorer.exe اچرا می شودو سپس سخت افزارها شروع به شناسایی می شوند.
در این مرحله درایورهای سخت افزاری ، همزمان با Logon به ویندوز لود می شوند. تمامی سخت افزارها که ویژگی Plug & Play داشته باشند شناسایی می شوند. و اگر سخت افزار جدیدی پیدا کند که درایور آن موجود نباشد ، صفحه Found New Hardware نمایش داده می شود.
با هم ده گام را از زمان فشاردادن دکمه پاور کیس تا زمان ورود به ویندوز XP ، شمردیم. یکی از منابع خوبی که به دقت مراحل بوت را برای ویندوزهای Legacy بررسی کرده و به زبان فارسی هم هست ، اینجا و به زبان انگلیسی اینجاست.
اگر شما مطالب جدیدتری داشتید، و می توانستید در کامل کردن بحث به من کمک کنید ، لطفا دریغ نکنید، من حتما با نام خود شما این مطالب را در وبلاگ قرار خواهم داد. موفق باشید.
پایان جلسه بیستم
موضوعات مرتبط: آموزش شیکه Mcitp