Hiển thị sai thời gian khi sử dụng Dual Boot

Nếu bạn chạy dual boot gồm Windows và Ubuntu hoăc một distribution khác, bạn có thể thấy sửa khác nhau về thời gian giữa hai hệ thống.
Khi bạn sử dụng Linux nó hiển thị đúng thời gian nhưng khi bạn boot ở Windows nó hiển thị sai. Một vài lần nó hiển thị sai trên Linux nhưng lại đúng trên Windows.
Điều đó thật lạ bởi bạn đã kết nối thời gian qua mạng và lịch và thời gian được thết lập tự động sử dụng qua mạng.

Cái náy đừng lo bạn có thể sửa bằng cách sử dụng câu lệnh Linux sau:
timedatectl set-local-rtc 1
Tôi sẽ giải thích chị tiết làm thế nào mà câu lệnh trên sửa lỗi sai thời gian đó. Nhưng trước hết, chúng ta nói về tại sao có sự khách nhau về thời gian của thiết lập dual boot.

Tại sao Windows và linux lại hiển thị thời gian khác nhau trong dual boot?

Một máy tính có hai đồng hồ chính: một là đồng hồ hệ thống và một đồng hồ phần cứng.

Đồng hồ phần cứng gọi là RTC (real time clock) hoặc đồng hồ CMOS/BIOS. Đồng hồ này bên ngoài hệ thông, nó trên motherboard của máy tính. Nó vẫn chạy ngay cả khi hệ thống bị tắt nguồn.

Đồng hồ hệ thống bạn nhìn thấy trên hệ điều hành của bạn.

Khi máy tính của bạn bật, đồng hồ phần cúng đọc và sử dụng để thiết lập đồng hộ hệ thống. Sau đó, đồng hồ hệ thống được sử dụng để theo dõi thời gian. Nếu hệ thống của bạn làm thay đổi thời gian hệ thống giống như time zone v.v, nó cố gắng đồng bộ thông tin này tời đồng hồ phần cứng.

Mặc định, Linux giả định thời gian chứa tỏng đồng hộ phần cứng là UTC, không phải thời gian local. Mặt khác, Window thì nghĩ rằng thời gian chứa trên đồng hồ hệ thồng là thời gian local. Đó là nơi rắc rối xảy ra.

Sửa lỗi Windows hiển thị sai.

Có 2 cách để xử lý lỗi này:
- Thiết lập Windows sử dụng thời gian UTC cho đồng hồ phần cứng.
- Thiết lập Linux sử dụng thời gian local cho đồng hồ phần cứng.

Trong 2 cách thì thay đổi trên Linux là dể dàng hơn nên sẽ chọn cách 2.
Ubuntu và hầu hết những distribution đều sử dụng do đó bạn có thể sử dụng lệnh timedatectl để thay đổi thiết lập.  Câu lệnh timedatectl set-local-rtc chính là sử dụng thời gian local cho đồng hồ phần cứng (RTC).

Theo: itsfoss.com