פתרון כל בעיות Windows ותוכניות אחרות

כיצד לפתור קריסות Windows 8 תוך פחות מדקה

חלונות 8 יצא כבר זמן מה, עם ממשק מגניב לא פחות מאשר מעצבן. . . עד שתבין את העניין. אבל, כמו כל מערכת הפעלה ממוחשבת, היא עלולה להתהפך. למרבה המזל, יש דרך קלה לפתור את הסיבה לרוב התאונות; פשוט התקשר ל- WinDbg, מאתר הבאגים של Windows; כלי חינמי לאבחון הגורמים השכיחים ביותר לקריסות Windows - מנהלי התקנים של צד שלישי שהתנהגו בצורה לא נכונה.

ב- W8 שונה המסך הכחול של המוות/BSOD כך שיכלול סמל גדול ופשוט: (אמוטיקון והודעה קצרה בשפה אנושית (אם לא מאוד אינפורמטיבית).



גַם, מיקרוסופט התקדמה בתהליך יצירת וניהול קבצי ה- dump. בעוד שמאמר זה מתמקד ב- W8, המידע חל הן על RT והן על שרת 2012. למערכות הפעלה קודמות, ראה פתור קריסות של Windows 7 תוך דקות או, עבור XP ו- 2000, ראה כיצד לפתור קריסות של Windows תוך דקות .



כיצד להעביר תוכנה ממחשב למחשב

לגבי קריסות ווינדוס

קריסות מערכת ההפעלה שונות בתכלית מהן יישומים קריסות, נתק מערכת או בעיות אחרות. ברוב המקרים מערכות ההפעלה קורסות כאמצעי הגנה. כאשר מערכת ההפעלה מגלה שהתקנים קריטיים נכשלים או שמצב מערכת הפעלה פנימי זוהה כלא עקבי בגלל וירוסים אפשריים, מנהלי התקנים גרועים או אפילו כשלים ב- RAM, בדרך כלל בטוח יותר להפסיק מיד. אחרת, המשך הפעולות יאפשר נזק חמור בהרבה, כגון השחתת נתוני יישומים או אובדן.



[העזרה בדרך: לאן לפנות לקבלת עזרה עם קריסות Windows ]

שתיים מתוך שלוש קריסות מערכת נגרמות על ידי מנהלי התקנים של צד שלישי המבצעים פעולות בלתי הולמות (כגון כתיבה לזיכרון שאינו קיים) במצב ליבה שבו יש להם גישה ישירה לגרעין מערכת ההפעלה והחומרה.

לעומת זאת, מנהלי התקנים הפועלים במצב משתמש, עם גישה עקיפה בלבד לגרעין מערכת ההפעלה, אינם יכולים לגרום ישירות לקריסה. אחוז קטן מהתקלות נגרמות מבעיות חומרה כמו זיכרון גרוע, ולו פחות מתקלות במערכת ההפעלה עצמה. וכמה סיבות פשוט אינן ידועות.



תודה על זריקת הזיכרון

המזבלה היא החבר הטוב והמכוער ביותר שהיה לך. זוהי תמונת מצב של מצב מערכת המחשבים בנקודת הזמן בה מערכת ההפעלה נעצרה. ומהכמות העצומה של נתונים לא מאוד ידידותיים שקובץ dump מכיל, בדרך כלל תצטרך רק כמה פריטים שקל לתפוס ולהשתמש בהם. עם כניסתה של Windows 8, מערכת ההפעלה יוצרת כעת ארבע מזבלות זיכרון שונות; Complete, Kernel ו- Minidumps ומזכרת הזיכרון האוטומטית החדשה.

1. זריקת זיכרון אוטומטית

מיקום: %SystemRoot % Memory.dmp

גודל: גודל הגרעין של מערכת ההפעלה

מחיקת הזיכרון האוטומטית היא אפשרות ברירת המחדל שנבחרה בעת התקנת Windows 8. היא נוצרה כדי לתמוך בתצורת קובץ הדף 'מנוהל על ידי המערכת' אשר עודכנה כדי להקטין את גודל קובץ הדף בדיסק. האפשרות אוטומטית לזרוק זיכרון מייצרת dump זיכרון ליבה, ההבדל הוא כאשר אתה בוחר אוטומטית, היא מאפשרת לתהליך ה- SMSS להקטין את קובץ הדף בגודל RAM.

2. השלכת זיכרון מלאה

מיקום: %SystemRoot % Memory.dmp

גודל: גודל RAM מותקן פלוס 1MB

זריקה מלאה (או מלאה) של זיכרון שווה בערך לכמות ה- RAM המותקנת. במערכות רבות בעלות מספר GB, זה יכול להפוך במהירות לבעיית אחסון, במיוחד אם יש לך יותר מהתרסקות מדי פעם. בדרך כלל אני לא ממליץ לשמור זיכרון מלא מכיוון שהם תופסים כל כך הרבה מקום ובדרך כלל אין צורך. עם זאת, ישנם מקרים שבהם עבודה עם מיקרוסופט (או ספק אחר) כדי למצוא את הסיבה לבעיה מורכבת מאוד שהמלא זיכרון מלא יעזור מאוד. לכן, היצמד למזבלה האוטומטית, אך היה מוכן להחליף את ההגדרה ליצירת dump מלא במקרים נדירים.

3. זיכרון ליבה

מיקום: %SystemRoot % Memory.dmp

גודל: גודל הזיכרון הפיזי 'בבעלות' רכיבים במצב ליבה

מזבלות ליבה שוות בגודלן בערך ל- RAM שתופס ליבת Windows 8. במערכת הבדיקה שלי עם זיכרון RAM בנפח של 4 ג'יגה-בתים על מעבד 64 סיביות דמוי הגרעין היה כ- 336MB. מכיוון שלפעמים יש להעביר קבצי dump, דחיסתי אותם, מה שהוריד אותו ל- 80MB. יתרון אחד במזבלה של גרעינים הוא שהוא מכיל את הקבצים הבינאריים הדרושים לניתוח. ההגדרה dump אוטומטית יוצרת קובץ dump kernel כברירת מחדל, ושומרת רק את העדכני ביותר, כמו גם מיני דומפ לכל אירוע. ~~

4. קטן או דקה

מיקום: %SystemRoot % Minidump

מה להעביר למחשב חדש

גודל: לפחות 64K ב- x86 ו- 128k ב- x64 (279K במחשב הבדיקה W8 שלי)

מיני דומפס כוללות דפי זיכרון שהופנו אליהם על ידי רשמים בהתחשב בערכיהם בנקודת התקלה, כמו גם ערימת החוט השובר. מה שעושה אותם קטנים הוא שהם אינם מכילים אף אחד מהקבצים הבינאאריים או ההפעלה שהיו בזיכרון בזמן הכשל.

עם זאת, קבצים אלה הם בעלי חשיבות קריטית לניתוח עוקב אחר המאגר. כל עוד אתה מבצע ניפוי באגים במכונה שיצרה את קובץ ה- dump, WinDbg יכול למצוא אותם בתיקיות מערכת השורש של המערכת (אלא אם שינו את הבינריות באמצעות עדכון מערכת לאחר יצירת קובץ ה- dump). לחלופין הבאגר צריך להיות מסוגל לאתר אותם באופן אוטומטי באמצעות SymServ, חנות קבצי הסמלים המקוונים של מיקרוסופט. Windows 8 יוצר ושומר מיני -דומפ לכל אירוע התרסקות, ובעצם מספק תיעוד היסטורי של כל האירועים בחיי המערכת.

הגדר את W8 כדי לקבל את מזכרות הזיכרון הנכונות

בעוד שתצורת ברירת המחדל עבור W8 מגדירה את מערכת ההפעלה ליצירת פורמט זיכרון הזיכרון שסביר להניח שתזדקק לו, תסתכל מהר כדי להיות בטוח. מתפריט סגנון W8 פשוט הקלד 'לוח בקרה' (או רק את האותיות הראשונות במקרים רבים) אשר יוביל אותך באופן קסום אוטומטית לדף היישומים שבו תראה תיבה לבנה המקיפה את 'לוח הבקרה'; לחיצה על Enter תוביל אותך לאותו ממשק מוכר.

הדרך לבדוק את הגדרות זיכרון הזיכרון של Windows 8, החל מלוח הבקרה, היא כדלקמן:

לוח הבקרה | מערכת ו בִּטָחוֹן | מערכת | הגדרות מערכת מתקדמות | אתחול ושחזור | הגדרות

פעם אחת בתיבת הדו -שיח אתחול ושחזור (להלן) ודא ש'הזרקת זיכרון אוטומטית 'מסומנת. סביר להניח שתרצה לוודא שגם 'כתוב אירוע ליומן המערכת' ו'הפעלה מחדש אוטומטית '(שאמור להיות מופעל כברירת מחדל) מסומנים.

התקן את WinDbg

דרישות מערכת

כדי להגדיר את המחשב שלך לניתוח קריסה מבוסס WinDbg, תזדקק לדברים הבאים:

'32 סיביות או 64 סיביות Windows 8/R2/Server 2012/ ווינדוס 7 /שרת 2008

בהתאם למעבד שבו אתה מפעיל את האגים, אתה יכול להשתמש בכלים של 32 סיביות או 64 סיביות באגים. שים לב שלא חשוב אם קובץ ה- dump בוצע בפלטפורמה מבוססת x86 או בפלטפורמה מבוססת x64.

'החלק של כלי איתור באגים עבור Windows ב- Windows SDK עבור Windows 8, אותו תוכל להוריד בחינם ממיקרוסופט.

'כ 103MB של שטח דיסק קשיח (לא כולל שטח אחסון עבור קבצי dump או קבצי סמל)

'חיבור אינטרנט חי

הורד את WinDbg

קודם כל הורד את sdksetup.exe, קובץ קטן (969KB) שמפעיל את הגדרת האינטרנט, שממנו אתה בוחר אילו רכיבים להתקין.

' הורדה רגילה.

' הורדה אוטומטית (ההורדה תתחיל מעצמה):

נדרש מקום

התעלם משטח הדיסק הנדרש של 1.2GB; תתקין רק חלק קטן מהערכה. במכשיר הבדיקה שלי תהליך ההתקנה ניבא 256.2MB אך היה צריך 103MB בלבד לפי סייר הקבצים לאחר ההתקנה.

הפעל skdsetup.exe

התקן את ערכת פיתוח התוכנה (SDK) למכונה שבה תשתמש לצפייה בקבצי זיכרון.

א. הפעל את sdksetup.exe.

B. ציין מיקום:

נתיב ההתקנה המוצע להלן:

התקן מחשב וירטואלי ב- Windows 7

C: Program Files (x86) Windows Kits 8.0

אם אתה מוריד להתקנה במחשב נפרד, בחר באפשרות השנייה וקבע את הנתיב המתאים.

ג קבל את הסכם הרישיון

ד הסר את סימני הסימון של כל כלי הבאגים חוץ מ- Windows

מהם סמלים ולמה אני צריך אותם?

כעת, לאחר שהבאגים מותקנים ולפני קריאת קובץ dump עליך לוודא שיש לו גישה לקבצי הסמלים. טבלאות סמלים הן תוצר לוואי של אוסף. כאשר נערכים תוכנית, קוד המקור מתורגם משפה ברמה גבוהה לקוד מכונה. במקביל, המהדר יוצר קובץ סמל עם רשימת מזהים, מיקומם בתוכנית ותכונותיהם. מכיוון שתוכניות אינן זקוקות למידע זה לביצוע, ניתן להוציא אותו ולשמור אותו בקובץ אחר. זה מקטין את גודל ההפעלה הסופית כך שהוא תופס פחות שטח דיסק ונטען מהר יותר בזיכרון. אבל, כאשר תוכנית גורמת לבעיה, מערכת ההפעלה יודעת רק את כתובת ה- hex שבה אירעה הבעיה, לא מי היה שם ומה האדם עושה. טבלאות סמלים הזמינות באמצעות SymServe מספקות מידע זה.

SymServ (SymSrv)

SymServ (גם מאוית SymSrv) הוא כלי חשוב בעל חשיבות קריטית המסופקת על ידי מיקרוסופט, המנהלת את זיהוי טבלאות הסמלים הנכונות שיש לאחזר לשימוש על ידי WinDbg. אין תשלום עבור השימוש בו והוא מתפקד באופן אוטומטי ברקע, כל עוד הבאגר מוגדר כהלכה, ויש לו גישה בלתי מוגבלת לחנות הסמלים של מיקרוסופט. ~~

הפעלת WinDbg

ממשק המשתמש W8, לחץ באמצעות לחצן העכבר הימני על גרסת WinDbg שבה תשתמש (x64 או x86) ולאחר מכן בחר 'הפעל כמנהל' מהסרגל שמופיע מתחתית המסך. לאחר מכן תראה ממשק יישומים שאינו מרגש במיוחד; גוש אפור. לפני שתמלא אותו בנתונים עליך לומר לו היכן למצוא את קבצי הסמלים.

הגדרת הסמל נתיב קובץ

יש מספר עצום של קבצי טבלת סמלים עבור Windows מכיוון שכל בנייה של מערכת ההפעלה, אפילו וריאציות חד פעמיות, מביאה לקובץ חדש. שימוש בטבלאות הסמלים הלא נכונות יהיה כמו למצוא את דרכך בסן פרנסיסקו עם מפה של בוסטון. כדי להיות בטוח שאתה משתמש בסמלים הנכונים, בשורת התפריטים של WinDbg, בחר את הדברים הבאים:

היכן נמצאים קבצי dll

קובץ | נתיב קובץ סמל

בחלון נתיב חיפוש הסמלים הזן את הכתובת הבאה:

srv*c: cache*http: //msdl.microsoft.com/download/symbols

שים לב שהכתובת בין הכוכביות היא המקום שבו אתה רוצה לאחסן את הסמלים לעיון עתידי. לדוגמה, אני מאחסן את הסמלים בתיקייה שנקראת סמלים בשורש הכונן c: וכך:

srv*c: symbols*http: //msdl.microsoft.com/download/symbols

ודא שחומת האש שלך מאפשרת גישה אל msdl.microsoft.com.

כיצד WinDbg מטפל בקבצי סמל

בעת פתיחת dump זיכרון, WinDbg יסתכל על קבצי ההפעלה (.exe, .dll וכו ') ויחלץ מידע על גרסה. לאחר מכן הוא יוצר בקשה ל- SymServ ב- Microsoft, הכוללת מידע גרסה זה ומאתרת את טבלאות הסמלים המדויקות שאליהן ניתן לשאוב מידע. הוא לא יוריד את כל הסמלים של מערכת ההפעלה הספציפית שאתה פותר בעיות; הוא יוריד את מה שהוא צריך.

מקום לקבצי סמלים

המרחב הדרוש לאחסון סמלים משתנה. במכשיר הבדיקה שלי W8, לאחר שהרצת בדיקות התרסקות רבות, התיקייה הייתה בערך 35MB. במערכת אחרת, שבה פועל W7, ועליה פתחתי קבצי dump ממספר מערכות אחרות התיקייה עדיין הייתה מתחת ל 100MB. רק זכור שאם אתה פותח קבצים ממכונות נוספות (עם גרסאות של מערכת ההפעלה) התיקייה שלך יכולה להמשיך לגדול בגודלה.

לחלופין, תוכל לבחור להוריד ולשמור את קובץ הסמלים המלא של Microsoft. לפני שתעשה זאת, שים לב - עבור כל חבילת סמלים - צריך שיהיה לך לפחות 1GB של שטח דיסק פנוי. הסיבה לכך היא, שבנוסף לשטח הדרוש לאחסון הקבצים, אתה צריך גם מקום לקבצים הזמניים הנדרשים. אפילו עם העלות הנמוכה של כוננים קשיחים בימינו, המקום הראוי לציון הוא המקום הראוי לציון.

'כל חבילת סמל x86 עשויה לדרוש שטח של 750 מגה בייט או יותר.

'כל חבילת סמל x64 עשויה לדרוש 640 מגה בייט או יותר.

חבילות סמלים אינן מצטברות אלא אם צוין אחרת, כך שאם אתה משתמש במהדורת SP2 Windows, יהיה עליך להתקין את הסמלים עבור גרסת ה- RTM המקורית ול- SP1 לפני שתתקין את הסמלים עבור SP2.

צור קובץ dump

מה אם אין לך זיכרון זיכרון להסתכל עליו? אין דאגות. אתה יכול לייצר אחד בעצמך. ישנן דרכים שונות לעשות זאת, אך הדרך הטובה ביותר היא להשתמש בכלי בשם NotMyFault שנוצר על ידי מארק רוסינוביץ '.

הורד את NotMyFault

קיטור טעינה מוקדמת של שמי איש

כדי לקבל NotMyFault, עבור לדף הספר הפנימי של Windows ב- SysInternals וגלול מטה למקטע כלי הספרים שם תראה קישור להורדה. הכלי כולל מבחר של אפשרויות הטוענות דרייבר לא מתנהג (הדורש הרשאות ניהול). לאחר ההורדה יצרתי קיצור דרך משולחן העבודה כדי לפשט את הגישה.

זכור כי השימוש ב- NotMyFault יצור מערכת קריסת מערכת ולמרות שמעולם לא ראיתי בעיה בשימוש בכלי, אין אחריות בחיים, במיוחד במחשבים. לכן, הכינו את המערכת שלכם וכל אחד שצריך גישה אליה יתנתק למספר דקות. שמור את כל הקבצים המכילים מידע שאתה עלול לאבד אחרת וסגור את כל היישומים. המכונה אמורה לרדת, להפעיל מחדש כמו שצריך ליצור מיני דומפ וגם מזבלה של גרעינים.

הפעלת NotMyFault

הפעל את NotMyFault ובחר אז את תקלה IRQL גבוהה (מצב ליבה). . . לחץ על כפתור ההתרסקות. התסכול שלך יופיע תוך שנייה, הן קובץ dump של minidump והן קובץ dump kernel יישמרו ואם המערכת תוגדר כראוי - המערכת תפעיל מחדש.

מעל ממשק המשתמש של W8 תהיה רצועת כחול עם המסר כי 'המחשב שלך נתקל בבעיה. . . '. אם תלחץ על הלחצן 'שלח פרטים', מיקרוסופט תשתמש ב- WinDbg ובפקודה 'ניתוח' כחלק משירות אוטומטי כדי לזהות את הסיבה השורשית לבעיה. הפלט משולב עם מסד נתונים של תיקוני באגים של מנהלי התקנים שיסייעו בזיהוי התקלה.