ฉันสังเกตเห็นปรากฏการณ์ที่น่าสนใจ บนเครื่อง Lenovo G50 ของฉันซึ่งมัลติบูต Windows 10 ด้วยโฮสต์ของการกระจาย Linux ทุกครั้งที่ฉันเปิดระบบปฏิบัติการ Microsoft เวลาจะลดลงหนึ่งชั่วโมง เขตเวลาถูกตั้งค่าอย่างถูกต้อง แต่วิดเจ็ตดิจิทัลขนาดเล็กที่มุมล่างขวานั้นปลอมเป็น 60 นาที
ฉันเริ่มสำรวจ อ่าน และตรวจสอบ และตระหนักว่าฉันควรเขียนคำแนะนำเล็กน้อยเกี่ยวกับเรื่องนี้ ตอนนี้ปัญหาอาจส่งผลกระทบต่อผู้ที่ใช้ Windows 10 แบบสแตนด์อโลนโดยไม่มีการอ้างอิงถึงระบบปฏิบัติการอื่น ไม่ว่าจะด้วยวิธีใด เราจะมุ่งเน้นไปที่วิธีแก้ปัญหาในด้านของ Windows และวิธีที่เราสามารถแก้ไขปัญหาได้
อะไรอาจนำไปสู่ปัญหา?
มีหลายสาเหตุที่ทำให้เวลาของ Windows 10 คลาดเคลื่อน บางครั้งผู้คนคิดว่านี่เป็นปัญหาทั่วไป และกรณีเฉพาะของพวกเขานั้นเป็นเรื่องสากล อนิจจามันไม่เป็นเช่นนั้น ปัญหาเกี่ยวกับไฟร์วอลล์ ปัญหาการบริการเวลาของ Windows การซิงค์เวลา มีหลายสถานการณ์ ฯลฯ เราไม่สามารถรู้ได้ทั้งหมด - แต่เราสามารถแก้ไขได้ทั้งหมด
โดยเฉพาะอย่างยิ่งในสถานการณ์ดูอัลบูต เราจำเป็นต้องเข้าใจแนวคิดบางประการ นี่คือคำอธิบายโดยละเอียดในส่วนช่วยเหลือของ Ubuntu ในหัวข้อนี้โดยเฉพาะ โดยเฉพาะอย่างยิ่ง คอมพิวเตอร์สมัยใหม่ทุกเครื่องจัดเก็บเวลาไว้ในนาฬิกาฮาร์ดแวร์ ซึ่งเป็นส่วนหนึ่งของชิปเซ็ตและใช้พลังงานจากแบตเตอรี่ขนาดเล็ก วิธีนี้ช่วยให้คอมพิวเตอร์สามารถรักษาเวลาและวันที่ที่ถูกต้องเมื่อคุณเปิดเครื่อง แม้ว่าจะถูกตัดการเชื่อมต่อจากพลังงานแล้วก็ตาม แม้ว่าจะเป็นเวลาค่อนข้างนานหากมีเวลาจำกัด (หลายเดือน) ระบบปฏิบัติการอาจอัปเดตค่านี้ โดยปกติเมื่อได้รับคำสั่งให้ปิดระบบ หรืออาจใช้นาฬิกาฮาร์ดแวร์ก็ได้
การกระจาย Linux ส่วนใหญ่ตั้งค่านาฬิกาฮาร์ดแวร์เป็น UTC โดยปกติแล้ว Windows จะใช้เวลาท้องถิ่น ซึ่งมักจะสอดคล้องกับเขตเวลา 'ท้องถิ่น' ที่คุณเลือกไว้ หากและเมื่อเขตเวลาเปลี่ยนแปลง (เวลาออมแสง) จะมีการชดเชย 1 ชั่วโมง (ย้อนกลับหรือไปข้างหน้า) ตามเวลาท้องถิ่น แต่ไม่ใช่ UTC ซึ่งจะคงที่และไม่ได้รับผลกระทบจากการเปลี่ยนแปลง DST หรือเขตเวลา ดังนั้น เมื่อคุณรีบูตจากระบบปฏิบัติการหนึ่งไปยังอีกระบบปฏิบัติการหนึ่ง เช่น Linux เป็น Windows จนกว่า Windows จะซิงค์นาฬิกา เวลาอาจลดลงหนึ่งชั่วโมง นี่คือความลึกลับของปัญหาของเรา
แก้ไขการชดเชยเวลาของ Windows
วิธีแก้ปัญหาสามารถทำได้:เปลี่ยนประเภทของค่าเวลาที่จัดเก็บในนาฬิกาฮาร์ดแวร์โดย Linux การกระจายส่วนใหญ่ใช้ UTC และคุณสามารถเปลี่ยนได้ เราจะไม่ทำเช่นนั้น เพราะเราต้องการทำให้ Windows ทำงาน
ดังนั้นทางเลือกคือการทำให้ Windows ไม่ใช้เวลาท้องถิ่น มีสองทางเลือกในการบรรลุสิ่งนี้:1) เราจะต้องทำการเปลี่ยนแปลงรีจิสทรีและหยุดบริการเวลาของ Windows แต่นั่นหมายความว่า Windows จะไม่อัปเดตนาฬิกา 2) สถานที่ดำเนินการอื่นๆ คือทำให้ Windows ซิงค์นาฬิกามากขึ้น บ่อยกว่าค่าเริ่มต้น ซึ่งเคยเป็นหนึ่งสัปดาห์ใน Windows 7/8 และลดเหลือหนึ่งวันใน Windows 10 ฉันจะแสดงให้คุณเห็นทั้งสองอย่างนี้ และคุณตัดสินใจว่าคุณต้องการอะไร ฉันเชื่อว่าตัวเลือกที่สองนั้นหรูหรากว่า
ตัวเลือกที่ 1:Windows ตั้งค่าเป็น UTC
คุณจะต้องสร้างการเปลี่ยนแปลงรีจิสทรี ไปที่:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
ควบคุม\TimeZoneInformation
จากนั้นเปลี่ยนคีย์ RealTimeIsUniversal ด้วยค่า 1:
รีบูทดูว่าใช้งานได้หรือไม่ ถ้าไม่ คุณอาจต้องปิดใช้งานบริการเวลา:
ตัวเลือกที่ 2:งานกำหนดเวลาการซิงค์เวลา
บทช่วยสอนนี้อธิบายวิธีการต่างๆ มากมายเกี่ยวกับวิธีการทำและวิธีที่จะไม่ทำ - เหมือนกับภาพร่างของ Monty Python เรื่อง How Not To Be Seen แน่นอนว่าสิ่งนี้สอดคล้องกับสิ่งที่ฉันคิดไว้ สร้างงานตามกำหนดการที่จะรันเมื่อเข้าสู่ระบบและซิงค์เวลา แก้ไขปัญหา. เรามาดูรายละเอียดสำหรับเรื่องนี้กัน
เปิด Task Scheduler> สร้างงาน คุณสามารถวางงานนี้ได้ทุกที่ การตั้งค่าสำหรับงานตามกำหนดเวลาค่อนข้างซับซ้อน แต่สามารถทำได้ บนแท็บ ทั่วไป ตั้งชื่อและอธิบายงาน จากนั้นเลือกผู้ใช้ นี่เป็นสิ่งที่น่าสนใจ เพราะในกรณีของฉัน ฉันใช้งานเป็นบัญชีจำกัด ดังนั้นฉันจึงต้องเลือกบัญชีผู้ดูแลระบบเพื่อให้บรรลุเป้าหมายนี้ แต่นั่นก็หมายถึงการทำงานโดยไม่คำนึงว่าผู้ใช้จะเข้าสู่ระบบหรือไม่ - โดยไม่ต้องบันทึก รหัสผ่าน ซึ่งใช้ได้ เพราะเราต้องการเพียงการเข้าถึงทรัพยากรในเครื่องเท่านั้น กำหนดค่าสำหรับ Windows 10
จากนั้นเราต้องการทริกเกอร์ใหม่ - โดยพื้นฐานแล้วเมื่อใด เมื่อเข้าสู่ระบบ
ตอนนี้เราต้องตั้งค่าการกระทำสองอย่าง หนึ่งคือการเรียกใช้บริการเวลาของ Windows ในกรณีที่ไม่ได้ทำงานอยู่ โปรแกรมที่จะเรียกใช้นี้คือ %windir%\system32\sc.exe และอาร์กิวเมนต์เริ่มต้น w32time task_started จากนั้นเราต้องดำเนินการอย่างที่สอง ซึ่งก็คือการซิงค์เวลาใหม่ โปรแกรมคือ %windir%\system32\w32tm.exe และอาร์กิวเมนต์ /resync
ประการสุดท้าย เงื่อนไขสำหรับการดำเนินการตามกำหนดการนี้คือต้องทำงานไม่ว่าจะใช้ไฟ AC หรือแบตเตอรี่ และใช้การเชื่อมต่อเครือข่ายใดๆ คลิก ตกลง และในการเข้าสู่ระบบครั้งต่อไป สิ่งต่างๆ ควรจะสวยงาม
ซิงค์ด้วยตนเอง
นอกจากนี้คุณยังซิงค์เวลาด้วยตนเองเสมอ คุณสามารถเปิดแอปเพล็ต Date and Time ผ่าน System Settings, Control Panel หรือคลิกขวาที่นาฬิกาในซิสเต็มเทรย์> Change Time and Date เลือกแท็บเวลาอินเทอร์เน็ต คลิกอัปเดตทันที
สรุป
นี่ไง. โดยไม่คำนึงถึงการตั้งค่าการทำงานจริงของคุณ - บูตเดี่ยว บูตคู่ มัลติบูต เราไม่เกี่ยวข้องกับระบบอื่น เฉพาะ Windows 10 เราต้องการให้แน่ใจว่ามีเวลาที่ถูกต้อง และเรามีตัวเลือกสองทางเพื่อให้บรรลุเป้าหมายนี้ . บังคับให้ระบบใช้ UTC หรือสร้างงานตามกำหนดการที่ทำงานเมื่อเข้าสู่ระบบและซิงค์นาฬิกาอีกครั้ง ทั้งสองวิธีค่อนข้างไม่เป็นพิษเป็นภัย แต่วิธีหลังเป็นวิธีที่รบกวนน้อยกว่าโดยทั่วไป
หวังว่าคุณจะพบว่าบทช่วยสอนนี้มีประโยชน์ และอาจช่วยให้คุณไม่ต้องปวดหัวกับปัญหาที่ค่อนข้างน่ารำคาญแต่ไม่ถูกละเลยได้ง่ายๆ คนส่วนใหญ่จะไม่ค่อยเจอปัญหานี้ แต่ถ้าเจอ วิธีแก้ปัญหาทั้งหมดอยู่ที่นี่แล้ว และเราทำเสร็จแล้ว
ไชโย