במאמר הזה נתאר את השיטות והכלים שאפשר להשתמש בהם כדי לפתור את הבעיות הבאות בהפעלה של מכונות וירטואליות (VM) של Windows ב-Compute Engine:
אתם לא מצליחים להתחבר למכונה הווירטואלית באמצעות RDP, ופתרון הבעיות לא פותר את בעיית החיבור.
מסך הכניסה לא מופיע בצילום המסך של המכונה הווירטואלית, ולא נראה שהמכונה הווירטואלית מתקדמת או מבצעת עדכון.
נתקלתם בשגיאת מסך כחול, במכונה וירטואלית שקפאה או במכונה וירטואלית שמתנהגת באופן לא יציב במהלך פעולה רגילה.
אם נתקלתם בבעיות בחיבור למכונות וירטואליות של Windows, אפשר להיעזר במאמר בנושא פתרון בעיות ב-RDP.
כדי לזהות למה מכונת Compute לא מצליחה לבצע אתחול, וכדי לזהות את הסיבה באופן אוטומטי, אפשר לעיין במאמר בנושא פתרון בעיות באתחול של מכונות Compute Engine של Windows.
אם נתקלתם בבעיות שקשורות להעברה למכונה וירטואלית מדור שלישי, תוכלו לעיין במאמר על בעיות מוכרות ב-Windows.
לפני שמתחילים
- במאמר פתרון בעיות מתקדם של Microsoft לבעיות באתחול של Windows מוסבר איך פותרים בעיות בתהליך האתחול של Windows.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא התהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים האלה:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת Google Cloud לשירותים ולממשקי ה-API, לא צריך להגדיר אימות.
gcloud
-
התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
- הגדרת אזור ותחום כברירת מחדל
שימוש בתפריט 'אפשרויות אתחול מתקדמות'
אם Windows לא מופעל בצורה תקינה, אפשר להשתמש בתפריט 'אפשרויות אתחול מתקדמות' כדי לגשת למצב בטוח או להשלים תיקון אונליין של מערכת ההפעלה. מידע נוסף זמין במאמר בנושא אפשרויות מתקדמות להפעלה.
כדי להיכנס לתפריט Advanced Boot Options ב-VM של Windows:
- אם עדיין לא עשיתם זאת, מפעילים מכשיר תצוגה עבור המכונה הווירטואלית.
מאפסים את המכונה הווירטואלית באחת מהשיטות הבאות:
המסוף
נכנסים לדף VM instances במסוף Google Cloud .
לוחצים על שם המכונה הווירטואלית שרוצים לאפס. הדף עם הפרטים של המכונה הווירטואלית ייפתח.
לוחצים על הלחצן Reset כדי להפעיל מחדש את ה-VM.
gcloud
משתמשים בפקודה
gcloud compute instances resetכדי לאפס את ה-VM:gcloud compute instances reset VM_NAME --zone=ZONE --project=PROJECT_IDמחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט שמכיל את המכונה הווירטואלית -
ZONE: שם האזור שבו נמצאת ה-VM -
VM_NAME: השם של ה-VM
שורת הפקודה
בזמן שאתם מחוברים לקונסולה הטורית האינטראקטיבית, פותחים סשן של שורת הפקודה ומריצים את הפקודה הבאה. מידע נוסף על פתיחת סשן של שורת פקודה זמין במאמר בנושא פתיחת שורת פקודה ב-Windows SAC.
shutdown /r /t 0
התפריט של Windows Boot Manager נפתח:

לפני שהספירה לאחור מסתיימת, מבצעים את הפעולות הבאות:
מוודאים שהקונסולה הטורית האינטראקטיבית היא החלון הפעיל.
לוחצים על המקש
Escבמקלדת.לוחצים על המקש עם המספר
8במקלדת.
תפריט אפשרויות האתחול המתקדמות נפתח:

