Khi khởi động kép Windows và Linux, bạn có thể nhận thấy rằng không thể đồng bộ hóa đồng hồ hệ thống giữa hai hệ điều hành này. Mặc dù bạn đã thay đổi đồng hồ ở một hệ điều hành nhưng vẫn không khắc phục được vấn đề trên hệ điều hành còn lại. Điều này là do hai hệ điều hành này sử dụng phương pháp định thời thời gian khác nhau. Bài viết này sẽ hướng dẫn các bạn cách khắc phục lỗi Windows và Linux hiển thị thời gian khác nhau khi khởi động kép.
Cách sửa lỗi lệch giờ khi khởi động kép Windows và Linux
Tại sao hai hệ điều hành lại hiển thị thời gian khác nhau?
Máy tính lưu trữ thời gian hiện tại trên đồng hồ trong bo mạch chủ. Điều này cho phép máy tính theo dõi thời gian ngay cả khi tắt máy. Để tính các múi giờ, các hệ điều hành khác nhau sử dụng các phương pháp khác nhau. Windows giả định thời gian máy tính được lưu trữ trong bo mạch chủ, vì vậy nó không áp dụng bất kỳ loại múi giờ nào cả. Mặt khác, Linux sẽ diễn giải thời gian trên bo mạch chủ như UTC (còn gọi là Giờ trung bình tại Greenwich) và áp dụng một múi giờ để hiển thị thời gian trên máy tính.
Cả hai hệ điều hành này hoạt động hoàn toàn độc lập. Vấn đề xảy ra khi người dùng khởi động kép hệ thống, chạy Windows và Linux trên cùng một bo mạch chủ. Khi các hệ điều hành buộc phải chia sẻ một kho thời gian, các đồng hồ sẽ không đồng bộ.
Cách khắc phục lỗi Windows và Linux hiển thị thời gian khác nhau khi khởi động kép
Cách 1: Điều chỉnh để Linux sử dụng thời gian trên máy tính
Phương pháp an toàn nhất để Linux và Windows hiển thị cùng một thời gian là thay đổi phương pháp định thời gian của Linux. Nó hoạt động trên tất cả các bản phân phối của Linux sử dụng systemd, bao gồm Ubuntu, Fedora, Red Hat, Debian và Mint. Thay đổi thời gian của Windows thường hoạt động tốt, nhưng đôi khi nó có thể dẫn đến sự không ổn định trong phần mềm của bên thứ ba.
Mở cửa sổ Terminal và chạy lệnh sau:
timedatectl set-local-rtc 1 --adjust-system-clock
Lệnh này sẽ nói cho hệ thống sử dụng thời gian lưu trữ của bo mạch chủ như giờ trên máy tính. Linux sẽ không còn áp dụng điều chỉnh múi giờ cho thời gian lưu trữ trên bo mạch chủ. Kết quả là đồng hồ sẽ được đồng bộ. Nếu muốn đảo ngược lệnh, chỉ cần thay đổi 1 thành 0:
timedatectl set-local-rtc 0 --adjust-system-clock
Cách 2: Điều chỉnh để Windows sử dụng UTC
Bạn cũng có thể thay đổi cách mà Windows xem hệ thống thời gian. Điều chỉnh này sẽ khiến Windows sử dụng thời gian được lưu trữ trên bo mạch chủ như là UTC. Mặc dù phương pháp này nói chung hoạt động tốt, nhưng một số ứng dụng dựa trên thời gian của bo mạch chủ có thể bị ảnh hưởng, do đó, đôi khi khó khăn để theo dõi lỗi.
Bước 1. Vô hiệu hoá "Set time automatically" trong "Time & Language" trong ứng dụng Settings. Điều này sẽ ngăn không cho Windows xóa những thay đổi mà chúng ta sắp thực hiện.
Bước 2. Mở Registry Editor bằng cách gõ regedit vào menu Start.
Bước 3. Tìm key đăng ký sau trong ngăn bên trái của Registry Editor bằng cách dán dòng sau vào thanh địa chỉ của registry editor:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation
Bước 4. Nhấp chuột phải vào key "TimeZoneInformation" trong khung bên trái và chọn "New -> DWORD (32-bit) Value" từ trình đơn ngữ cảnh.
Bước 5. Đặt tên cho giá trị mới là "RealTimeIsUniversal".
Bước 6. Nhấp đúp vào giá trị vừa tạo, đặt giá trị là "1" và nhấp vào "OK".
Cách an toàn nhất để đồng bộ đồng hồ hệ thống trong một hệ thống khởi động kép là điều chỉnh cách Linux sử dụng thời gian. Nếu cách này không hiệu quả (hoặc nếu đang sử dụng macOS thay vì Linux), bạn cũng có thể chỉnh sửa Windows registry để thay đổi cách Windows sử dụng thời gian của bo mạch chủ.
Chúc các bạn thực hiện thành công!
Xem thêm: