משתמשים חדשים רבים שזה עתה עברו ללינוקס ממערכת ההפעלה Windows, ועדיין מריצים מערכת זו מעת לעת, מתמודדים עם הבעיה שלאחר טעינת Windows באובונטו, הזמן הולך אחורה או אחורה מספר שעות, ולאחר מכן לאחר מספר אתחולים מחדש כבר קשה להבין מה השעה עכשיו.
כל זה קורה עקב הבדלים בפורמט אחסון הזמן במערכות הפעלה אלו. וזה יקרה בכל פעם שאתה אתחול מחדש, לא משנה כמה אתה מגדיר את הזמן הנכון. אבל את הבעיה הזו אפשר לפתור. ואפילו בכמה אופנים. במאמר זה נבחן כיצד לפתור את בעיית הזמן ללכת לאיבוד באובונטו ובווינדוס.
כפי שכבר אמרתי, הבעיה היא בפורמטים שונים לאחסון ושחזור זמן. ישנם שני סוגים של שעונים במחשב. שעוני חומרה פועלים תמיד, גם כשהמחשב כבוי ושעון התוכנה מובנה בקרנל. כאשר המחשב מופעל, הערך של שעון החומרה נכתב לשעון התוכנה, ובהמשך מערכת ההפעלה לוקחת את הזמן משם. אבל Windows ולינוקס פועלים אחרת עם שני השעונים האלה. ישנן שתי דרכים לעבוד:
אז למה זמן אובונטו ו-Windows הולך לאיבוד? נניח ש-Windows פועל, ועם הזמן הכל בסדר שם, הוא נשמר בפורמט זמן מקומי. אבל כשאתה מאתחל ללינוקס, מערכת ההפעלה לוקחת את Localtime וחושבת שזה UTC. כך, המשתמש ייקח את הזמן הנכון ממילא ויוסיף לו תיקון לאזור הזמן. לכן, השעה כבר לא תהיה נכונה.
לאחר מכן, תיקנת את השעה, ועכשיו שעון החומרה עובד ב-UTC. אבל אז טען את Windows. המערכת חושבת שזה Localtime וכדי להגדיר את זמן התוכנה הנכון, מוסיפה תיקון אזור זמן לחומרה, למשל במקרה שלנו +3. ואז כל משתמש מחיל את התיקון הזה שוב והשעה כבר כבויה, שוב.
הדרך הבטוחה היחידה לפתור את הבעיה היא לגרום לשתי המערכות לעבוד באותו פורמט, וזה בכלל לא קשה. יתר על כן, אתה יכול ללכת בשתי דרכים: או לגרום ל-Windows לעבוד ב-UTC, או לינוקס בפורמט Localtime, שזה לא לגמרי נכון, אבל בהחלט אפשרי. אז בואו נעבור לפתרון הבעיה של הזמן ללכת לאיבוד באובונטו.
לכן, אם אתה נתקל בבעיות תזמון של Windows ו-Linux בעת מעבר בין מערכות הפעלה, הדרך הטובה ביותר היא לאלץ את Windows לעבוד בפורמט נכון והגיוני יותר. כדי לעשות זאת, פשוט הוסף מפתח רישום אחד. אתה יכול לעשות זאת עם פקודה אחת במסוף. כדי לפתוח את המסוף ב-Windows 10, הזז את העכבר לפינה השמאלית התחתונה ולאחר מכן לחץ על הכפתור הימני. מתפריט ההקשר, בחר שורת פקודה (מנהל):
> Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
ועבור 64 סיביות, עליך להשתמש בסוג הערך REG_QWORD:
> Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 1
כמעט מוכן, אבל שירות הזמן של Windows, ללא קשר להגדרה זו, יכתוב את השעה בפורמט מקומי בעת עדכון דרך האינטרנט, כך שנוח להשבית את השירות הזה. כדי לעשות זאת, הפעל:
> sc config w32time start= מושבת
אם אתה רוצה להחזיר הכל כמו שהיה, אז זה יכול להיעשות בקלות ככל האפשר. ראשית נחזיר את מפתח הרישום למיקום הנכון:
> Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 0
והפעל את שירות הסנכרון בחזרה:
> sc config w32time start= demand
כברירת מחדל, לינוקס משתמשת בפורמט זמן UTC, אך אם אובונטו 16.04 מתעסק עם זמן Windows, אתה יכול בקלות רבה לאלץ את המערכת לאחסן זמן מקומי בטיימר החומרה. בכל ההפצות המשתמשות ב-Systemd, כולל אובונטו 16.04, כל מה שאתה צריך לעשות הוא להפעיל את הפקודה:
sudo timedatectl set-local-rtc 1 --adjust-system-clock
כדי להציג את המצב הנוכחי של שעוני החומרה והתוכנה, הפעל:
sudo timedatectl
סיימת, כעת תוכל להפעיל מחדש את המחשב ולהפעיל את Windows כדי לוודא שהשעה לא תלך לאיבוד בעת אתחול מחדש. במערכות אובונטו ישנות יותר, עליך לערוך את הקובץ /etc/default/rcS ולהחליף את UTC=yes ב-UTC=no. אתה יכול לעשות זאת עם הפקודה:
sudo sed -i "s/UTC=yes/UTC=no/" /etc/default/rcS
שוב, אתה יכול להחזיר הכל כפי שהיה בפקודה אחת:
sudo timedatectl set-local-rtc 0
ובהפצות ישנות יותר של אובונטו:
sudo sed -i "s/UTC=no/UTC=yes/" /etc/default/rcS
זה הכל. כעת, אם נתקלתם בבעיה בווינדוס 10 - הזמן אבוד באובונטו או בכל הפצת לינוקס אחרת, כבר תדעו איך לפתור אותה בשתי שיטות עבודה לחלוטין. אם יש לך שאלות, שאל בתגובות!
הבנו איך להגדיר את השעה הנכונה באובונטו ובווינדוס כדי שאזורי זמן לא יתבלבלו, אבל מה הם אזורי זמן ולמה הם נחוצים בוא נסיים את הסרטון על זה:
במצב UEFI (אתחול מאובטח). זמן ה-BIOS שלי נכון.
כשאני מאתחל באובונטו ואז מאתחל ל-Windows 10, זה מראה את הזמן הלא נכון. אני צריך לתקן את זה באופן ידני או מקוון ב-Windows 10 וכשאני אתחול מחדש ב-Windows 10 זה לא בעיה. השעון מראה את השעה הנכונה. ואז כשאני מאתחל ללינוקס השעון תקין, אבל כשחוזרים ל-Windows 10 השעון מתחיל לעבוד שוב.
מערכות הפעלה מאחסנות ומחזירות זמן בשעון חומרה הממוקם על לוח האם שלך כדי לעקוב אחר הזמן גם כאשר המערכת אינה מופעלת. רוב מערכות ההפעלה (Linux/Unix/Mac) מאחסנות את השעה על שעון החומרה כ-UTC כברירת מחדל, אם כי מערכות מסוימות (בעיקר Microsoft Windows) מאחסנות את השעה על שעון החומרה כזמן "מקומי". זה גורם לבעיות במערכת אתחול כפול אם שתי המערכות מתייחסות לשעון החומרה בצורה שונה.
היתרון בשימוש בשעון חומרה כ-UTC הוא שאינך צריך לשנות את שעון החומרה בעת מעבר בין אזורי זמן או כאשר שעון הקיץ (DST) מתחיל או מסתיים, שכן ל-UTC אין קיזוז זמן או זמן.
שינוי לינוקס לשימוש בזמן מקומי קל ואמין יותר משינוי של Windows לשימוש ב-UTC, כך שמערכות Linux/Windows אתחול כפול משתמשות בדרך כלל בזמן מקומי.
מאז Intrepid (8.10), UTC = yes הוא ברירת המחדל.
הפוך את Windows להשתמש ב-UTC
הערה. שיטה זו לא נתמכה במקור ב-Windows Vista וב-Server 2008, אך חזרה עם Vista SP2, Windows 7, Server 2008 R2 ו-Windows 8/8.1.
כך ש-MS Windows מחשבת את הזמן משעון החומרה בפורמט UTC.
צור קובץ בשם WindowsTimeFixUTC.reg עם התוכן הבא ולאחר מכן לחץ עליו פעמיים כדי למזג את התוכן לתוך הרישום:
עורך הרישום של Windows גרסה 5.00 "RealTimeIsUniversal"=dword:00000001
הערה. שירות Windows Time עדיין יתעד זמן מקומי ב-RTC ללא קשר להגדרת הרישום לעיל כאשר הוא כבוי, כך שנוח להשבית את שירות Windows Time באמצעות פקודה זו (אם נדרש סנכרון זמן בזמן ש-Windows משתמש בסנכרון זמן כלשהו של צד שלישי ):
Sc config w32time start= מושבת
בטל את השינוי
אתה יכול ליצור קובץ עם התוכן הבא ולאחר מכן ללחוץ עליו פעמיים כדי למזג את השינויים המקוריים כמו לעיל:
עורך הרישום של Windows גרסה 5.00 "RealTimeIsUniversal"=-
אם שירות Windows Time הושבת, הפעל אותו שוב באמצעות הפקודה:
Sc config w32time start= demand
הפוך את לינוקס לזמן "מקומי".
כדי לומר למערכת אובונטו שלך ששעון החומרה מוגדר לזמן "מקומי":
- שנה /etc/default/rcS
הוסף או שנה את הסעיף הבא
# הגדר את UTC=כן אם שעון החומרה שלך מוגדר ל-UTC (GMT) UTC=לא
מערכות אובונטו 15.04 ומעלה (למשל אובונטו 16.04 LTS):
פתח מסוף והפעל את הפקודה הבאה
אם ברצונכם לראות באתר שלנו תשובות לשאלותיכם בכל הקשור לטכנולוגיית אפל, מערכת ההפעלה Mac OS X (והשקה שלה במחשב), כתבו לנו דרך או.
קיבלנו את השאלה הבאה:
אחר הצהריים טובים!
Hackintosh מריץ את Snow Leopard, Windows 7 ואובונטו. הזמן הולך לאיבוד כל הזמן לאחר אתחול מחדש ((Mac OS תמיד מחזיר אותו 4-5 שעות אחורה! ספר לי איך לתקן את הבעיהבעיה עם סנכרון זמןרלוונטי לא רק עבור Hackintoshs, אלא גם עבור Macs אמיתיים, עליהם Windows פועל באמצעות Boot Camp. הסיבה לכך פשוטה מאוד: Mac OS X תמיד מניח שהזמן שנרשם ב-BIOS (או EFI) כתוב שם בפורמט UTC- במילים אחרות, לפי גריניץ'. אליו היא מוסיפה את התיקון המתאים לאזור הזמן.
אבל Windows עושה דברים אחרת: זה קורא ישירותזמן מה-BIOS. ואם תשנה את הזמן הזה, או שהוא מסונכרן אוטומטית, אז זה יירשם ב-BIOS בפורמט המתוקן: UTC+תיקון.
איך לפתור את הסתירה הזו? ישנן שתי גישות: אחת מהצד של Mac OS, השנייה מהצד של Windows ו-Linux.
פתרון באמצעות Mac OS X
בוא נגיד מיד שזו לא הדרך הטובה ביותר. השורה התחתונה היא שעבור Mac OS X אנחנו מגדירים את אזור הזמן ל-Greenwich Mean Time. לדוגמה, בהגדרות (מרחוק תאריך ושעה, לשונית אזור זמן) בחר כישוב שלך רייקיאוויק.
בנוסף, בלשונית "תאריך ושעה"הקפד לבטל את סנכרון הזמן האוטומטי, אחרת זה יתברר אפילו יותר גרוע מבעבר.
לאחר השלבים האלה, השעה ב-Windows תמיד תהיה נכונה, ו-Mac OS X לא יבלבל אותו. אבל למה זו לא הדרך הטובה ביותר? העובדה היא שאם אתה מסנכרן גאדג'ט כלשהו עם Mac OS X - למשל, אייפון, אז אזור הזמן הלא נכון יעוות נתונים חשובים רבים. לדוגמה, שעת ה-SMS הנכנסת תהיה גם גריניץ'.
פתרון באמצעות Windows ולינוקס
דרך נוספת היא לאפשר ל-Windows ולינוקס לקרוא את הזמן מה-BIOS באותו אופן שבו Mac OS קורא. למרבה המזל, הזדמנות כזו אכן מסופקת, אבל היא חבויה עמוק מאוד.
ב-Windows, תצטרך להפעיל את התוכנית מחלון ההפעלה regedit—עורך רישום.לאחר מכן עבור לשרשור \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformationוליצור שם ערך DWORD עם השם RealTimeIsUniversalוערך השווה לאחד:
בלינוקס (לפחות באובונטו), אתה צריך לערוך את הקובץ /etc/default/rcSבכל עורך טקסט ולהחליף את תוכן הפרמטר "UTC=לא"עַל "UTC=כן".
לאחר מכן, אתחל מחדש ל-Mac OS X והגדר את אזור הזמן המקורי שלך, במקביל תוכל להפעיל סנכרון זמן אוטומטי דרך האינטרנט. לאחר אתחול מחדש ב-Windows וב-Ubuntu תראה בדיוק את אותו הזמן.
במאמר זה דיברתי על הסיבות והפתרונות שלהן אם התאריך והשעה במחשב שלך אובדים. מאמר זה עסק בבעיות נפוצות ללא קשר למספר מערכות ההפעלה המותקנות במחשב הנייד וביחידת המערכת.
היום נדבר על הבעיה כאשר השעה, כלומר השעון, משתבשת במספר שעות, כאילו אזור הזמן משתנה. בעיה זו התעוררה עבורי לאחר שהתחלתי להשתמש בשתי מערכות הפעלה Linux ו-Windows במחשב שלי בו זמנית.
מסתבר שהבעיה הזו לא כל כך חדשה. כדי לפתור בעיה זו נכתבו בעיות רבות באינטרנט.
מהות הבעיה היא אם השעה לא נכונה.
ישנן שתי מערכות הפעלה במחשב האישי, כלומר לינוקס וחלונות.
אני מפעיל לינוקס - השעה רגילה.
עשיתי קצת עבודה ואתחול לחלונות - השעה מראה כמה שעות קודם (או מאוחר יותר, אני לא זוכר בדיוק).
קבעתי את השעה, הגדרתי סנכרון אוטומטי עם האינטרנט, אבל שום דבר לא עזר. אי אפשר לפתור את הבעיה בצורה פשוטה. חיפשתי באינטרנט ומסתבר שהבעיה היא שלמחשב יש שני סוגי שעונים, חומרה ותוכנה.
שעון החומרה תמיד פועל, גם כשהמחשב כבוי, יש סוללה נוספת, מצבר על הלוח. זה שומר על חלוף הזמן וחוסך הגדרות.
זמן התוכנית, הוא נכתב לתוכנית כאשר הוא מופעל ואז נלקח משם.
Windows ולינוקס עובדים אחרת עם שעונים אלה, ומכאן תקלת התזמון בעת אתחול מחדש ממערכת הפעלה אחת לאחרת.
כאן. מה כתוב על זה באתרים אחרים על זה:
איך פותרים את הבעיה הזו?
הפוך את Windows ולינוקס לעבוד אותו הדבר עם שעון החומרה הזה.
באינטרנט, בנושא "הזמן אבוד", נכתב שהפתרון הנכון יהיה לגרום ל-Windows לעבוד כהלכה. לינוקס עובדת כמו שצריך, לפי אנשים רבים.
זה אומר שצריך לגרום ל-Windows לעבוד כמו לינוקס לאורך זמן.
תהליך פתרון הבעיה עצמו.
עליך להוסיף את המפתח לרישום של מערכת ההפעלה Windows שלך.
ישנן דרכים להוסיף מפתח זה באמצעות פקודה, באמצעות שורת הפקודה. נעשה הכל ביד לפי הסדר. ולעצמנו יהיה ברור מה עשינו, והמוח שלנו יעבוד קצת.
התקשר לחלון הביצוע באמצעות קיצור מקלדת +R.או פשוט בחר בצע מהתפריט.
הקלד regedit ולחץ על אישור.
עורך הרישום ייפתח.
עבור אל סניף הרישום לאורך השביל HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
שם, בחצי השמאלי של העורך, לחץ לחיצה ימנית ולחץ על צור פרמטר
עבור מערכות x32 סיביות DWORD
עבור מערכות QWORD x64 סיביות
תן לזה את השם RealTimeIsUniversal
משתמשים חדשים רבים שזה עתה עברו ללינוקס ממערכת ההפעלה Windows, ועדיין מריצים מערכת זו מעת לעת, מתמודדים עם הבעיה שלאחר טעינת Windows באובונטו, הזמן הולך אחורה או אחורה מספר שעות, ולאחר מכן לאחר מספר אתחולים מחדש כבר קשה להבין מה השעה עכשיו. כל זה קורה עקב הבדלים בפורמט אחסון הזמן במערכות הפעלה אלו. וזה יקרה בכל פעם שאתה אתחול מחדש, לא משנה כמה אתה מגדיר את הזמן הנכון. אבל את הבעיה הזו אפשר לפתור. ואפילו בכמה אופנים. במאמר זה נבחן כיצד לפתור את בעיית הזמן ללכת לאיבוד באובונטו ובווינדוס.
הגדרת Windows לעבודה עם UTC
לכן, אם אתה נתקל בבעיות תזמון של Windows ו-Linux בעת מעבר בין מערכות הפעלה, הדרך הטובה ביותר היא לאלץ את Windows לעבוד בפורמט נכון והגיוני יותר. כדי לעשות זאת, פשוט הוסף מפתח רישום אחד. אתה יכול לעשות זאת עם פקודה אחת במסוף. כדי לפתוח את המסוף ב-Windows 10, הזז את העכבר לפינה השמאלית התחתונה ולאחר מכן לחץ על הכפתור הימני. מתפריט ההקשר, בחר שורת פקודה (מנהל):
> Reg add HKLM\SYSTEM\CurrentControlSet\Control\Ti meZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
ועבור 64 סיביות, עליך להשתמש בסוג הערך REG_QWORD:
> Reg add HKLM\SYSTEM\CurrentControlSet\Control\Ti meZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 1
Target="_blank">https://losst.ru/wp-content/uploads/2016/10/utc-windows-600x139-300x70.png 300w" width="600" />
כמעט מוכן, אבל שירות הזמן של Windows, ללא קשר להגדרה זו, יכתוב את השעה בפורמט מקומי בעת עדכון דרך האינטרנט, כך שנוח להשבית את השירות הזה. כדי לעשות זאת, הפעל:
> sc config w32time start= מושבת
איך לחזור אחורה?
אם אתה רוצה להחזיר הכל כמו שהיה, אז זה יכול להיעשות בקלות ככל האפשר. ראשית נחזיר את מפתח הרישום למיקום הנכון:
> Reg add HKLM\SYSTEM\CurrentControlSet\Control\Ti meZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 0
והפעל את שירות הסנכרון בחזרה:
> sc config w32time start= demand
הגדרת LINUX ל-LOCALTIME
כברירת מחדל, לינוקס משתמשת בפורמט זמן UTC, אך אם אובונטו 16.04 מתעסק עם זמן Windows, אתה יכול בקלות רבה לאלץ את המערכת לאחסן זמן מקומי בטיימר החומרה. בכל ההפצות המשתמשות ב-Systemd, כולל אובונטו 16.04, כל מה שאתה צריך לעשות הוא להפעיל את הפקודה:
Sudo timedatectl set-local-rtc 1 --adjust-system-clock
כדי להציג את המצב הנוכחי של שעוני החומרה והתוכנה, הפעל:
Sudo timedatectl
Target="_blank">https://losst.ru/wp-content/uploads/2016/10/rtc-localtime-600x242-300x121.jpg 300w" width="600" />
סיימת, כעת תוכל להפעיל מחדש את המחשב ולהפעיל את Windows כדי לוודא שהשעה לא תלך לאיבוד בעת אתחול מחדש. במערכות אובונטו ישנות יותר, עליך לערוך את הקובץ /etc/default/rcS ולהחליף את UTC=yes ב-UTC=no. אתה יכול לעשות זאת עם הפקודה:
Sudo sed -i "s/UTC=yes/UTC=no/" /etc/default/rcS
איך לחזור אחורה?
שוב, אתה יכול להחזיר הכל כפי שהיה בפקודה אחת:
Sudo timedatectl set-local-rtc 0
ובהפצות ישנות יותר של אובונטו:
Sudo sed -i "s/UTC=no/UTC=yes/" /etc/default/rcS
מסקנות
זה הכל. כעת, אם נתקלתם בבעיה בווינדוס 10 - הזמן אבוד באובונטו או בכל הפצת לינוקס אחרת, כבר תדעו איך לפתור אותה בשתי שיטות עבודה לחלוטין.