Proč mi Linux mění čas v BIOSu?

dualboot

Proč mi Linux mění čas v BIOSu?
« kdy: 25. 09. 2016, 07:33:03 »
Zasadna otazka je, preco si LINUX dovoli zmenit cas v BIOSe (posunie ho o 2 hodiny dozadu)?
Experimentoval som s instalaciou roznych distribucii a kazda mi posunula cas v BIOSe, co nasledne prebral aj Windows. Pokial som nemal dualboot, tak v BIOSe bol spravny cas a tak to preberal aj Windows. Pri kazdej instalacii LINUXu sa ma instalator pytal na casovu zonu (Europe/Bratislava). Vzdy som to nastavil a instalator zobrazil spravny cas. Po restarte bol v BIOSe cas posunuty o 2 hodiny dozadu. Ako je to mozne?
« Poslední změna: 25. 09. 2016, 20:09:34 od Petr Krčmář »


Inkvizitor


Re:Preco mi LINUX meni cas v BIOSe?
« Odpověď #2 kdy: 25. 09. 2016, 09:09:56 »
Nedovolil si to Linux, nýbrž to udělal proto, že jste to tak měl v distribuci nastavené. Linux sám o sobě s časem nic nedělá.

Důvod posunu o dvě hodiny (v době platnosti letního času, v době platnosti standardního času by to byla hodina) je následující: Windows udržují v BIOSu lokální čas, tj. vždy v okamžiku přechodu na letní čas nebo zpět se musí hodiny v BIOSu posunout. Vzhledem k tomu, že hodiny v BIOSu neudržují časovou zónu, jenom datum a čas, musí si pamatovat operační systém, zda už hodiny posunul nebo ne. Kdybyste na tom počítači měl několik instalací Windows, každá vám hodiny posune o hodinu.

V unixech (a tedy i Linuxu) se doporučuje udržovat čas v BIOSu v UTC. Pak ho žádné střídání letního a standardního času nebo jakékoli jiné změny časových pásem neovlivní, hodiny v BIOSu se nemusí přeřizovat  a vždy při požadavku na zobrazení data a času se jenom UTC přepočítá do lokální časové zóny.

Unix/Linux si při běhu seřizuje čas podle internetových hodin NTP (takže ho má přesnější, než kdyby spoléhal jen na hodiny v BIOSu), a pouze když se vypíná nebo restartuje, seřídí hodiny BIOSu podle aktuálního času. A pokud používáte doporučené nastavení, nastaví čas v BIOSu právě dle UTC. Nastavení je možné v Linuxu změnit a čas do BIOSu ukládat v lokální časové zóně, ale jak už jsem psal, to nedoporučuju, vzniká z toho jen zmatek. (Nevím, zda si nějaká distribuce ukládá časovou zónu, v jaké do BIOSu čas uložila, jako to dělají Windows.)

Myslím, že Windows už je možné také nastavit, aby čas do BIOSu ukládaly v UTC. Pro počítač s více operačními systémy je to jediné praktické řešení, protože UTC je jediná časová zóna, na které se všechny systémy bez problémů shodnou.

Jakub Vaněk

Re:Preco mi LINUX meni cas v BIOSe?
« Odpověď #3 kdy: 25. 09. 2016, 09:49:30 »
Tady jsem ukázal, jak to udělat opačně, tzn. Linuxu říct, aby nastavoval do RTC lokální čas:
forum.ubuntu.cz/index.php?topic=76256.msg545930#msg545930

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Preco mi LINUX meni cas v BIOSe?
« Odpověď #4 kdy: 25. 09. 2016, 10:13:54 »
Zasadna otazka je, preco si LINUX dovoli zmenit cas v BIOSe (posunie ho o 2 hodiny dozadu)?

Stezovat si jdete do Redmondu. Kazdy normalni OS uklada cas v UTC, akorat Widle ne.


Sten

Re:Preco mi LINUX meni cas v BIOSe?
« Odpověď #5 kdy: 25. 09. 2016, 14:08:39 »
Myslím, že Windows už je možné také nastavit, aby čas do BIOSu ukládaly v UTC. Pro počítač s více operačními systémy je to jediné praktické řešení, protože UTC je jediná časová zóna, na které se všechny systémy bez problémů shodnou.

Jde:

Kód: [Vybrat]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"RealTimeIsUniversal"=dword:00000001

Ale ve Windows 7 to nefungovalo s hibernací, neumělo to ten čas správně aktualizovat a čas od času to posunulo čas o UTC offset vícekrát. Jestli to novější Windows opravily, to nevím, ale docela o tom pochybuju.

Lol Phirae

Re:Preco mi LINUX meni cas v BIOSe?
« Odpověď #6 kdy: 25. 09. 2016, 14:37:55 »
Jestli to novější Windows opravily, to nevím, ale docela o tom pochybuju.

Ne, stále to nefunguje správně a nikomu nedoporučuju to zkoušet.

