Proč vám Windows ukazují špatný čas?

⏰ Tichá záludnost dual-bootu: Proč vám Windows ukazují špatný čas?

Máte na počítači dual-boot s Windows a Ubuntu/Linuxem? Pokud ano, možná jste narazili na frustrující problém: V jednom systému je čas správně, ale pokaždé, když se přepnete do toho druhého, je čas posunutý – nejčastěji o hodinu méně.

Gratulujeme, právě jste objevili jednu z nejtišších nástrah dual-bootu!

Co se děje? Bitva o hardwarové hodiny

Váš problém pramení z odlišné filozofie, jak oba systémy nakládají s časem uloženým v hardwarových hodinách počítače (tzv. RTC nebo CMOS).

  1. Windows (Tradiční přístup): Windows očekávají, že čas uložený v hardwarových hodinách je Místní čas (Local Time) – tedy ten, který reálně vidíte na hodinách na zdi.
  2. Linux (Moderní přístup): Linux (a moderní systémy) očekává, že hardwarové hodiny jsou nastaveny na Univerzální koordinovaný čas (UTC). Místní čas pak dynamicky vypočítá přičtením nebo odečtením časového pásma.

🤯 Proč dochází k posunu?

Když se přepnete z Linuxu do Windows:

  • Linux se odhlásí a na hardwarové hodiny uloží čas UTC (např. 9:00 UTC).
  • Windows se spustí a přečte 9:00. Jelikož očekává Místní čas, zobrazí 9:00, i když v našem časovém pásmu (CET) je ve skutečnosti 10:00.

Výsledek? Windows ukazují špatný čas.

🛠️ Řešení: Přesvědčte Linux

Nejjednodušší a nejlepší řešení je přinutit Linux, aby se choval “jako Windows”, a ukládal do hardwarových hodin Místní čas místo UTC.

Stačí v Linuxu otevřít terminál a použít jeden příkaz:

sudo timedatectl set-local-rtc 1

Co tento příkaz dělá?

Říká službě timedatectl, že hardwarové hodiny (RTC) mají být nově nastaveny na Místní čas (local-rtc 1).

Po spuštění tohoto příkazu a restartu budou oba systémy sdílet stejný pohled na hardwarový čas a vaše hodiny ve Windows už nebudou skákat!