> For the complete documentation index, see [llms.txt](https://docs.verge.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.verge.io/knowledge-base/vi/virtual-machines/windows-time-shift.md).

# Windows - Dịch thời gian

### Mô tả về vấn đề

Các máy ảo (VM) VergeOS chạy hệ điều hành Windows có thể gặp hiện tượng "dịch thời gian", trong đó hệ điều hành khách sẽ định kỳ điều chỉnh thời gian sang một giá trị không chính xác.

#### Hiểu nguyên nhân gốc rễ

Vấn đề dịch thời gian này bắt nguồn từ sự không khớp cơ bản giữa kỳ vọng của Windows và hành vi của các hypervisor hiện đại. Cụ thể, hiện tượng dịch thời gian đến từ:

* **Đồng hồ phần cứng ảo (RTC)** - Khi VM khởi động, Windows đọc thời gian từ Đồng hồ Thời gian Thực được mô phỏng, mà KVM/QEMU đặt dựa trên thời gian của máy chủ vật lý
* **Đồng bộ đồng hồ ban đầu** - Việc này xảy ra khi VM khởi động, khi Windows đọc đồng hồ BIOS/CMOS ảo, chứ không thông qua bất kỳ tác nhân nào

Vấn đề là Windows kỳ vọng thời gian phần cứng là giờ địa phương, nhưng các hypervisor hiện đại (bao gồm KVM/QEMU) cung cấp thời gian UTC. Điều này xuất phát từ hệ điều hành Windows, vốn kỳ vọng thời gian từ bo mạch chủ vật lý là giờ địa phương (RTC) thay vì Giờ Phối hợp Quốc tế (UTC).

VergeOS cung cấp thời gian theo UTC, vốn đã trở thành tiêu chuẩn ngành vì nó bù trừ cho các thay đổi Giờ tiết kiệm ánh sáng ban ngày (DST). Hệ điều hành khách sẽ tự động điều chỉnh thời gian khi so sánh giá trị đồng hồ của nó với một nguồn thời gian có thẩm quyền vì nó giả định thời gian do phần cứng cung cấp là giờ địa phương chứ không phải UTC. Việc so sánh này gây ra sai lệch định kỳ vì hệ điều hành khách không thể điều chỉnh đồng hồ của nút vật lý để khớp với thời gian mà nó cho là chính xác.

### Tùy chọn cấu hình VergeOS: RTC Base

RTC Base là một thiết lập riêng của từng VM cho phép quản trị viên VergeOS đặt thời gian cung cấp cho hệ điều hành là giờ địa phương hoặc UTC. Bạn có thể tìm thấy giá trị này khi chỉnh sửa bất kỳ VM nào.

![văn bản thay thế](/files/f845105839db9aa725712dc54b08535acaacd344)

Với thiết lập cấu hình này, quản trị viên có thể kiểm soát chi tiết từng máy, tuy nhiên điều quan trọng là phải hiểu hành vi dự kiến của từng tùy chọn.

#### Giờ địa phương

Đặt RTC Base thành Giờ địa phương sẽ truyền thời gian từ các nút vật lý sang hệ điều hành khách ảo. Điều này mô phỏng hành vi cũ mà Windows kỳ vọng. Khi Windows so sánh đồng hồ giờ địa phương với một dịch vụ thời gian có thẩm quyền, Windows sẽ điều chỉnh thời gian trong hệ điều hành khách dựa trên múi giờ được xác định trong cấu hình Windows. Điều này có thể dẫn đến hành vi không mong muốn.

Những điều cần cân nhắc khi dùng giờ địa phương là:

* Múi giờ của nút vật lý sẽ được hiển thị giống nhau cho mọi hệ điều hành khách. Nếu VergeOS đang lưu trữ các VM cho các múi giờ khác nhau, mỗi VM Windows sẽ nhận thấy giờ địa phương có cùng một giá trị.
* Thời gian của nút vật lý và hệ điều hành khách sẽ cần được cấu hình đúng để tránh sự cố khi Giờ tiết kiệm ánh sáng ban ngày (DST) bắt đầu hoặc kết thúc mỗi năm. Đồng hồ RTC sẽ cần được điều chỉnh qua phần mềm. Trong lịch sử, đã phát sinh sự cố khi các quy định về DST thay đổi.

#### Giờ UTC

Đặt RTC Base thành UTC sẽ truyền thời gian từ các nút vật lý vào các VM khách dưới dạng Giờ Phối hợp Quốc tế. Đây là tiêu chuẩn ngành cho các ứng dụng phần mềm hiện đại xử lý thời gian.

Khi dùng thiết lập UTC trong VergeOS, các VM Windows nên được cấu hình để nhận biết rằng thời gian được cung cấp là thời gian toàn cầu. Với hầu hết các hệ điều hành Windows, việc điều chỉnh được thực hiện trong Windows Registry bằng cách thêm một giá trị để nhận biết "RealTimeIsUniversal."

Bản sửa trong registry `RealTimeIsUniversal=1` là giải pháp thanh lịch nhất vì nó:

* **Nói rõ cho Windows biết chính xác định dạng thời gian mà nó đang nhận**
* **Loại bỏ sự tranh chấp liên tục giữa hypervisor và dịch vụ thời gian của Windows**
* **Hoạt động với bộ điều khiển miền và đồng bộ NTP**

**Đối với hệ điều hành 64-bit**

Dưới khóa registry `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation`cần có một mục `REG_QWORD` với các giá trị sau:

* **Tên:** RealTimeIsUniversal
* **Dữ liệu giá trị:** 1

Sau khi điều chỉnh thiết lập này, quản trị viên sẽ cần tắt hoàn toàn VM rồi bật lại VM trước khi thay đổi có hiệu lực.

{% hint style="info" %}
**Quan trọng**

Khi thực hiện các điều chỉnh phần mềm cho hệ điều hành khách hoặc ứng dụng, quản trị viên nên kiểm tra tài liệu sản xuất của phần mềm đó, bao gồm các bài KB mới nhất, các bản cập nhật và ghi chú phát hành.
{% endhint %}

### Tài liệu đọc thêm về chủ đề này

* <https://www.meinbergglobal.com/english/sw/ntp.htm> có thể được cài đặt và thiết lập để lấy thời gian từ bất kỳ máy chủ nào được liệt kê tại <https://tf.nist.gov/tf-cgi/servers.cgi>. Phần mềm Meinberg NTP có thể được cấu hình để chỉnh giờ theo giờ, theo ngày, theo tuần, v.v. Điều này sẽ cho phép bạn "cài rồi quên".
* Thông tin bổ sung về lịch sử của vấn đề này, bao gồm trình tự các thay đổi trong Windows, có thể được tìm thấy tại đây: <https://www.cl.cam.ac.uk/\\~mgk25/mswish/ut-rtc.html>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.verge.io/knowledge-base/vi/virtual-machines/windows-time-shift.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
