Computer >> คอมพิวเตอร์ >  >> ระบบ >> Windows Server

แก้ไข:นาฬิกาเปลี่ยนกลับเป็นเวลาที่ไม่ถูกต้องหลังจากรีบูตคอมพิวเตอร์ (เซิร์ฟเวอร์)

ในบทความนี้ เราจะพิจารณาว่าเหตุใดนาฬิกาของระบบจึงแสดงเวลาและวันที่ที่ไม่ถูกต้องหลังจากปิดระบบ รีสตาร์ทหรือทำงานต่อจากโหมดไฮเบอร์เนตของแล็ปท็อป/คอมพิวเตอร์/เซิร์ฟเวอร์ เวลาจะถูกรีเซ็ตในแต่ละครั้งและคุณต้องตั้งค่าด้วยตนเอง เราจะพูดถึงกรณีทั่วไปที่สุด:แบตเตอรี่ BIOS ที่มีปัญหาและแบตเตอรี่ที่น่าสนใจอื่น ๆ ที่เกี่ยวข้องกับการบูตคู่ของ Windows/Linux บนคอมพิวเตอร์เครื่องหนึ่ง และข้อบกพร่องของเฟิร์มแวร์บนเซิร์ฟเวอร์ HPE ProLiant G9 /G8 ที่มี Windows Server OS

ระบบไม่บันทึกข้อมูล/เวลาเนื่องจากแบตเตอรี่ BIOS/CMOS ที่อ่อนแอ

คำตอบทั่วไปสำหรับคำถาม “ทำไมเวลาและวันที่ถูกรีเซ็ตในคอมพิวเตอร์ของฉันหลังจากรีบูต” เป็นข้อมูลสรุปแบตเตอรี่ของ BIOS (CMOS) แบตเตอรี่นี้มีหน้าที่ในการรักษาการตั้งค่า BIOS/UEFI เมื่อคอมพิวเตอร์หรือแล็ปท็อปของคุณไม่ได้เสียบปลั๊ก และให้การทำงานอัตโนมัติของนาฬิกาฮาร์ดแวร์ในตัว

หากแบตเตอรี่หมด เมื่อเมนบอร์ดไม่ได้ใช้พลังงาน ไบออสจะไม่สามารถคงการตั้งค่าไว้ได้และระบบจะรีเซ็ตการตั้งค่าทั้งหมด รวมถึงวันที่และเวลาปัจจุบัน หากคอมพิวเตอร์ของคุณค่อนข้างเก่า มีโอกาสมากที่แบตเตอรี่ของคุณจะหมด เราขอแนะนำอย่างยิ่งให้เปลี่ยน ไม่ยาก และกระบวนการนี้ไม่ต้องการทักษะทางวิศวกรรมพิเศษใดๆ ในอุปกรณ์ในบ้านและแม้แต่องค์กรส่วนใหญ่ จะใช้แบตเตอรี่ 3V CR2032 มาตรฐานใน BIOS

แก้ไข:นาฬิกาเปลี่ยนกลับเป็นเวลาที่ไม่ถูกต้องหลังจากรีบูตคอมพิวเตอร์ (เซิร์ฟเวอร์)

หากการเปลี่ยนแบตเตอรี่ไม่ได้ผล ให้ตรวจสอบสถานะของจัมเปอร์ที่ใช้ในการรีเซ็ตการตั้งค่า BIOS (จัมเปอร์อยู่ใกล้กับช่องใส่แบตเตอรี่และทำเครื่องหมายเป็น CMOS / CLEAR / RESET) อาจมีบางคนทิ้งไว้ในตำแหน่ง RESET ดังนั้น ทุกครั้งที่เปิดใช้งานมาเธอร์บอร์ด การตั้งค่า BIOS จะถูกรีเซ็ต ย้ายจัมเปอร์ไปยังตำแหน่งปกติ

ตัวเลือกถัดไปคือการอัพเดตเฟิร์มแวร์ BIOS ของเมนบอร์ดของคุณ ดูวิธีการทำบนเว็บไซต์ของผู้จำหน่ายฮาร์ดแวร์ของคุณ เฟิร์มแวร์ที่ใหม่กว่ามักจะมีการแก้ไขข้อผิดพลาดที่แตกต่างกัน

Windows:ตั้งค่าการซิงโครไนซ์นาฬิกาด้วย time.windows.com

หากการตั้งค่าวันที่/เวลาใน Windows เปลี่ยนแปลงตลอดเวลา ก่อนอื่นคุณควรตรวจสอบการตั้งค่าเขตเวลาปัจจุบันและพารามิเตอร์ของการซิงโครไนซ์เวลากับเซิร์ฟเวอร์เวลาภายนอก ใน Windows 10 คุณสามารถดูการตั้งค่าเวลาปัจจุบันได้ใน แผงควบคุม -> นาฬิกาและภูมิภาค -> วันที่และเวลา . ในตัวอย่างนี้ คุณจะเห็นว่ามีการระบุเขตเวลา UTC + 01 และเปิดใช้งาน Daylight Saving Time

