Computer >> Máy Tính >  >> Hệ thống >> máy chủ Windows

Khắc phục:Đồng hồ quay trở lại sai thời gian sau khi máy tính (Máy chủ) khởi động lại

Trong bài viết này, chúng tôi sẽ xem xét lý do tại sao đồng hồ hệ thống hiển thị ngày và giờ không chính xác sau khi tắt máy, khởi động lại hoặc tiếp tục từ chế độ ngủ đông của máy tính xách tay / máy tính / máy chủ. Thời gian được đặt lại mỗi lần và bạn phải thiết lập thủ công. Chúng tôi sẽ đề cập đến trường hợp điển hình nhất:pin BIOS bị hỏng và những trường hợp thú vị hơn liên quan đến khởi động kép Windows / Linux trên một máy tính và lỗi phần sụn trên máy chủ HPE ProLiant G9 / G8 với Hệ điều hành Windows Server.

Hệ thống không tiết kiệm dữ liệu / thời gian do pin BIOS / CMOS yếu

Câu trả lời điển hình cho câu hỏi "Tại sao ngày và giờ được đặt lại trên máy tính của tôi sau khi khởi động lại?" là thông tin tóm tắt về pin BIOS (CMOS). Pin này có nhiệm vụ giữ cài đặt BIOS / UEFI khi máy tính hoặc máy tính xách tay của bạn được rút phích cắm và cung cấp các hoạt động tự chủ của đồng hồ phần cứng tích hợp.

Nếu hết pin, khi bo mạch chủ không được cấp nguồn, BIOS không thể giữ các cài đặt của nó và tất cả chúng đều được đặt lại, bao gồm cả ngày và giờ hiện tại. Nếu máy tính của bạn đã khá cũ, rất có thể pin của bạn đã bị chết. Chúng tôi thực sự khuyên bạn nên thay thế nó. Nó không khó và quá trình này không yêu cầu bất kỳ kỹ năng kỹ thuật đặc biệt nào. Trong hầu hết các thiết bị gia đình và thậm chí cả doanh nghiệp, pin 3V CR2032 tiêu chuẩn được sử dụng trong BIOS.

Khắc phục:Đồng hồ quay trở lại sai thời gian sau khi máy tính (Máy chủ) khởi động lại

Nếu việc thay pin không hiệu quả, hãy kiểm tra trạng thái của cầu nhảy được sử dụng để đặt lại cài đặt BIOS (Cầu nhảy nằm gần khoang chứa pin và được đánh dấu là CMOS / CLEAR / RESET). Ai đó có thể đã để nó ở vị trí ĐẶT LẠI. Do đó, mỗi khi bo mạch chủ của bạn được cấp nguồn, cài đặt BIOS sẽ được đặt lại. Di chuyển jumper về vị trí bình thường của nó.

Tùy chọn tiếp theo là cập nhật chương trình cơ sở BIOS của bo mạch chủ của bạn. Xem cách thực hiện trên trang web của nhà cung cấp phần cứng của bạn. Phần mềm cơ sở mới hơn thường có các lỗi khác nhau được sửa.

Windows:Đặt Đồng bộ hóa Đồng hồ với time.windows.com

Nếu cài đặt ngày / giờ của bạn trong Windows liên tục thay đổi, trước hết bạn nên kiểm tra cài đặt múi giờ hiện tại và các thông số đồng bộ hóa thời gian với máy chủ thời gian bên ngoài. Trong Windows 10, bạn có thể xem cài đặt thời gian hiện tại trong Bảng điều khiển -> Đồng hồ và khu vực -> Ngày và giờ . Trong ví dụ này, bạn có thể thấy rằng múi giờ UTC + 01 được chỉ định và Giờ tiết kiệm ánh sáng ban ngày được bật.

Khắc phục:Đồng hồ quay trở lại sai thời gian sau khi máy tính (Máy chủ) khởi động lại

Mẹo . Bạn có thể đặt múi giờ của mình trong Windows từ dấu nhắc lệnh bằng công cụ tzutil hoặc PowerShell.

Nếu máy tính của bạn không được kết nối với miền AD, hãy kiểm tra cài đặt đồng bộ hóa thời gian của nó với nguồn thời gian bên ngoài (máy chủ thời gian NTP). Để thực hiện, hãy nhấp vào Thời gian Internet và đảm bảo rằng đồng bộ hóa tự động với time.windows.com máy chủ đã được thiết lập.

Khắc phục:Đồng hồ quay trở lại sai thời gian sau khi máy tính (Máy chủ) khởi động lại

Khắc phục sự cố đồng bộ hóa thời gian cho máy tính tham gia miền AD

Nếu máy tính của bạn là một phần của miền Active Directory, bạn cần hiểu kiến ​​trúc của đồng bộ hóa thời gian trong miền AD.

Lược đồ đồng bộ hóa thời gian sau được sử dụng trong miền Active Directory:

  • Bộ điều khiển miền gốc trong khu rừng AD, có vai trò FSMO của trình mô phỏng PDC, là nguồn thời gian cho tất cả các DC khác của miền này;
  • Các DC khác đồng bộ hóa thời gian với PDC;
  • Các thành viên miền thông thường (máy chủ và máy trạm) đồng bộ hóa thời gian với bộ điều khiển miền khả dụng gần nhất theo cấu trúc liên kết AD.

