صرفنظر از این که کامپیوتر شما چگونه تولید شده است و یا نرم افزارهای نصب شده بر روی آن چگونه نوشته شده اند ، همواره احتمال بروز خطاء وجود داشته و ممکن است در آن لحظه امکان دسترسی به کارشناسان برای تشخیص خطاء و رفع مشکل وجود نداشته باشد . آشنائی با فرآیند عیب یابی و برخورد منطقی و مبتنی بر علم با این مقوله می تواند علاوه بر کاهش هزینه ها،صرفه جوئی در مهمترین منبع حیات بشری یعنی زمان را نیز بدنبال داشته باشد .
نرم افزارهای عیب یابی از جمله امکانات موجود و در عین حال بسیار مهم در این زمینه بوده که می توان از آنان به منظور عیب یابی یک کامپیوتر استفاده نمود .
نرم افزارهای عیب یابی
برای عیب یابی کامپیوترهای شخصی تاکنون نرم افزارهای عیب یابی متفاوتی ارائه شده است . برخی از اینگونه نرم افزارها درون سخت افرار کامپیوترهای شخصی ، برخی دیگر درون تجهیزات جانبی ( نظیر کارت های الحاقی ) ، تعدادی دیگر به همراه سیستم عامل و برخی دیگر به عنوان محصولات نرم افزاری مجزائی عرضه شده اند .
* POST ( اقتباس شده از Power On Self Test ) : برنامه فوق پس از روشن کردن هر نوع کامپیوتر شخصی به صورت اتوماتیک اجراء می گردد . روتین های فوق درون حافظه ROM مادربرد و ROM موجود بر روی کارت های الحاقی ذخیره می گردند.
* نرم افزارهای عیب یابی ارائه شده توسط یک تولید کننده خاص : تعداد زیادی از تولید کنندگان معتبر کامپیوتر به منظور عیب یابی کامپیوترهای تولیدی خود ، اقدام به پیاده سازی و عرضه نرم افزارهای عیب یابی مختص سیستم های خود می نمایند .
* نرم افزارهای عیب یابی جانبی : به همراه تعداد زیادی از دستگاه های سخت افزاری ، نرم افزارهای عیب یابی خاصی ارائه می شود که می توان از آنان به منظور تست صحت عملکرد سخت افزار مورد نظر استفاده نمود . به عنوان نمونه آداپتورهای SCSI دارای یک برنامه عیب یابی می باشند که درون حافظه ROM BIOS کارت تعبیه و با فشردن کلیدهای ctrl+A در زمان راه اندازی سیستم، امکان دستیابی و استفاده از آن وجود خواهد داشت . کارت های صدا و شبکه نیز معمولا" به همراه یک برنامه عیب یابی ارائه می گردند که می توان از آنان درجهت تشخیص صحت عملکرد وظایف محوله هر کارت استفاده بعمل آورد .
* نرم افزارهای عیب یابی ارائه شده توسط سیستم عامل : به همراه سیستم های عامل (نظیر ویندوز) ، نرم افزارهای عیب یابی متعددی ارائه شده است که می توان از آنان به منظور شناسائی و مونیتورینگ کارآئی و عملکرد هر یک از عناصر سخت افزاری موجود در کامپیوتر استفاده نمود .
* نرم افزارهای عیب یابی آماده : تعدادی از تولید کنندگان نرم افزار به منظور عیب یابی کامپیوترهای شخصی اقدام به ارائه نرم افزارهای عیب یابی همه منظوره ای نموده اند. هر یک از نرم افزارهای فوق دارای پتانسیل های مختص به خود بوده که می توان با توجه به خواسته خود از آنان استفاده نمود .
برنامه عیب یابی POST
زمانی که شرکت آی.بی. ام در سال 1981 اولین کامپیوترهای شخصی را ارائه نمود در آنان از ویژگی هائی استفاده شده بود که قبلا" مشابه آنان در سایر کامپیوترها به خدمت گرفته نشده بود . استفاده از برنامه ای موسوم به POST و Parity-checked حافظه ، نمونه هائی در این زمینه می باشند . پس از روشن کردن هر نوع کامپیوتری درابتدا و قبل از هر چیز دیگر ( نظیر استقرار سیستم عامل درون حافظه ) ، برنامه POST به منظور بررسی تست صحت عملکرد عناصر اصلی سخت افزار موجود در یک کامپیوتر اجراء خواهد شد .
POST ، مشتمل بر مجموعه ای از دستورالعمل های ذخیره شده در تراشه ROM-BIOS مادربرد است که مسئولیت تست تمامی عناصر اصلی در زمان روشن کردن کامپیوتر را برعهده دارد . برنامه فوق قبل از استقرار هرگونه نرم افزار در حافظه ، اجراء خواهد شد .
برنامه POST چه چیزی را تست می نماید ؟
پس از روشن کردن کامپیوتر، برنامه POST به صورت اتوماتیک اجراء و مجموعه ای از تست های لازم به منظور بررسی صحت عملکرد عناصر اصلی در کامپیوتر را انجام می دهد. تست حافظه ، پردازنده ، حافظه ROM ، مدارات حمایتی برداصلی و تجهیزات جانبی نظیر اسلات های موجود بر روی برد اصلی ، نمونه هائی در این زمینه بوده که توسط برنامه POST تست خواهند شد . اندازه برنامه POST بسیار کم بوده و صرفا" قادر به تشخیص خطاهای بحرانی می باشد . در صورتی که پس از انجام هر یک از تست های انجام شده توسط برنامه POST مشکل خاصی تشخیص داده شود ، پیام های خطاء و یا هشداردهنده ای که نشاندهنده نوع خطاء است ، ارائه می گردد . پیامد وجود هر گونه خطاء در این مرحله ، توقف فرآیند معروف بوتینگ ( استقرار سیستم عامل درون حافظه ) خواهد بود . خطاهائی که توسط برنامه POST تشخیص داده می شوند را fatal error نیز می گویند چراکه عملا" توقف فرآیند بوتینگ را بدنبال خواهند داشت .
نحوه نمایش نوع خطاء
ماحصل اجرای برنامه POST ، ارائه سه نوع پیام خروجی است : کدهای صوتی ، کدهای مبنای شانزده که برروی یک پورت I/O با یک آدرس خاص ارسال می گردد و پیام های مبتنی بر متن که بر روی نمایشگر نمایش داده می شوند . برای گزارش خطاهای تشخیص داده شده توسط برنامه POST از سه روش زیر استفاده می گردد :
* کدهای صوتی ( Beep Codes ) : کدهای فوق از طریق بلندگوی سیستم قابل شنیدن می باشند .
* کدهای Checkpoint : کدهای فوق ، کدهای مبنای شانزده checkpoint می باشند که برای یک پورت I/O با یک آدرس خاص ارسال می گردند . برای مشاهده کدهای فوق به یک برد خاص نصب شده در یکی از اسلات های ISA و یا PCI نیاز می باشد .
* پیام های نمایش داده شده بر روی نمایشگر : پیام های خطاء فوق صرفا" پس از مقداردهی اولیه آداپتور ویدئو قابل نمایش بر روی نمایشگر و استفاده خواهند بود .
کدهای صوتی برنامه POST
از کدهای فوق صرفا" برای اعلام خطاهای بحرانی استفاده می گردد . خطاهای فوق در ابتدای فرآیند راه اندازی کامپیوتر و زمانی که هنوز کارت ویدئو و سایر سخت افزارها وارد مدار عملیاتی نشده اند ، محقق می گردند . با توجه به این که در این مقطع نمایشگر در دسترس نمی باشد ، کد مربوط به هر یک از خطاهای موجود به صورت مجموعه ای beep مشخص می گردد . در صورتی که ماحصل اجرای برنامه POST موفقیت آمیز بوده و مشکل خاصی وجود نداشته باشد ، پس از اتمام برنامه POST ، صرفا" یک صدای beep قابل شنیدن خواهد بود . در برخی سیستم ها ( نظیر کامپیوترهای کامپک ) پس از اتمام موفقیت آمیز برنامه POST دو مرتبه beep نواخته می شود . در صورتی که تست صحت عملکرد برخی عناصر با موفقیت توام نباشد ، برای اعلام نوع خطاء تعداد مشخصی beep که ممکن است کوتاه و یا بلند و یا ترکیبی از هر دو باشد ، نواخته می گردد .
کدهای Checkpoint مربوط به برنامه POST
کدهای فوق ، اعداد مبنای شانزدهی می باشند که توسط روتین های برنامه POST بر روی یک پورت I/O با یک آدرس خاص ( مثلا" آدرس 80h ) نوشته می گردند . به کدهای فوق ، کدهای POST نیز گفته شده و امکان مشاهده و خواندن آنان صرفا" با نصب آدپتورهای خاصی در یکی از اسلات های سیستم ، فراهم می گردد . آداپتورهای فوق در ابتدا توسط تولید کنندگان مادر برد و به منظور تست سخت افزارهای تولیدی استفاده می گردید . در ادامه شرکت های متعددی ( نظیر میکرو 200 و 2000 ، JDR Microdevice ) با تولید اینگونه کارت ها امکان استفاده از آنان را برای سایر تکنسین ها فراهم نمودند .
از کدهای POST Checkpoint می توان به منظور ردیابی وضعیت سیستم در زمان فرآیند بوتینگ از زمانی که سیستم روشن می گردد تا زمانی که برنامه bootstrap loader اجراء می گردد ( آغاز استقرار سیستم عامل در حافظه )، استفاده نمود .
پس از نصب یک POST code reade درون یکی از اسلات های مادربرد و همزمان با اجرای برنامه POST ، یک عدد مبنای شانزده بر روی نمایشگر کارت نمایش داده خواهد شد . در صورت توقف غیرمنتظره سیستم ، با استفاده از کد نمایش داده شده می توان خطاء موجود را تشخیص داد . در شکل زیر یک POST card reader نشان داده شده است .
پیام های نمایش داده شده بر روی نمایشگر
پیام های نمایش داده شده بر روی صفحه نمایشگر ، پیام های مختصری می باشند که یک نوع خاص خطاء را گزارش می نمایند . پیام های فوق صرفا" پس از مقداردهی کارت ویدئو و نمایشگر قابل نمایش و استفاده خواهند بود .
در زمان حاضر همه ی کاربران سیستم عامل ویندوز میبایستی از این نکته با اطلاع باشند که رجیستری ویندوز در اصل قلب تپنده ی این سیستم عامل محسوب میشود. رجیستری دقیقا بخشی از ویندوز میباشد که در آن هزارن مورد از جزئیات مورد نیاز این سیستم عامل برای مدیریت سیستم ذخیره شده است، با توجه به اهمیت چنین بخشی در سیستم عامل ویندوز کمپانی مایکروسافت ترتیبی داده است تا رجیستری در دو نسخه بر روی ویندوز ذخیره شود تا اگر نسخه ی اصلی آسیب دید ویندوز به سراغ نسخه ی پشتیبانی که خودش فراهم کرده است برود. اما بارها پیش می آید که هر دو نسخه ی رجیستری ذخیره شده توسط سیستم عامل ویندوز آسیب ببینند و زمانی که رجیستری آسیب ببیند میبایستی ویندوز و تمامی برنامه های تحت آن از ابتدا نصب گردند.
اما راه حل ساده تری نیز هست و آن هم اینکه شما نسخه ی کپی مجزایی را از رجیستری ویندوزتان به وجود آورید، این امر با استفاده از برنامه ی backup که در ویندوز XP نسخه ی PRO گنجانده شده است امکان پذیر است و شما میتوانید این برنامه را در مسیر Accessories/System Tools بیابید.
برنامه ی ذکر شده توسط XP نسخه ی خانگی به صورت پیش فرض نصب نمیگردد ولی شما میتوانید آن را بوسیله ی یک CD ویندوز XP نسخه ی Home به آسانی نصب نمایید? ابتدا CD را در درون CD-ROM قرار داده و سپس وارد مسیر Drive:\VALUEADD\MSFT\NTBACKUP شوید. سپس یک کلیک دوبل بر روی فایل NTBACKUP.MSI نمائید تا برنامه ی نصب فعال گردد? پس از اتمام مراحل نصب شما ابزار مذکور را به آسانی در دسترس میابید.
این برنامه در حالت پیش فرض به صورت یک Wizard اجرا میشود مگر اینکه شما حالت پیش فرض آنرا تغییر دهید? برای تغییر حالت پیش فرض بر روی عبارت Advanced Mode کلیک نمایید تا صفحه ی جدیدی ظاهر شود? در این صفحه قسمتی را که تحت عنوان Backup نامگذاری شده است کلیک کنید بعد از آن در پنجره سمت چپ یک تیک در مقابل آیکون System State بزنید.
حالا شما میبایستی مکانی را برای ذخیره نسخه پشتیبان رجستیریتان معین کنید توجه داشته باشید که حجم این نسخه ی پشتیبان چیزی در حدود 500 مگابایت خواهد بود پس جایی را انتخاب نمائید که فضای کافی وجود داشته باشد? پس از معین کردن مکان ذخیره ی فایل یک نام همانند "BACKUP" یا چیزی مشابه آن برای فایل پشتیبان در نظر بگیرید. برنامه ی Back up ویندوز به صورت خودکار پسوند BKF را به نام انتخابی شما خواهد افزود.
حالا کلید Start Backup را کلیک کنید در صورتی که شما جایی از هارد دیسکتان را برای ذخیره نسخه ی پشتیبان انتخاب نموده اید تهیه ی این نسخه تنها یکی دو دقیقه طول میشکد اما اگر محل ذخیره ی آنرا بر روی یک CD تعیین کرده اید تهیه نسخه پشتیبان چیزی در حدود 10 دقیقه طول خواهد کشید. توجه داشته باشید که ویندوز به صورت خودکار یک نسخه پشتیبان از رجیستری را در C:\WINDOWS\REPAIR ذخیره مینماید.
در آخر زمانی که شما ویندوز XP نسخه ی PRO یا HOME را اجرا مینمایید میبایستی Recovery Console را در آن نصب نمائید برای نصب قسمت مذکور CD ویندوز خود را در درون درایو مربوطه که در اینجا ما آنرا D نامگذاری میکنید قرار دهید. در صورتی که برنامه ی پیش فرض نصب ویندوز فعال شد آنرا cancel کنید? حالا گزینه ی Run را از Start Menu انتخاب نمائید و سپس عبارت D:\i386\winnt32.exe/cmdcons را تایپ نموده و دستور العمل مربوطه را طی نمائید. پس از reboot نمودن کامپیوتر option جدیدی را میابید که در آن میتوانید Recovery Console را فعال سازید و با استفاده از آن نسخه های پشتیبان رجتسریتان را که قبلا تهیه کرده اید را جایگزین نسخه ی رجیستری آسیب دیده ویندوزتان نمائید
برای این کار ابتدا وارد Command Prompt می شویم و در آن فرمان IPCONFIG را تایپ می کنیم. پس از چند لحظه در زیر همین قسمت تمام آی پی هایی که در آن لحظه به کامپیوتر شما یا به شبکه Lan داخلی متصل هستند نوشته می شود. برای مثال: 192.168.0.1 192.168.0.2 و غیره... روش کار: برای شروع کار ابتدا یکی از آی بی ها را انتخاب می کنیم (سعی می کنیم تا صاحب آی پی مورد نظر از جنس مخالف باشد :D ) و دستور زیر را برای آن آی پی می نویسیم: NET SEND IP MESSAGE که به ترتیب: NET SEND : دستور اولیه می باشد. IP : ای پی شخص مورد نظر. MESSAGE : پیغام مورد نظر می باشد. برای مثال : .....