Windows и UTC время в BIOS.

Автор: | 15.06.2016

Жизнь — такая штука, что иногда случаются вещи, которые не хотелось, чтобы случались. От таких вещей никто не застрахован и однажды это случилось со мной — для работы пришлось временно установить Windows 7 на свой собственный домашний компьютер. Нельзя сказать, что я мало знаком с этой операционной системой, однако свой домашний ПК последние пару лет держал чистым от нее. Честно говоря, она работает несколько медленнее, чем я ожидал, но плевки в сторону Windows — низость и я не буду этим заниматься. Расскажу лишь об одной из вещей, которые меня удивили, а именно, о том, что время в Windows = время в BIOS и Windows всегда меняет время BIOS при изменении своего времени.

Опишу на примере. В моем Linux установлен часовой пояс Europe/Moscow, в BIOS время — UTC. Таким образом, Linux прибавляет 3 часа к времени BIOS для получения локального времени. Конечно, я мог и в BIOS установить сразу локальное время, но мне так привычнее. После установки Windows я установил свой часовой пояс и после перезагрузки обнаружил, что Windows изменила время в BIOS на локальное. Что бы я ни делал, Windows меняла время BIOS на локальное и, в итоге, Linux показывал на 3 часа больше. Передо мной встал выбор — перенастроить Linux на UTC или перевести часы в Windows на 3 часа назад. Конечно, я выбрал второй вариант! 😉 Но друг поделился одним способом и этой глупости удалось избежать.

Чтобы Windows считала время BIOS за UTC, необходимо внести изменения в реестр и отключить синхронизацию часов с Интернет. Для этого, нужно создать *.reg файл:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"RealTimeIsUniversal"=dword:00000001

После применения его к реестру, Windows перестанет изменять то, что ей изменять не положено 🙂 Проверено на Windows 7.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *