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

למה זה קרה?

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

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

ישנן שתי דרכים שונות שבהן אנו יכולים לתקן בעיה זו: אנו יכולים לשנות את האופן שבו לינוקס מפרשת את הזמן המאוחסן או לעשות אותו הדבר ל- Windows.

אפשרות 1: הפוך את לינוקס לשימוש בזמן המקומי

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

1. פתח את טרמינל והפעל את הפקודה הבאה:

 timedatectl set-local-rtc 1 --adjust-system-clock 

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

אם אי פעם צריך להפוך את הפקודה, לשנות את 1 ל 0:

 timedatectl set-local-rtc 0 --adjust-system-clock 

אפשרות 2: הפוך את Windows ל- UTC

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

1. השבת "קבע זמן באופן אוטומטי" תחת "זמן & שפה" ביישום הגדרות. פעולה זו תמנע מ- Windows לבטל את השינויים שאנו עומדים לבצע.

2. פתח את 'עורך הרישום' על-ידי הקלדת regedit בתפריט התחלה.

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

 \ System \ CurrentControlSet \ שליטה \ זמן 

4. לחץ לחיצה ימנית על "TimeZoneInformation" בחלונית השמאלית ובחר "חדש -> DWORD (32 סיביות) ערך" מתוך תפריט ההקשר.

5. שם את הערך החדש שלך "RealTimeIsUniversal".

6. לחץ פעמיים על הערך שיצרת זה עתה, הגדר את הערך שלה ל -1, ולחץ על "אישור".

סיכום

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