משתמשים במקשי החיצים במקלדת כדי לבחור אפשרות, ואז פותחים אותה בלחיצה על מקש Enter.
הפעלת התפריט של Windows Boot Manager
אפשר להגדיר את התפריט של Windows Boot Manager כך שיוצג כשמפעילים מחדש מכונה וירטואלית של Windows. כדי להפעיל את התפריט של מנהל האתחול של Windows:
מתחברים למכונה הווירטואלית ופותחים את שורת הפקודה עם הרשאת אדמין.
אם לא מצליחים להתחבר ל-VM, מוסיפים את השלבים הבאים כערכים לwindows-startup-script-cmd או לwindows-startup-script-ps1 סקריפט לטעינה בזמן ההפעלה במקום להריץ אותם ישירות.
שורת הפקודה
כדי להפעיל את התפריט של Windows Boot Manager בזמן ההפעלה ולהוסיף זמן קצוב של 15 שניות, מריצים את הפקודות הבאות:
bcdedit /set {bootmgr} displaybootmenu yesbcdedit /set {bootmgr} timeout 15כדי להפעיל מחדש את המכונה הווירטואלית ולהציג את תפריט מנהל האתחול של Windows במסוף הטורי, משתמשים בפקודה הבאה:
shutdown -r -t 0
PowerShell
כדי להפעיל את התפריט של Windows Boot Manager בזמן ההפעלה ולהוסיף זמן קצוב של 15 שניות, מריצים את הפקודות הבאות:
bcdedit /set '{bootmgr}' displaybootmenu yesbcdedit /set '{bootmgr}' timeout 15כדי להפעיל מחדש את המכונה הווירטואלית ולהציג את תפריט מנהל האתחול של Windows במסוף הטורי, משתמשים בפקודה הבאה:
shutdown -r -t 0
השלמת תיקון אופליין
אם ה-VM לא מופעל כמו שצריך והשימוש בתפריט האתחול המתקדם לא פתר את הבעיה, נסו לבצע תיקון אופליין באמצעות מכונה וירטואלית תקינה של Windows לשחזור, עם קובץ snapshot של דיסק האתחול של ה-VM הבעייתי. שימוש בתמונת מצב נותן לכם עותק גיבוי שאפשר לשנות בלי לשנות את המצב של ה-VM המקורי.
יוצרים קובץ snapshot של דיסק האתחול של מכונת ה-VM הבעייתית.
יוצרים דיסק באמצעות ה-snapshot.
יוצרים מכונה וירטואלית עם דיסק נוסף שהוא לא דיסק אתחול, באמצעות הדיסק החדש שנוצר. המכונה הווירטואלית לשחזור צריכה לעמוד בקריטריונים הבאים:
- המכונה הווירטואלית לשחזור צריכה להיות באותו אזור שבו נמצא הדיסק שנוצר.
- גם המכונה הווירטואלית לשחזור צריכה להשתמש בתמונת Windows Server.
- תמונת המקור של דיסק האתחול של המכונה הווירטואלית לשחזור צריכה להיות שונה מתמונת המקור של דיסק האתחול של המכונה הווירטואלית הבעייתית.
עכשיו אפשר להשתמש בכלים ובכלי העזר של Windows כדי לנסות לתקן אופליין את הדיסק הנוסף שמחובר. במסמכים הבאים יש פרטים על השלמת תיקון אופליין של מכונה וירטואלית:
אם התיקון במצב אופליין הושלם בהצלחה, צריך לעדכן את דיסק האתחול של המכונה הווירטואלית הבעייתית כך שיהיה דיסק האתחול החדש שתוקן.
אופציונלי: מוחקים את המשאבים הנוספים כשכבר לא צריך אותם:
- מחיקת מכונת ה-VM לשחזור
- מחיקת דיסק האתחול המקורי הפגום
- מחיקת תמונת המצב המקורית של דיסק האתחול הפגום
פתרון בעיות שקשורות לשגיאות במסך הכחול
במערכת ההפעלה Windows יכולה להופיע שגיאת קוד עצירה או מסך כחול, שנקראת גם "מסך המוות הכחול". אם מופיעה שגיאת מסך כחול במכונה וירטואלית, ה-VM מפסיק לפעול וצריך לבצע הפעלה מחדש כדי לחזור לפעילות רגילה.
אם אתם חושבים שייתכן שהתרחשה שגיאת מסך כחול, אתם יכולים לאשר זאת על ידי זיהוי נוכחות של שגיאות באמצעות אחת או יותר מהשיטות הבאות:
יציאה טורית 1
נכנסים לדף VM instances במסוף Google Cloud .
לוחצים על שם המכונה הווירטואלית שאת היומנים שלה רוצים להציג. הדף עם הפרטים של המכונה הווירטואלית ייפתח.
בקטע Logs, לוחצים על יציאה טורית 1.
דוח קריסות שדומה לדוח הבא מאשר שגיאת מסך כחול:
ntoskrnl.exe [0xFFFFF802C9606000, 0xFFFFF802C9E23000] netbios.sys [0xFFFFF80E98430000, 0xFFFFF80E98442000] volmgr.sys [0xFFFFF80E97E40000, 0xFFFFF80E97E58000] NTFS.sys [0xFFFFF80E98060000, 0xFFFFF80E98293000] crashdmp.sys [0xFFFFF80E986C0000, 0xFFFFF80E986D9000] pvpanic.sys [0xFFFFF80E99030000, 0xFFFFF80E9903C000] myfault.sys [0xFFFFF80E9A570000, 0xFFFFF80E9A578000] Dumping stack trace: 0xFFFFF80E990317C7 (pvpanic.sys+0x17C7) 0xFFFFF80E990316D3 (pvpanic.sys+0x16D3) 0xFFFFF802C97D9681 (ntoskrnl.exe+0x1D3681) 0xFFFFF802C97D8A1F (ntoskrnl.exe+0x1D2A1F) 0xFFFFF802C97633F4 (ntoskrnl.exe+0x15D3F4) 0xFFFFF802C9773329 (ntoskrnl.exe+0x16D329) 0xFFFFF802C976F152 (ntoskrnl.exe+0x169152) 0xFFFFF80E9A572794 (myfault.sys+0x2794) Current Process: notmyfault64.e
יציאה טורית 2
נכנסים לדף VM instances במסוף Google Cloud .
לוחצים על שם המכונה הווירטואלית שאת היומנים שלה רוצים להציג. הדף עם הפרטים של המכונה הווירטואלית ייפתח.
בקטע Logs, מרחיבים את האפשרות More ולוחצים על יציאה טורית 2 (console).
בודקים את היציאה הטורית של המכונה ומחפשים פלט דומה לזה:
!SAC> Your PC ran into a problem and needs to restart. If you call a support person, give them this info: UNEXPECTED_KERNEL_MODE_TRAP myfault.sys 0x0000000000000008 0xFFFFC6812AB94F70 0xFFFFC6812E38EFF0 0xFFFFF80E9A572794 We're just collecting some error info, and then we'll restart for you. 100% complete
שורת הפקודה
מתחברים למכונה ופותחים את שורת הפקודה עם הרשאת אדמין.
כדי להציג את האירוע האחרון של המסך הכחול, מריצים את הפקודה הבאה:
wevtutil qe System "/q:*[System [(EventID=1001)]]" /rd:True /c:1 /f:Text
בודקים את הפלט, שדומה לזה:
Event[0]: Log Name: System Source: Microsoft-Windows-WER-SystemErrorReporting Date: 2021-04-14T08:53:52.933 Event ID: 1001 Task: N/A Level: Error Opcode: N/A Keyword: Classic User: N/A User Name: N/A Computer: WINDOWS Description: The computer has rebooted from a bugcheck. The bugcheck was: 0x1000007f (0x 0000000000000008, 0xffffc6812ab94f70, 0xffffc6812e38eff0, 0xfffff80e9a572794 ). A dump was saved in: C:\Windows\Minidump\041421-12656-01.dmp. Report Id: a5710c98-a577-4b3e-a3c9-2fc0aa4e5d83.
מידע על התאמה אישית של שאילתות wetutil זמין במאמר wevtutil.
Disk Snapshot
אם המכונה הווירטואלית כבר לא פועלת, או אם השיטות האחרות לא עזרו. אפשר לבדוק את דיסק האתחול של המכונה הווירטואלית שמופיע בה המסך הכחול באמצעות מכונה וירטואלית משנית. שימוש בתמונת מצב מאפשר לכם לקבל עותק גיבוי שאפשר לשנות בלי לשנות את המצב של מכונת ה-VM המקורית.
יוצרים קובץ snapshot של דיסק האתחול של ה-VM שחשוד במסך הכחול.
יוצרים דיסק באמצעות ה-snapshot.
יוצרים מכונה וירטואלית עם דיסק נוסף שאינו דיסק אתחול, באמצעות הדיסק החדש שנוצר של המכונה הווירטואלית החשודה. מכונת ה-VM לשחזור צריכה לעמוד בקריטריונים הבאים:
- מכונת ה-VM לשחזור צריכה להיות באותו אזור שבו נוצר הדיסק.
- בנוסף, המכונה הוירטואלית לשחזור צריכה להשתמש בתמונה של Windows Server.
- תמונת המקור של דיסק האתחול של המכונה הווירטואלית לשחזור צריכה להיות שונה מתמונת המקור של דיסק האתחול של המכונה הווירטואלית הבעייתית.
מעיינים בדיסק הנוסף ומחפשים את הקבצים הבאים:
%SystemRoot%\Memory.dmp %SystemRoot%\Minidump\DATE-TIME-NUM.dmp
התאריך והשעה של הקובץ יכולים לעזור לכם לבדוק אם במכונה החשודה הייתה שגיאת מסך כחול. אפשר להשתמש בקבצים האלה גם לניתוח ולאבחון.
אופציונלי: מוחקים את המשאבים הנוספים כשכבר לא צריך אותם:
אחרי שמקבלים את פרטי השגיאה של המסך הכחול, ואם רוצים, מקבלים גישה לקובץ dump הזיכרון, צריך לפעול לפי שלבי האבחון וההמלצות שסופקו על ידי מיקרוסופט:
בעיות ברישוי
מערכות ההפעלה של Windows מחדשות את הרישיונות שלהן כל שבעה ימים על ידי התחברות לשרת Key Management Service (KMS). אם אתם מקבלים הודעות על תפוגת תוקף של רישיון או בעיות אחרות שקשורות לרישיונות במכונות הווירטואליות של Windows, בצעו את הפעולות הבאות:
מוודאים שרשת ה-VPC של ה-VM של Windows מוגדרת לאפשר תקשורת עם KMS.
מוודאים שחומת האש של Windows מאפשרת חיבורים יוצאים לשרת ה-KMS:
- כתובת IP:
35.190.247.13 - יציאה:
1688 - פרוטוקול:
TCP
למידע נוסף על הגדרת כללים של חומת האש המתקדמת של Windows, קראו את המאמר יצירת כלל ליציאה החוצה.
- כתובת IP:
כדי לוודא שהחיבור לשרת KMS הצליח, מריצים את הפקודה הבאה ב-Cloud Shell:
gcloud network-management connectivity-tests create test-access-to-gcp-kms \ --source-ip-address=WINDOWS_VM_IP_ADDRESS \ --destination-ip-address=35.190.247.13 \ --destination-port=1688 \ --protocol=TCP \ --round-tripכמו שמוצג בתמונה הבאה, הערך Next hop: Internet gateway אמור להופיע בשדה Static route בכרטיס התוצאות של Connectivity Test. אם מוצגת תוצאה אחרת, ההפעלה של Windows תיכשל.
. התוצאה צריכה להראות סטטוס של Reachabilityותוצאה שלSuccessful.מריצים את הפקודות הבאות כדי לאשר את המצב הנוכחי של הרישיון, להגדיר את כתובת ה-IP של שרת ה-KMS ולאלץ הפעלה:
cscript \windows\system32\slmgr.vbs /dlv
cscript \windows\system32\slmgr.vbs /skms 35.190.247.13:1688
cscript \windows\system32\slmgr.vbs /ato
פתרון בעיות בקונסולה טורית אינטראקטיבית
מוודאים שאתם עומדים בדרישות המוקדמות לגישה לקונסולה הטורית.
מפעילים את שירותי ניהול חירום. אם EMS מושבת, הקונסולה הטורית לא תקבל קלט מהמקלדת, אלא רק תציג מסך ריק עם סמן מהבהב.
שורת הפקודה
מתחברים למכונה הווירטואלית באמצעות RDP ופותחים את
Command Promptכאדמין. אם אי אפשר להשתמש ב-RDP, מוסיפים את השלבים הבאים כערכים למפתח ההפעלהwindows-startup-script-cmd.מגדירים את הגדרות ההפניה האוטומטית הגלובליות של EMS כך שישתמשו ב-COM2, קצב באוד של 115200, ומפעילים את EMS.
bcdedit /emssettings EMSPORT:2 EMSBAUDRATE:115200 bcdedit /ems on
מפעילים מחדש את ה-VM כדי להחיל את ההגדרות המעודכנות. אם אתם משתמשים בסקריפט מטא-נתונים, אל תוסיפו את פקודת הכיבוי.
shutdown -r -t 0
PowerShell
מתחברים באמצעות RDP ופותחים את
Powershellכאדמין. אם אי אפשר להשתמש ב-RDP, מוסיפים את השלבים הבאים כערכים למפתח ההפעלהwindows-startup-script-ps1.מגדירים את הגדרות ההפניה הגלובליות של EMS לשימוש ב-COM2, בקצב העברת נתונים של 115, 200 ומפעילים את EMS.
bcdedit /emssettings EMSPORT:2 EMSBAUDRATE:115200 bcdedit /ems on
מפעילים מחדש את ה-VM כדי להחיל את ההגדרות המעודכנות. אם אתם משתמשים בסקריפט מטא-נתונים, אל תוסיפו את פקודת הכיבוי.
shutdown -r -t 0