Windows על Arm: האם מנהל ההתקן של VPN ייטען באמת?
אפליקציה בהרצת אמולציה יכולה לעלות, בעוד שמנהל התקן VPN במצב ליבה אינו יכול להיטען. בדקו את ארכיטקטורת החבילה ואת הרכיבים הנדרשים לפני העברת מחשב נייד.
המתקין רץ, החלון נפתח ובקשת הכניסה מופיעה, כך שההעברה נראית גמורה. ואז המנהרה נכשלת בנקודה שבה הלקוח זקוק למתאם הווירטואלי שלו, והשגיאה מזכירה שירות או מנהל התקן ולא פרטי זיהוי. ב-Windows על Arm הרצף הזה נפוץ, משום שכלל התאימות משתנה בין קוד במצב משתמש לקוד במצב ליבה. אישור מחשב נייד דורש את הבדיקה השנייה, לא את הראשונה.
בקשו את הארכיטקטורה של החבילה כולה, ואז אמתו אותה במחשב.
החלק שהאמולציה אינה מכסה
Windows על Arm יכול להריץ יישומי x86 ו-x64 באמצעות אמולציה כל עוד הם נשארים במצב משתמש. רכיבים במצב ליבה אינם זוכים ליחס הזה: מנהל התקן חייב להיבנות עבור Arm64 כדי להיטען בכלל. Microsoft מתעדת את הגבול הזה, והוא בדיוק המקום שבו לקוחות VPN נוטים להימצא, משום שרבים מהם מתקינים מתאם רשת וירטואלי או מנהל התקן סינון.
לכן חבילה יכולה להציג ממשק עובד ועדיין להיות חסרת תועלת. הכשל מופיע כמתאם חסר, כשירות שאינו מתחיל או כמנהרה שלעולם אינה נוצרת. זו הנקודה שבה פיילוט צריך לעצור. מסך כניסה אינו הוכחה לנתיב נתונים עובד.
שלושה תנאים שמכריעים את ההעברה
הראשון הוא החבילה. בנייה ל-x64 ובנייה ל-Arm64 שתיהן נקראות 64-ביט ואינן ניתנות להחלפה, ולכן הורדה שמתוארת רק כ-Windows 64-ביט אינה מוכיחה דבר על מכשיר Arm. המתקין הנתמך של הספק עבור אותה ארכיטקטורה הוא נקודת המוצא היחידה המקובלת.
השני הוא שאר הרכיבים הנדרשים. בדיקות מצב מכשיר, עזרי אימות מבוססי דפדפן ותוכנת ביניים לכרטיסים חכמים עשויים כל אחד לדרוש ארכיטקטורה משלו, והצלחה של המנהרה בלבד אינה מראה שמדיניות הגישה של הארגון מסופקת.
השלישי הוא השער וקבוצת הלקוחות הנתמכת שלו. אם ללקוח המאושר אין בנייה ל-Arm, לקוח אחר מתקבל רק במקום שבו בעל השער תומך בפרוטוקול של אותו לקוח, בשיטת האימות שלו ובהתנהגות המדיניות שלו. פרופיל Windows VPN מובנה אינו יכול להחליף לקוח קנייני רק משום ששניהם מתוארים כ-IPsec.
קראו את הארכיטקטורה במכשיר
ודאו מהו המחשב, ואז ראו אילו מנהלי התקן החבילה התקינה בפועל. ספירה לוקחת דקה ומונעת ויכוח על משמעות המונח "64-bit".
Get-CimInstance Win32_OperatingSystem | Select-Object OSArchitecture $env:PROCESSOR_ARCHITECTURE pnputil /enum-drivers | Select-String -Pattern 'vpn|tap|wintun' -Context 0,3 Get-NetAdapter | Format-Table Name,InterfaceDescription,DriverProvider
אם רשימת המתאמים אינה מציגה דבר עבור הלקוח, או שרישומת מנהל ההתקן מדווחת על אי-התאמה בארכיטקטורה, ההעברה נעצרת שם. הכנסת מנהל התקן Arm64 למיכל הישן אינה משהו שהספק תומך בו, והגדרות מצב תאימות אינן ממירות מנהל התקן ליבה x64.
השוו את הגרסה המותקנת לרשימה הנתמכת של הספק עבור Arm, ורשמו את ההבדל אם המתקין הגיע ממאגר פנימי ולא מהספק.
אשרו את עומס העבודה, לא את מסך הכניסה
הריצו את הפיילוט כשהמכשיר העובד הקודם זמין כחלופה. אמתו הקצאת פרופיל, את הזהות המיועדת וכל בדיקות מכשיר, ואז נסו את היישום הפרטי ולא רק את מצב המנהרה.
כללו DNS פרטי, את המסלולים ומשפחות הכתובות הנדרשים, חיבור מחדש לאחר שינוי רשת ואת מצב הניתוק שצוין. תעדו גרסאות לקוח ורכיבים יחד עם התוצאה, משום שהעדכון הבא יציג שוב את אותן שאלות.
לבסוף, ודאו שקיימים מסלולי עדכון והסרה נתמכים לפלטפורמה הזו. חבילה שעובדת רק לאחר החלפות לא מתועדות יוצרת את אותה בעיית העברה בשחרור הבא, עם פחות זמן לפתור אותה.