แก้ไข:นาฬิกาเปลี่ยนกลับเป็นเวลาที่ไม่ถูกต้องหลังจากรีบูตคอมพิวเตอร์ (เซิร์ฟเวอร์)

เคล็ดลับ . คุณสามารถตั้งค่าเขตเวลาของคุณใน Windows ได้จากพรอมต์คำสั่งโดยใช้เครื่องมือ tzutil หรือ PowerShell

หากคอมพิวเตอร์ของคุณไม่ได้เข้าร่วมโดเมน AD ให้ตรวจสอบการตั้งค่าการซิงโครไนซ์เวลากับแหล่งเวลาภายนอก (เซิร์ฟเวอร์เวลา NTP) โดยคลิก เวลาอินเทอร์เน็ต และตรวจสอบให้แน่ใจว่าการซิงโครไนซ์อัตโนมัติกับ time.windows.com เซิร์ฟเวอร์ถูกตั้งค่า

แก้ไข:นาฬิกาเปลี่ยนกลับเป็นเวลาที่ไม่ถูกต้องหลังจากรีบูตคอมพิวเตอร์ (เซิร์ฟเวอร์)

การแก้ปัญหาการซิงโครไนซ์เวลาสำหรับคอมพิวเตอร์ที่เข้าร่วมโดเมน AD

หากคอมพิวเตอร์ของคุณเป็นส่วนหนึ่งของโดเมน Active Directory คุณต้องเข้าใจสถาปัตยกรรมของการซิงโครไนซ์เวลาในโดเมน AD

รูปแบบการซิงโครไนซ์เวลาต่อไปนี้ถูกใช้ในโดเมน Active Directory:

  • ตัวควบคุมโดเมนรากในฟอเรสต์ AD ซึ่งมีบทบาท FSMO ของโปรแกรมจำลอง PDC เป็นแหล่งเวลาสำหรับ DC อื่นๆ ทั้งหมดของโดเมนนี้
  • DC อื่นๆ ประสานเวลากับ PDC;
  • สมาชิกโดเมนทั่วไป (เซิร์ฟเวอร์และเวิร์กสเตชัน) จะซิงโครไนซ์เวลากับตัวควบคุมโดเมนที่ใกล้ที่สุดที่มีอยู่ตามโทโพโลยี AD

Root PDC สามารถซิงโครไนซ์เวลากับทั้งแหล่งภายนอกและกับตัวมันเอง (โดยค่าเริ่มต้น)

คุณสามารถค้นหาตัวควบคุมโดเมนที่มีบทบาท PDC ด้วยคำสั่ง:

netdom /query fsmo

ในการกำหนดค่าการซิงโครไนซ์เวลากับเซิร์ฟเวอร์ NTP ภายนอกบน PDC จะใช้คำสั่งต่อไปนี้

กำหนดค่าแหล่งเวลาภายนอก:

w32tm /config /manualpeerlist:"0.nl.pool.ntp.org,0x1 1.nl.pool.ntp.org,0x1 2.nl.pool.ntp.org,0x1 3.nl.pool.ntp.org,0x1"

ทำให้ DC เป็นแหล่งเวลาที่เชื่อถือได้สำหรับลูกค้า:

w32tm /config /reliable:yes

รีสตาร์ทเซิร์ฟเวอร์เวลา w32 เพื่อซิงโครไนซ์เวลา DC กับเซิร์ฟเวอร์เวลา nl.pool.ntp.org:

net stop w32time && net start w32time

คุณสามารถดูแหล่งที่มาและสถานะการซิงโครไนซ์ได้:

w32tm /query /peers

เริ่มการซิงโครไนซ์ในโหมดแมนนวล:

w32tm /resync /rediscover

Windows &Linux แสดงเวลาต่างกันเมื่อบูทคู่

เราควรพิจารณาแยกกันในกรณีที่มีการติดตั้งระบบปฏิบัติการสองระบบ (Windows และ Linux) บนคอมพิวเตอร์ในการกำหนดค่า Dual Boot คุณอาจพบปัญหาว่าหลังจากบูทไปยังระบบอื่น (บูทเป็น Linux หลังจาก Windows) เวลาจะเร็วกว่าเวลาจริงหลายชั่วโมงหรือล่าช้า

Windows และ Linux ทำงานกับเวลา BIOS ต่างกัน พวกเขากำลังใช้รูปแบบเวลาที่แตกต่างกันสองรูปแบบ:UTC และ เวลาท้องถิ่น .

