عیب یابی مقدماتی کامپیوتر
عیب یابی یعنی قبل از عوض کردن هر چیزی، دایره را تنگ کنید: اول یک بار ری استارت، بعد دو سوال که مشکل فقط یک برنامه است یا همه چیز، و تازه است یا همیشه بوده. تقریبا هر تعمیر اشتباهی که آدم ها روی کامپیوترشان انجام می دهند، از رد کردن همین دو سوال شروع می شود.
- درس ۱۲ از ۱۲
- مقدماتی
- رایگان، بدون ثبت نام
اولین دو راهی هر عیب یابی
مشکل فقط یک برنامه است یا همه چیز؟
دنبال چیزی داخل همان برنامه بگردید
- همان کار را با یک فایل دیگر امتحان کنید
- افزونه ها و تنظیمات داخل برنامه را ببینید
- در یک حساب کاربری تازه بازش کنید
دنبال چیزی زیر همه برنامه ها بگردید
- جای خالی دیسک را ببینید، این شایع ترین است
- ببینید چه چیزی در پس زمینه منابع را برداشته
- حالت امن را امتحان کنید و ببینید مشکل هست یا نه
قبل از این دو راهی، یک بار ری استارت کنید. و اگر جواب معلوم نیست، همان ندانستن خودش قدم بعدی را مشخص می کند: باید امتحان کنید.
آخرین بررسی: فکت ها و نام ابزارهای این درس در همین تاریخ با منابعشان بازبینی شده اند.
چرا ری استارت واقعا جواب می دهد
این توصیه آنقدر تکرار شده که به شوخی تبدیل شده، و همچنان درست است. دلیلش هم خرافه نیست.
برنامه ها در حین کار حالت نگه می دارند: چیزهایی در حافظه، فایل هایی که باز مانده اند، اتصال هایی به شبکه، قفل هایی روی منابع. وقتی یکی از این ها در وضعیت عجیبی گیر می کند، بقیه چیزها هم عجیب می شوند. ری استارت همه این حالت را دور می ریزد و همه چیز از نقطه شناخته شده شروع می شود.
پس ری استارت مشکل را «پنهان» نمی کند؛ یک دسته کامل از مشکلات را واقعا حل می کند. کاری که نمی کند این است: چیزی که باعث آن حالت شده را عوض نمی کند. برای همین قاعده ساده است: یک بار ری استارت کنید. اگر مشکل برگشت، دیگر ری استارت جواب نیست و باید سراغ سوال بعدی بروید.
و چند چیز هست که ری استارت هیچ وقت درستشان نمی کند و وقت تلف کردن است: دیسک پر، فایل خراب، سخت افزار در حال مردن، و رمز اشتباه.