ByCzech

  • *****
  • 1 863
    • Zobrazit profil
    • E-mail
Re:Preco mi LINUX meni cas v BIOSe?
« Odpověď #7 kdy: 25. 09. 2016, 18:13:49 »
Jestli to novější Windows opravily, to nevím, ale docela o tom pochybuju.

Ne, stále to nefunguje správně a nikomu nedoporučuju to zkoušet.

Kdybys nekecal, Laelovi to na certifikovaném notebooku zcela jistě funguje :D :D :D

jarka

Re:Preco mi LINUX meni cas v BIOSe?
« Odpověď #8 kdy: 25. 09. 2016, 19:04:21 »
Ale ve Windows 7 to nefungovalo s hibernací, neumělo to ten čas správně aktualizovat a čas od času to posunulo čas o UTC offset vícekrát. Jestli to novější Windows opravily, to nevím, ale docela o tom pochybuju.

Je to v pořádku, funguje to ve win7 i win10 (tam jsem právě zkoušel, nechtěje být za blbce). Možná je třeba mít win7 s aplikovanými aktualizacemi. Reg key je v obou stejný.

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Preco mi LINUX meni cas v BIOSe?
« Odpověď #9 kdy: 25. 09. 2016, 19:10:42 »
Kdybys nekecal, Laelovi to na certifikovaném notebooku zcela jistě funguje :D :D :D

Hlavne tedy verim, ze ulozeni casu do BIOSu mu netrva dele, jak 2,3 ns.

Lol Phirae

Re:Preco mi LINUX meni cas v BIOSe?
« Odpověď #10 kdy: 25. 09. 2016, 21:24:24 »
Je to v pořádku, funguje to ve win7 i win10 (tam jsem právě zkoušel, nechtěje být za blbce). Možná je třeba mít win7 s aplikovanými aktualizacemi. Reg key je v obou stejný.

Ne, opravdu to není to v pořádku. Ale každý se holt musí spálit sám.

Karel

Re:Preco mi LINUX meni cas v BIOSe?
« Odpověď #11 kdy: 26. 09. 2016, 14:26:32 »
Je to v pořádku, funguje to ve win7 i win10 (tam jsem právě zkoušel, nechtěje být za blbce). Možná je třeba mít win7 s aplikovanými aktualizacemi. Reg key je v obou stejný.

Ne, opravdu to není to v pořádku. Ale každý se holt musí spálit sám.

Ehm, opravdu tu odkazujete 4 roky staré zápisky a chcete tím popřít argument "Možná je třeba mít win7 s aplikovanými aktualizacemi" ?

ByCzech

  • *****
  • 1 863
    • Zobrazit profil
    • E-mail
Re:Preco mi LINUX meni cas v BIOSe?
« Odpověď #12 kdy: 26. 09. 2016, 17:50:55 »
Je to v pořádku, funguje to ve win7 i win10 (tam jsem právě zkoušel, nechtěje být za blbce). Možná je třeba mít win7 s aplikovanými aktualizacemi. Reg key je v obou stejný.

Ne, opravdu to není to v pořádku. Ale každý se holt musí spálit sám.

Ehm, opravdu tu odkazujete 4 roky staré zápisky a chcete tím popřít argument "Možná je třeba mít win7 s aplikovanými aktualizacemi" ?

Vy nedáte pro změnu žádné odkazy na informace o příšlušných aktualizacích, které to řeší a myslíte si, že ten obecný blábol o aplikovaných aplikacích stačí? ;)

C-S

Re:Proč mi Linux mění čas v BIOSu?
« Odpověď #13 kdy: 27. 09. 2016, 06:29:03 »
V tom článku samotném je pár aktualizací uvedených, takže na tom Microsoft zjevně dělá. Každopádně to provozuji ve Windows 10 už skoro rok a zatím jsem nenarazil na problém.

Ale přijde mi, že donutit MS aby přešel na universal time RTC bude problém. To že fungují nestandardně oni jim zjevně nevadí, protože jak je vidět i z tohoto zápisku, spousta lidí kteří na ten problém narazí z toho obviní Linux.

ByCzech

  • *****
  • 1 863
    • Zobrazit profil
    • E-mail
Re:Proč mi Linux mění čas v BIOSu?
« Odpověď #14 kdy: 27. 09. 2016, 07:10:52 »
V tom článku samotném je pár aktualizací uvedených, takže na tom Microsoft zjevně dělá. Každopádně to provozuji ve Windows 10 už skoro rok a zatím jsem nenarazil na problém.

Ale přijde mi, že donutit MS aby přešel na universal time RTC bude problém. To že fungují nestandardně oni jim zjevně nevadí, protože jak je vidět i z tohoto zápisku, spousta lidí kteří na ten problém narazí z toho obviní Linux.

Což je běžné a typické jednání MS, přiohnout si věci tak, aby byly nekompatibilní a tím zneužívat dominanci :)

PS: Je hezké, že "už" od verze Windows 10 funguje UTC v RTC :D