Root PDC có thể đồng bộ hóa thời gian của nó với cả nguồn bên ngoài và với chính nó (theo mặc định).

Bạn có thể tìm thấy bộ điều khiển miền có vai trò PDC bằng lệnh:

netdom /query fsmo

Để định cấu hình đồng bộ hóa thời gian với máy chủ NTP bên ngoài trên PDC, các lệnh sau được sử dụng.

Định cấu hình các nguồn thời gian bên ngoài:

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"

Biến DC này thành nguồn thời gian đáng tin cậy cho khách hàng:

w32tm /config /reliable:yes

Khởi động lại máy chủ thời gian w32 để đồng bộ hóa thời gian DC với máy chủ thời gian nl.pool.ntp.org:

net stop w32time && net start w32time

Bạn có thể xem nguồn và trạng thái đồng bộ hóa:

w32tm /query /peers

Bắt đầu đồng bộ hóa ở chế độ thủ công:

w32tm /resync /rediscover

Windows &Linux Hiển thị Các Thời điểm Khác nhau Khi Khởi động Kép

Chúng ta nên xem xét riêng các trường hợp khi hai hệ điều hành (Windows &Linux) được cài đặt trên một máy tính ở cấu hình Khởi động kép. Bạn có thể gặp phải vấn đề là sau khi khởi động sang một hệ thống khác (khởi động lên Linux sau Windows), thời gian sớm hơn hoặc muộn hơn vài giờ so với thời gian thực.

Windows và Linux hoạt động với thời gian BIOS khác nhau. Họ đang sử dụng hai định dạng thời gian khác nhau: UTC localtime .

Hệ điều hành GNU / Linux (bao gồm cả Mac OS X) giả định thời gian trong BIOS ở định dạng UTC (GMT). Theo đó khi khởi động, Linux sẽ chuyển đổi giờ UTC bằng cách thêm (hoặc đánh lạc hướng) độ lệch của múi giờ hiện tại do người dùng chọn. Có nghĩa là để có được giờ địa phương cho múi giờ Athens UTC + 2, Linux sẽ cộng thêm 2 giờ.

Windows cho rằng thời gian trong BIOS được giữ ở định dạng localtime và nếu bạn đã chỉ định múi giờ mới hoặc thời gian đồng bộ với nguồn bên ngoài, hệ thống sẽ thực hiện các thay đổi tương ứng với giờ cục bộ trong BIOS. Linux (trong trường hợp của tôi là Ubuntu) cho rằng thời gian trong BIOS được chỉ định ở định dạng UTC và bổ sung thêm độ lệch múi giờ. Đây là lý do tại sao thời gian bị sai khi chuyển từ Linux sang Windows và ngược lại.

Để khắc phục, bạn nên đặt Windows sử dụng định dạng thời gian UTC trong RealTimeIsUniversal tham số đăng ký.

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

Khắc phục:Đồng hồ quay trở lại sai thời gian sau khi máy tính (Máy chủ) khởi động lại

Mẹo . Trong các phiên bản Windows 64 bit, bạn cần tạo tham số kiểu QWORD thay vì tham số DWORD:

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

Ngoài ra, hãy tắt đồng bộ hóa thời gian với Internet trong Windows, vì mỗi lần cập nhật, Windows sẽ đặt lại thời gian UTC về cục bộ.

sc config w32time start= disabled

Khởi động lại Windows của bạn.

Hoặc bạn có thể làm cho Linux sử dụng giờ địa phương. Trong Ubuntu 15.04 trở lên, bạn có thể sử dụng công cụ hẹn giờ:

timedatectl set-local-rtc 1

Khắc phục:Đồng hồ quay trở lại sai thời gian sau khi máy tính (Máy chủ) khởi động lại

Máy chủ HPE với Windows Server:Bù đắp trong thời gian hệ thống sau khi khởi động lại

Một trong những khách hàng ở xa của tôi đã gặp phải sự cố thú vị sau khi thay đổi múi giờ trên máy chủ HPE DL / ML Gen9 chạy Windows Server 2008 R2 / 2012 R2. Hóa ra, khi thay đổi giờ hệ thống hoặc múi giờ trên máy chủ HP ProLiant Gen9 (và trên một trong các máy chủ HP ProLiant DL580 Gen8), thời gian hệ thống không được lưu và được đặt lại về thời gian trước đó sau khi khởi động lại. Sự cố xảy ra trên các máy chủ mà Windows Server khởi động ở chế độ Kế thừa (với khởi động UEFI gốc, không xảy ra bất kỳ sự cố thay đổi nào).

Sự kiện sau xuất hiện trong nhật ký hệ thống:
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.

Như một giải pháp cho vấn đề này, HP đề nghị cập nhật phiên bản ROM lên ít nhất 1.5. Đây là phiên bản của Tiện ích thiết lập dựa trên ROM (RBSU) không có lỗi đặt lại thời gian.

Hoặc như một giải pháp thay thế, bạn có thể đặt BIOS cung cấp cho Windows giờ hệ thống UTC (thay vì giờ cục bộ). Để làm điều đó, như chúng tôi đã nói ở trên, bạn phải tạo một tham số với tên RealTimeIsUniversal và giá trị 1 trong khóa đăng ký HKLM \ SYSTEM \ CurrentControlSet \ Control \ TimeZoneInformation.