اشکال زدائی ویندوز 2000 و XP ( بخش دوم )
اشکال زدائی ویندوز 2000 و XP ( بخش دوم )
در بخش اول به اولین مرحله راه اندازی سیستم که در اکثر کامپیوترهای شخصی با پردازنده های اینتل و سازگار با آن مشابه می باشد ، اشاره گردید . در این بخش به بررسی سایر مراحل خواهیم پرداخت .
مرحله دوم : مقدار دهی و عملیات اولیه سیستم ( Initial start-up phase )
پس از تشخیص درایوی که می بایست از طریق آن سیستم عامل در حافظه مستقر گردد ( این اولویت می تواند شامل فلاپی دسیک ، هارد دسیک ، CD-ROM ، کارت شبکه و یا کنترل کننده های SCSI باشد ) ، در ادامه اقدامات لازم جهت استقرار سیستم عامل در حافظه انجام می شود .
در صورتی که سیستم از طریق هارد دیسک راه اندازی می گردد ، اولین سکتور موجود بر روی آن که به MBR
معروف است ، در حافظه مستقر خواهد شد . سکتور فوق شامل یک برنامه کوچک و
جدولی برای تعریف پارتیش های اولیه است ( جدول پارتیشن ) . با استفاده از
کد موجود در این سکتور که هم اینک در حافظه اصلی سیستم مستقر شده است ،
پارتیش فعال ( Active Partition) شناسائی می
گردد . در ادامه اولین سکتور پارتیش فوق از روی هارد دیسک خوانده شده و
در حافظه مستقر و کنترل به وی سپرده می شود . کد موجود در بوت سکتور بسیار
اندک بوده و صرفا" مسئولیت ارائه اطلاعات لازم به منظور شناخت فرمت
پارتیشن جهت استقرار تعداد اندکی از فایل های مهم موجود در فهرست ریشه را
برعهده دارد ( نظیر فایل NTLDR ) .
برای استقرار سیستم عامل ویندوز 2000 و XP در حافظه به امکانات حیاتی زیر نیاز می باشد :
یک حافظه جانبی ( نظیر هارد دیسک ) که بر روی آن سیستم عامل موجود باشد .
در صورتی که درایو مورد نظر هارد دیسک باشد ، یک جدول پارتیشن که در آن پارتیشن فعال مشخص شده باشد .
بوت سکتور پارتیشن فعال که فرمت پارتیشن را مشخص می نماید.
فایل NTLDR در فهرست ریشه پارتیشن فعال
در صورتی که هر یک از امکانات اشاره شده موجود نباشد ، مراتب از طریق نمایش یک پیام خطاء به کاربر اعلام می گردد . پیام های زیر نمونه هائی در این زمینه می باشد که با توجه به عدم وجود هر یک از امکانات اشاره شده ، نمایش داده می شوند :
invalid partition table |
مرحله سوم : فعال شدن برنامه اولیه بوتینگ ( Boot loader phase ) پس از این که کنترل به NTLDR واگذار گردید ، وی فرآیند استقرار سیستم عامل ویندوز 2000 و یا XP را آغاز می نماید :
تغییر حالت حافظه از Real به 32 بیت : پردازنده های اولیه x86 ، هشت و یا شانزده بیتی و با توانائی آدرس دهی محدودی بودند. پردازنده های جدید و سازگار X86 ، همچنان دراین mode و به منظور سازگاری با مدل های قدیمی عملیات خود را آغاز می نمایند ، ولی قادر به آدرس دهی حافطه بیشتری می باشند . اولین چیزی که XP انجام خواهد داد ، سوئیچ از Real mode به Protect Mode می باشد ( افزایش میزان فضای آدرس دهی حافظه ) .
-
استقرار فایل Boot.ini در حافظه : Boot.ini ، یک فایل مقداردهی اولیه است که در نسخه های ویندوز NT ، 2000 و XP از آن استفاده می گردد . این فایل همواره در فهرست ریشه هارد دیسک primary وجود دارد . با استفاده از فایل فوق آدرس هر یک از سیستم های عامل نصب شده بر روی کامپیوتر و سیستم عامل پیش فرض مشخص می گردد . در زمان راه اندازی سیستم ، کاربران می توانند از طریق منوی مربوطه یکی از سیستم های عامل نصب شده بر روی سیستم خود را برای استقرار در حافظه انتخاب نمایند . کد زیر محتویات یک فایل نمونه boot.ini را نشان می دهد :
[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect
همانگونه که مشاهده می گردد ، فایل Boot.ini از دو بخش boot Loader و operationg system ، تشکیل شده است . در بخش اول با استفاده از پارامتر timeout ، مدت زمان نمایش منو راه اندازی سیستم و با استفاده از پارامتر default ، سیستم عامل پیش فرض به منظور راه اندازی سیستم مشخص شده است . سیستم عامل مورد نظر ( Windows 2000 Professional ) در دایرکتوری WINNT موجود و بر روی پارتیشن اول هارد دیسک شمار صفر نصب شده است .
در صورتی که چندین سیستم عامل بر روی کامپیوتر نصب شده باشد ، آدرس هر یک از آنان در بخش دوم ( operating system ) مشخص می گردد .
نمایش منو انتخاب سیستم عامل : در صورتی که چندین سیستم عامل بر روی کامپیوتر نصب شده باشد ، در زمان راه اندازی سیستم یک منو نمایش داده می شود که کاربران می توانند از طریق آن سیستم عامل مورد نظر جهت استقرار در حافظه را انتخاب نمایند. در صورتی که پس از گذشت مدت زمان مشخص شده توسط پارامتر timeout ، گزینه ای انتخاب نگردد ، سیستم عامل پیش فرض ( مشخص شده توسط پارامتر default ) به صورت اتوماتیک انتخاب و در حافظه مستقر خواهد شد . کد زیر محتویات فایل Boot.ini کامپیوتری را که بر روی آن سه نوع سیستم عامل متفاوت نصب شده است را نشان می دهد :
[boot loader] |
فعال کردن درایور SCSI در صورت نیاز : در صورتی که هارد دیسک تعریف شده در فایل Boot.ini از نوع SCSI باشد ، در ادامه NTLDR یک درایو اضافه دیگر با نام NTboot.sys را فعال تا مسئولیت مقداردهی اولیه و گفتگو با کنترل کننده SCSI را برعهده گیرد .
مرحله چهارم : تشخیص و پیکربندی سخت افزارهای نصب شده ( Hardware detect and configure ) پس از استقرار NTLDR در حافظه ، فایل NtDetect.com از فهرست ریشه پارتیشن مربوطه در حافظه مستقر و اجراء می گردد . در ویندوز NT و 2000 پیامی با این مفهوم که سیستم در حال بررسی سخت افزار است، نمایش داده می شود ( NT Detect: checking hardware ) . برنامه فوق بررسی اولیه سخت افزارهائی نظیر موس ، صفحه کلید ، آداپتورهای کارت گرافیک و دسیک ها را انجام داده و در ادامه جزئیات مربوطه را در اختیار NTLDR قرار می دهد. در ادامه ، hardware extraction layer در حافظه مستقر خواهد شد ( قبل از استقرار فایل NtosKernel.exe موجود در فهرست systemroot\system32 و سپردن کنترل به وی ) .
مرحله پنجم :استقرار هسته سیستم عامل در حافظه ( Kernal load ) در این مرحله هسته سیستم عامل در حافظه مستقر و عملیات زیر را انجام خواهد داد :
-
ntoskernel.exe ، فایل systemroot\system32\config\system را در حافظه مستقر و کلید ریجستری زیر را ایجاد و اطلاعات مرتبط با آن خوانده می شود . کلید ریجستری زیر دارای زیر کلید های متعددی نظیر Last Know Good , Failed و Default می باشد که در ادامه فرآیند booting مقادیر یکی از کلید ها می تواند انتخاب گردد .
HKEY_LOCAL_MACHINE\SYSTEM
-
هسته در ادامه با استفاده از اطلاعات برگردانده شده توسط NtDetect ، کلید ریجستری زیر را که شامل جرئیات اطلاعات مربوط به سخت افزارهای مختلف و منابع تخصیص داده شده است را ایجاد می نماید . همزمان با استقرار هسته سیستم عامل در حافظه ، پیشرفت عملیات در انتهای صفحه نمایش داده می شود.
HKEY_LOCAL_MACHINE\HARDWARE
-
در ادامه و در صورت ضرورت، سرویس های متفاوت سیستم که در کلید ریجستری زیر مشخص می گردند فعالیت خود را آغاز می نمایند .
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\servicename
پس از انجام مراحل فوق ، هسته سیستم عامل فایل smss.exe را مقداردهی اولیه می نماید . فایل فوق ، مسئولیت نسبت دهی متغیرهای محیطی ، سوئیچ از حالت متن به گرافیک و اجرای فایل winlogon.exe را برعهده دارد .
مرحله ششم :ورود به سیستم ( Logon ) در
آخرین مرحله ، ( services subsystem (SCM و ( local security authority
(LSA فعال و سیستم در انتظار فشردن کلیدهای CTRL+ALT+DEL می ماند . پس
از فعال شدن کلیدهای فوق و درج نام و رمز عبور ، اطلاعات دریافتی به
منظور تائید در اختیار LSA قرار داده می شوند. در صورت تائید کاربر ، SCM اقدام به فعال کردن درایورها در حین اجرای winlogin می نماید .
پس از انجام موفقیت آمیز login ، مقادیر موجود در کلید دریحستری Last Known Good بهنگام می گردند .