ระบบปฏิบัติการ GNU/Linux (รวมถึง Mac OS X) ถือว่าเวลาใน BIOS อยู่ในรูปแบบ UTC (GMT) ดังนั้นเมื่อทำการบูท Linux จะแปลงเวลา UTC โดยเพิ่ม (หรือทำให้เสียสมาธิ) ออฟเซ็ตของโซนเวลาปัจจุบันที่ผู้ใช้เลือก หมายความว่าเพื่อให้ได้เวลาท้องถิ่นสำหรับเขตเวลาของเอเธนส์ UTC+2 นั้น Linux จะเพิ่ม 2 ชั่วโมง

Windows คิดว่าเวลาใน BIOS จะถูกเก็บไว้ในรูปแบบเวลาท้องถิ่น และหากคุณได้ระบุเขตเวลาใหม่หรือเวลาที่ซิงโครไนซ์กับแหล่งภายนอก ระบบจะทำการเปลี่ยนแปลงตามเวลาท้องถิ่นใน BIOS ให้สอดคล้องกัน Linux (ในกรณีของฉัน Ubuntu) คิดว่าเวลาใน BIOS ถูกระบุในรูปแบบ UTC และเพิ่มการชดเชยเขตเวลาพิเศษ นี่คือสาเหตุที่ทำให้เวลาผิดพลาดเมื่อเปลี่ยนจาก Linux เป็น Windows และในทางกลับกัน

ในการแก้ไข คุณควรกำหนดให้ Windows ใช้รูปแบบเวลา UTC ใน RealTimeIsUniversal พารามิเตอร์รีจิสตรี

reg add "HKLMACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /t REG_DWORD /d 1 /f

แก้ไข:นาฬิกาเปลี่ยนกลับเป็นเวลาที่ไม่ถูกต้องหลังจากรีบูตคอมพิวเตอร์ (เซิร์ฟเวอร์)

เคล็ดลับ . ใน Windows รุ่น 64 บิต คุณต้องสร้างพารามิเตอร์ประเภท QWORD แทน DWORD:

reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 1

นอกจากนี้ ให้ปิดใช้งานการซิงโครไนซ์เวลากับอินเทอร์เน็ตใน Windows เนื่องจากในแต่ละครั้ง การอัปเดต Windows จะรีเซ็ตเวลา UTC เป็นท้องถิ่น

sc config w32time start= disabled

รีสตาร์ท Windows ของคุณ

หรือคุณสามารถให้ Linux ใช้เวลาท้องถิ่น ใน Ubuntu 15.04 หรือสูงกว่า คุณสามารถใช้เครื่องมือ timedatectl:

timedatectl set-local-rtc 1

แก้ไข:นาฬิกาเปลี่ยนกลับเป็นเวลาที่ไม่ถูกต้องหลังจากรีบูตคอมพิวเตอร์ (เซิร์ฟเวอร์)

เซิร์ฟเวอร์ HPE ที่มี Windows Server:ออฟเซ็ตในเวลาของระบบหลังจากรีสตาร์ท

ลูกค้าระยะไกลรายหนึ่งของฉันพบปัญหาที่น่าสนใจหลังจากเปลี่ยนโซนเวลาบนเซิร์ฟเวอร์ HPE DL/ML Gen9 ที่ใช้ Windows Server 2008 R2 / 2012 R2 เมื่อเปลี่ยนเวลาของระบบหรือโซนเวลาบนเซิร์ฟเวอร์ HP ProLiant Gen9 (และบนเซิร์ฟเวอร์ HP ProLiant DL580 Gen8) เวลาของระบบจะไม่ถูกบันทึกและถูกรีเซ็ตเป็นเวลาก่อนหน้าหลังจากการรีสตาร์ท เกิดปัญหาในเซิร์ฟเวอร์ซึ่ง Windows Server บูตในโหมด Legacy (ด้วยการบูต UEFI ดั้งเดิมจะไม่มีปัญหาในการเปลี่ยนแปลงเวลา)

เหตุการณ์ต่อไปนี้ปรากฏในบันทึกของระบบ:
The system time has changed to ‎2019‎-‎01‎-‎29T12:12:28.500000000Z from ‎2019-‎01‎-‎29T13:12:27.923115700Z.
Change Reason: System time synchronized with the hardware clock.

เพื่อแก้ปัญหานี้ HP แนะนำให้อัปเดตเวอร์ชัน ROM เป็นอย่างน้อย 1.5 นี่คือเวอร์ชันของ ROM-Based Setup Utility (RBSU) ที่ไม่มีจุดบกพร่องในการรีเซ็ตเวลา

หรือเพื่อแก้ปัญหาชั่วคราว คุณสามารถตั้งค่าให้ BIOS ระบุเวลาของระบบ UTC ให้กับ Windows ได้ (แทนที่จะเป็นเวลาท้องถิ่น) ในการดำเนินการดังที่เราได้กล่าวไว้ข้างต้น คุณต้องสร้างพารามิเตอร์ชื่อ RealTimeIsUniversal และค่า 1 ในรีจิสตรีคีย์ HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation.