اشكال زدائی ويندوز 2000 و XP ( بخش دوم )
در
Link URL:
لینک و متن درون کدها فقط برای کسانی که ثبت نام کرده اند قابل مشاهده است لطفا وارد شوید OR ثبت نام کنید.
به
اولين مرحله راه اندازی سيستم كه در اكثر كامپيوترهای شخصی با پردازنده های اينتل و سازگار با آن مشابه می باشد ، ‌اشاره گرديد . در اين بخش به بررسی ساير مراحل خواهيم پرداخت .

مرحله دوم : مقدار دهی و عمليات اوليه سيستم ( Initial start-up phase )
پس از تشخيص درايوی كه می بايست از طريق آن سيستم عامل در حافظه مستقر گردد ( اين اولويت می تواند شامل فلاپی دسيك ، هارد دسيك ، CD-ROM ، كارت شبكه و يا كنترل كننده های SCSI باشد ) ، در ادامه اقدامات لازم جهت استقرار سيستم عامل در حافظه انجام می شود .
در صورتی كه سيستم از طريق هارد ديسك راه اندازی می گردد ، اولين سكتور موجود بر روی آن كه به MBR معروف است ،‌ در حافظه مستقر خواهد شد . سكتور فوق شامل يك برنامه كوچك و جدولی برای تعريف پارتيش های اوليه است ( جدول پارتيشن ) . با استفاده از كد موجود در اين سكتور كه هم اينك در حافظه اصلی سيستم مستقر شده است ، پارتيش فعال ( Active Partition) شناسائی می گردد . در ادامه اولين سكتور پارتيش فوق از روی هارد ديسك خوانده شده و در حافظه مستقر و كنترل به وی سپرده می شود . كد موجود در بوت سكتور بسيار اندك بوده و صرفا" مسئوليت ارائه اطلاعات لازم به منظور شناخت فرمت پارتيشن جهت استقرار تعداد اندكی از فايل های مهم موجود در فهرست ريشه را برعهده دارد ( نظير فايل NTLDR ) .
برای استقرار سيستم عامل ويندوز 2000 و XP در حافظه به امكانات حياتی زير نياز می باشد :‌

  • يك حافظه جانبی ( نظير هارد ديسك ) كه بر روی آن سيستم عامل موجود باشد .
  • در صورتی كه درايو مورد نظر هارد ديسك باشد ، يك جدول پارتيشن كه در آن پارتيشن فعال مشخص شده باشد .
  • بوت سكتور پارتيشن فعال كه فرمت پارتيشن را مشخص می نمايد.
  • فايل NTLDR در فهرست ريشه پارتيشن فعال
در صورتی كه هر يك از امكانات اشاره شده موجود نباشد ، مراتب از طريق نمايش يك پيام خطاء به كاربر اعلام می گردد . پيام های زير نمونه هائی در اين زمينه می باشد كه با توجه به عدم وجود هر يك از امكانات اشاره شده ،‌ نمايش داده می شوند :
invalid partition table

missing operating system

NTLDR missing
مرحله سوم : فعال شدن برنامه اوليه بوتينگ ( 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="Microso ft Windows 2000 Professional" /fastdetect

    همانگونه كه مشاهده می گردد ، فايل Boot.ini از دو بخش boot Loader و operationg system ، تشكيل شده است . در بخش اول با استفاده از پارامتر timeout ، مدت زمان نمايش منو راه اندازی سيستم و با استفاده از پارامتر default ، سيستم عامل پيش فرض به منظور راه اندازی سيستم مشخص شده است . سيستم عامل مورد نظر (‌ Windows 2000 Professional ) در دايركتوری WINNT موجود و بر روی پارتيشن اول هارد ديسك شمار صفر نصب شده است .
    در صورتی كه چندين سيستم عامل بر روی كامپيوتر نصب شده باشد ، آدرس هر يك از آنان در بخش دوم ( operating system ) مشخص می گردد .

  • نمايش منو انتخاب سيستم عامل :‌ در صورتی كه چندين سيستم عامل بر روی كامپيوتر نصب شده باشد ، در زمان راه اندازی سيستم يك منو نمايش داده می شود كه كاربران می توانند از طريق آن سيستم عامل مورد نظر جهت استقرار در حافظه را انتخاب نمايند. در صورتی كه پس از گذشت مدت زمان مشخص شده توسط پارامتر timeout ، گزينه ای انتخاب نگردد ، سيستم عامل پيش فرض ( مشخص شده توسط پارامتر default ) به صورت اتوماتيك انتخاب و در حافظه مستقر خواهد شد . كد زير محتويات فايل Boot.ini كامپيوتری را كه بر روی آن سه نوع سيستم عامل متفاوت نصب شده است را نشان می دهد :
[boot loader]
timeout=10
default=multi(0)disk(0)rdisk(0)partition(3)\WINDOW S
[operating systems]
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Micro soft Windows XP Professional" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microso ft Windows 2000 Advanced Server" /fastdetect
C:\="Microsoft Windows"

  • فعال كردن درايور 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\Servic es\servicename
  • پس از انجام مراحل فوق ، هسته سيستم عامل فايل smss.exe را مقداردهی اوليه می نمايد . فايل فوق ، مسئوليت نسبت دهی متغيرهای محيطی ، سوئيچ از حالت متن به گرافيك و اجرای فايل winlogon.exe را برعهده دارد .
مرحله ششم :‌ورود به سيستم ( Logon )
در آخرين مرحله ، ( ‌ services subsystem (SCM و ( local security authority (LSA فعال و سيستم در انتظار فشردن كليدهای CTRL+ALT+DEL می ماند . پس از فعال شدن كليدهای فوق و درج نام و رمز عبور ،‌ اطلاعات دريافتی به منظور تائيد در اختيار LSA قرار داده می شوند. در صورت تائيد كاربر ، SCM اقدام به فعال كردن درايورها در حين اجرای winlogin می نمايد .
پس از انجام موفقيت آميز login ، مقادیر موجود در كليد دريحستری Last Known Good بهنگام می گردند .



از سایت شرکت سخا روش
srco.ir