دو سوالی که مسیر را تعیین می کنند
قبل از اینکه چیزی نصب یا حذف یا تنظیم کنید، این دو را جواب بدهید. جواب هایشان دایره را از «کامپیوترم خراب است» به یک چیز مشخص کوچک می کنند.
یک برنامه یا همه چیز؟ اگر فقط ورد کند است و بقیه خوب اند، مشکل داخل همان یک برنامه است: فایلش، تنظیماتش، افزونه ای که داخلش نصب شده. اگر همه چیز کند است، مشکل زیر همه برنامه هاست: دیسک، رم، سیستم عامل، یا برنامه ای که در پس زمینه همه منابع را برداشته.
تازه است یا همیشه بوده؟ اگر تا هفته پیش خوب بود، چیزی عوض شده و کار شما پیدا کردن همان چیز است: به روزرسانی، برنامه ای که نصب کردید، فایلی که باز کردید، تنظیمی که دست زدید. اگر از روز اول همین طور بوده، این خرابی نیست؛ این یعنی این دستگاه برای این کار کافی نیست.
یک راه سریع برای جواب دادن به سوال اول، همانی است که سیستم عامل خودش برایش ابزار گذاشته. صفحه خود مایکروسافت می گوید حالت امن ویندوز را در وضعیت پایه و با مجموعه محدودی از فایل ها و درایورها بالا می آورد، و اگر مشکل در حالت امن اتفاق نیفتد، یعنی تنظیمات پیش فرض و درایورهای پایه عامل آن نیستند. این دقیقا همان کاری است که به آن جدا کردن می گویند: محیط را ساده کنید و ببینید مشکل هنوز هست یا نه.
روی مک و لینوکس همین ایده شکل های دیگری دارد، ولی منطقش یکی است. حتی ساده تر از آن: یک حساب کاربری تازه بسازید و همان کار را در آن انجام دهید. اگر آنجا درست بود، مشکل در تنظیمات حساب شماست و نه در دستگاه.
نردبانی که قبل از تعمیرکار می روید
این پنج قدم را به ترتیب بروید. ترتیبشان تصادفی نیست: از ارزان ترین و برگشت پذیرترین کار شروع می شود و به سمت گران ترین می رود.
قدم اول ری استارت است و فقط یک بار. قدم دوم این است که مشکل را دوباره اتفاق بیندازید. اگر نمی توانید تکرارش کنید، هنوز نمی دانید مشکل چیست و هر تعمیری از این به بعد حدس است. قدم سوم برداشتن پیغام خطاست، کلمه به کلمه، با عکس گرفتن از صفحه یا کپی کردن متن. «یه ارور داد» یک اطلاعات نیست.
قدم چهارم جدا کردن است: حالت امن، حساب کاربری تازه، فایل دیگری در همان برنامه، یا همان فایل روی دستگاه دیگری. هر کدام از این ها یک متغیر را حذف می کند.
و قدم پنجم قاعده ای است که بیشتر از هر چیز دیگری در این درس به کارتان می آید: یک چیز را در هر نوبت عوض کنید و بنویسیدش. اگر پنج تنظیم را با هم عوض کنید و مشکل حل شود، نمی دانید کدام یک بود، و دفعه بعد از صفر شروع می کنید. اگر حل نشود، حالا پنج تغییر ناخواسته هم دارید. یک کاغذ کنار دستتان بگذارید و هر تغییری را که می دهید بنویسید؛ همین کاغذ است که بعدا اجازه می دهد همه چیز را برگردانید.
و یک مرز: اگر دستگاه صدای تیک تیک می دهد، بوی سوختگی می آید، اصلا روشن نمی شود، یا درست بعد از یک ضربه فیزیکی شروع شده، این نردبان مال شما نیست. مخصوصا اگر داده مهمی روی دیسک است، روشن و خاموش کردن مکرر یک دیسک در حال خرابی، چیزی را که یک شرکت بازیابی می تواند نجات بدهد کمتر می کند. دستگاه را خاموش بگذارید و ببریدش.
پنج قدم، از ارزان ترین به گران ترین
-
۱
ری استارت، یک بار
رایگان و کاملا برگشت پذیر. اگر مشکل برگشت، دیگر تکرارش نکنید.
-
۲
دوباره اتفاقش بیندازید
اگر نتوانید تکرارش کنید، هر تعمیری از این به بعد حدس است.
-
۳
پیغام را عینا بردارید
عکس از صفحه یا کپی متن. «یه ارور داد» یک اطلاعات نیست.
-
۴
جدا کنید
حالت امن، حساب تازه، فایل دیگر، دستگاه دیگر. هر کدام یک متغیر کم می کند.
-
۵
یک تغییر در هر نوبت، و بنویسیدش
همین کاغذ است که بعدا اجازه می دهد همه چیز را برگردانید.
این نردبان برای خرابی نرم افزاری است. صدای تیک تیک، بوی سوختگی و روشن نشدن کامل، از قدم اول هم رد نمی شوند و مستقیم به تعمیرکار می روند.
کی نباید حرف هوش مصنوعی را اجرا کنید
یک دستیار هوش مصنوعی برای عیب یابی واقعا مفید است، چون سریع تر از هر جستجویی به شما فهرست علت های محتمل می دهد. خطرش هم دقیقا از همین جا می آید: جواب همیشه با اطمینان نوشته می شود، چه درست باشد چه نباشد، و شما راهی ندارید که از روی لحن بفهمید کدام است.
قاعده ای که ما به کار می بریم و بارها جلوی خسارت را گرفته، یک جمله است: دستوری را که نمی توانید در یک جمله توضیح بدهید اجرا نکنید. نه اینکه بلد باشید بنویسیدش؛ اینکه بتوانید بگویید چه کار می کند و اگر اشتباه باشد چه چیزی از بین می رود.
سه دسته هست که این قاعده در آنها سخت گیرانه می شود:
- هر دستوری که اسم یک دیسک یا پارتیشن در آن است؛ یک حرف اشتباه در این دستورها یعنی همه چیز رفت
- ویرایش رجیستری ویندوز یا فایل های تنظیمات عمیق سیستم عامل
- هر کاری که با «برای رفع سریع، این را غیرفعال کنید» شروع شود و آن چیز مربوط به امنیت باشد
و یک راه ساده برای اینکه از همین ابزار درست استفاده کنید: به جای «چطور درستش کنم» بپرسید «چه چیزهایی می توانند این را ایجاد کنند و چطور هر کدام را تست کنم». جواب دوم قابل بررسی است و جواب اول فقط قابل اجراست. مسیر سریع پایین همین سوال را به یک دستور آماده تبدیل کرده.
یک نکته درباره پشتیبان هم اینجا جا دارد: قبل از هر تغییری که خودتان مطمئن نیستید، اگر داده مهمی روی دستگاه است، اول از آن نسخه بگیرید. درس بکاپ گرفتن نقشه اش را دارد و ده دقیقه وقت می برد.
چطور سوال بپرسید که جواب بگیرید
چه از یک آدم بپرسید و چه از یک مدل، جواب خوب نتیجه سوال خوب است. و سوال خوب فقط یک چیز لازم دارد: جزئیاتی که به جای شما فکر می کنند.
پنج چیز، همیشه. پیغام دقیق خطا، بدون خلاصه کردن. اینکه از کی شروع شد. چه چیزی درست قبلش عوض شد. چه کارهایی تا حالا کرده اید. و اینکه چه دستگاهی و چه سیستم عاملی.
مقایسه اش را ببینید. «لپ تاپم بالا نمیاد، چیکار کنم» هیچ راهی جز حدس زدن باقی نمی گذارد. «لپ تاپ ویندوز، از دیشب که یک به روزرسانی نصب شد، موقع بالا آمدن یک صفحه آبی می آید با متن INACCESSIBLE BOOT DEVICE، حالت امن هم همان را می دهد، هیچ کاری نکرده ام» یک سوال است که می شود جوابش را داد.
یک عادت خوب هم بگویم که کم کسی دارد: از صفحه خطا عکس بگیرید، حتی وقتی فکر می کنید مهم نیست. صفحه خطا معمولا خودش را بعد از چند ثانیه می بندد و متن دقیقش تنها چیزی است که واقعا اطلاعات دارد.
و یک هشدار قبل از فرستادن آن عکس: به کل کادر نگاه کنید و نه فقط به پیغام. اسم فایل ها، آدرس ایمیل، نام مشتری، شماره سریال و کد فعال سازی، همه در همان تصویر هستند و همراهش می روند.
برگه سوالی که جواب می گیرد
اینها را بنویسید
- متن دقیق خطا، بدون خلاصه کردن و بدون ترجمه
- از کی شروع شد و چه چیزی درست قبلش عوض شد
- چه کارهایی تا حالا کرده اید و نتیجه هر کدام چه بود
- دستگاه و سیستم عامل، با نسخه اش
اینها را نفرستید
- عکسی که کنارش اسم مشتری یا آدرس ایمیل دیده می شود
- شماره سریال، کد فعال سازی، یا هر رمزی در تصویر
- ترجمه خودتان از پیغام خطا به جای متن اصلی
همین فهرست برای پرسیدن از یک آدم و از یک مدل یکی است. تفاوتش این است که آدم می گوید نمی دانم و مدل معمولا نمی گوید.
مسیر سریع با هوش مصنوعی
تقریبا همه از مدل می خواهند «درستش کن»، و همین جاست که کار خراب می شود: مدل یک راه حل قاطع می دهد، شما اجراش می کنید، و اگر علت چیز دیگری بوده حالا یک مشکل تازه هم دارید. مسیر سریع این است که خواسته را عوض کنید. به جای راه حل، <strong>فهرست علت های محتمل با یک تست ارزان برای هرکدام</strong> بخواهید، مرتب شده بر اساس اینکه اگر اشتباه بود چقدر راحت برمی گردد. خروجی به جای یک دستور، یک نقشه آزمایش می شود، و شما تصمیم می گیرید نه مدل.
- قبل از هر چیز، پنج جزئیات بخش قبل را جمع کنید: متن دقیق خطا، از کی شروع شد، چه چیزی قبلش عوض شد، چه کرده اید، و دستگاه و سیستم عامل. بدون این ها هر جوابی حدس است، چه از آدم چه از مدل.
- دستور پایین را با همان جزئیات بفرستید. اگر پیغام خطا روی صفحه است و کپی نمی شود، عکس بگیرید و همان عکس را بدهید، ولی اول کادر را نگاه کنید که چیز خصوصی ای در آن نباشد.
- از بالای فهرست شروع کنید و فقط <em>تست</em> ها را انجام دهید، نه اصلاح ها. تست ها هیچ چیزی را عوض نمی کنند و برای همین اول می آیند. معمولا دو یا سه تست کافی است تا معلوم شود کدام علت درست است.
- وقتی علت معلوم شد، تازه سراغ اصلاح بروید و همان قاعده همیشگی: یک تغییر در هر نوبت، نوشته شده. اگر اصلاح در ستون «برگشت ناپذیر» بود، اول از داده مهم نسخه بگیرید و بعد.
نسخه آماده کپی
من می خواهم علت را پیدا کنم، نه اینکه یک راه حل اجرا کنم. راه حل نده.
وضعیت:
دستگاه و سیستم عامل: {مثلا لپ تاپ ویندوز ۱۱}
متن دقیق خطا: {عینا، بدون خلاصه}
از کی شروع شد: {مثلا از دیشب}
درست قبلش چه چیزی عوض شد: {به روزرسانی، نصب، تنظیم، هیچ}
تا حالا چه کرده ام: {فهرست کوتاه}
فقط یک برنامه است یا همه چیز: {جواب، یا «نمی دانم»}
یک جدول بده با این ستون ها و حداکثر شش سطر:
علت محتمل | یک تست که چیزی را عوض نمی کند | اگر تست مثبت بود یعنی چه | اصلاح، و برگشت پذیر است یا نه
قانون ها:
۱. سطرها را از محتمل ترین به کم احتمال ترین مرتب کن.
۲. تست باید فقط نگاه کردن یا امتحان کردن باشد و هیچ چیزی را عوض نکند.
۳. هیچ دستوری ننویس که اثرش را نتوانی در یک جمله توضیح بدهی، و همان توضیح را کنارش بنویس.
۴. هر اصلاحی را که چیزی را پاک یا فرمت می کند یا رجیستری را دست می زند، «برگشت ناپذیر» علامت بزن.
۵. اگر از روی اطلاعات بالا نمی توانی علتی را رد یا تایید کنی، بنویس «اطلاعات کافی نیست» و بگو چه چیزی لازم داری.
۶. مقدمه ننویس. فقط جدول.
قبل از اعتماد به خروجی: ستون «برگشت پذیر است یا نه» را خود مدل پر می کند و همان جاست که ممکن است اشتباه کند؛ اگر سطری برگشت پذیر علامت خورده ولی شما نمی توانید بگویید چطور برش می گردانید، آن سطر برای شما برگشت ناپذیر است. علت اصلی هم ممکن است اصلا در جدول نباشد، چون مدل فقط چیزی را می بیند که شما نوشته اید. و اگر همه تست ها منفی درآمدند، این خودش یک جواب است: یعنی صورت مسئله را اشتباه توصیف کرده اید و باید برگردید به قدم دوم و مشکل را دوباره اتفاق بیندازید.
هوش مصنوعی در این کار
عیب یابی یکی از کارهایی است که مدل های زبانی واقعا در آن خوب اند، چون کارشان همین است: از یک توصیف ناقص، فرضیه های محتمل بسازند. موضع ما این است که از آنها فرضیه بگیرید و نه دستور. یک تفاوت را هم آگاهانه به کار ببرید: مدل تصویر را می خواند، پس عکس صفحه خطا معمولا سریع تر از توضیح دادن آن جواب می دهد، به شرطی که قبلش کادر را نگاه کرده باشید.
ابزارهایی که واقعا کمک می کنند
- Claude برای ساختن همان جدول علت و تست، و برای اینکه از آن بخواهید فرض هایش را جدا از نتیجه گیری هایش بنویسد. ایران در فهرست کشورهای پشتیبانی شده انتروپیک نیست و این را از صفحه خودشان خوانده ایم.
- Gemini همان نقش، و برای دادن عکس صفحه خطا دم دست است. صفحه خود گوگل می گوید اپ وب جمینای در بیش از دویست و سی کشور کار می کند و ایران در آن فهرست نیست.
کجا نتیجه معکوس می دهد
دو خطر مشخص، و هر دو در عیب یابی بیشتر از جاهای دیگر پیش می آیند. اول، دستوری که کار می کند ولی کار دیگری می کند. مدل وقتی علت را نمی داند هم جواب می دهد، و در حوزه دیسک و پارتیشن و رجیستری، یک جواب اشتباه با اطمینان نوشته شده می تواند همه چیز را ببرد. قاعده همان است که در متن گفتیم و اینجا تکرارش می کنیم چون ارزشش را دارد: دستوری را که نمی توانید در یک جمله توضیح بدهید اجرا نکنید. دوم، همان عکسی که می فرستید. یک اسکرین شات از پیغام خطا معمولا نوار وظیفه، اسم فایل های باز، عنوان ایمیل ها و گاهی کد فعال سازی را هم دارد، و شما فقط به وسط کادر نگاه کرده اید. صفحه خود گوگل درباره جمینای می گوید با روشن بودن فعالیت، محتوای گفتگو برای بهبود سرویس های گوگل به کار می رود، بازبین انسانی ممکن است ببیندش، و نسخه ای که انسان بازبینی کرده تا سه سال می ماند و با پاک کردن شما هم نمی رود؛ همان صفحه می گوید اطلاعات محرمانه وارد نکنید. تفصیلش با منبع در درس حریم خصوصی در ابزارهای هوش مصنوعی هست.
منبع ها: Google: how Gemini Apps activity and data are used Anthropic: supported countries Google: where the Gemini web app is available
حد این توصیه
این نردبان برای خرابی نرم افزاری روی یک دستگاه شخصی است و جای دیگری کار نمی کند. نشانه های سخت افزاری، یعنی صدای تیک تیک دیسک، بوی سوختگی، روشن نشدن، یا خرابی درست بعد از ضربه، مسئله استدلالی نیستند و ادامه دادن روی آنها ضرر دارد: روشن و خاموش کردن مکرر یک دیسک در حال خرابی، چیزی را که یک شرکت بازیابی می تواند نجات بدهد کمتر می کند. سرور و شبکه هم شکل دیگری دارند، چون آنجا لاگ ها و چند سرویس همزمان وارد بازی می شوند و یک ری استارت می تواند دقیقا مدرکی را پاک کند که لازمتان است.
از تجربه خود ما
دو باری که روی همین سرور بدترین وقت را تلف کردیم، هیچ کدام مشکل سختی نبودند؛ هر دو جایی بودند که ابزار بی سر و صدا دروغ گفت. اول، دستوری که برای خواندن مستقیم پایگاه داده به کار می رود روی این ماشین اصلا وصل نمی شود و به جای خطا، هیچی چاپ می کند. یعنی جستجویی که باید چیزی پیدا می کرد، خروجی خالی می دهد، و خروجی خالی دقیقا شبیه «چیزی پیدا نشد» است. جواب اشتباه گرفتیم، درباره اش تصمیم گرفتیم، و بعد فهمیدیم اصلا سوالی پرسیده نشده بود. دوم، وب سرور این ماشین نتیجه وجود داشتن یک فایل کش را تا ۶۰ ثانیه نگه می دارد. پس اگر یک صفحه را از کش پاک کنید و بلافاصله چک کنید، همان صفحه قدیمی را می بینید و نتیجه می گیرید پاک کردن کار نکرده. دو بار به همین دلیل کاری را که درست انجام شده بود دوباره انجام دادیم. از آن به بعد قاعده ای داریم که در همین درس هم گفته ایم: قبل از باور کردن یک جواب منفی، اول مطمئن شوید سوال واقعا پرسیده شده و جوابی که می بینید تازه است.
سوال هایی که واقعا پرسیده می شوند
ری استارت مشکل را حل می کند یا فقط پنهانش می کند؟
یک دسته از مشکلات را واقعا حل می کند، چون حالت گیر کرده در حافظه را دور می ریزد. چیزی که حل نمی کند علت است. برای همین یک بار ری استارت درست است و بار سوم یعنی دارید از سوال فرار می کنید.
پیغام خطا انگلیسی است، ترجمه اش کنم؟
نه. متن اصلی را عینا نگه دارید و همان را جستجو کنید یا بفرستید. آن جمله انگلیسی یک شناسه است و کسانی که همان مشکل را داشته اند دقیقا با همان کلمات نوشته اند؛ ترجمه شما آن شناسه را از بین می برد. اگر معنی اش را نمی فهمید، ترجمه را جدا بپرسید، ولی متن اصلی را هم بفرستید.
از کجا بفهمم مشکل سخت افزاری است؟
وقتی نشانه به نرم افزار ربطی ندارد: صدای غیرعادی، بوی سوختگی، خاموش شدن ناگهانی، روشن نشدن، یا مشکلی که در حالت امن و با یک حساب کاربری تازه هم دقیقا همان است. اگر داده مهمی روی دیسک دارید، همان جا متوقف شوید و دستگاه را روشن نکنید.