Bir şey soracağım. Windows'ta Fast Boot'u kapatsak, UTC+3 veya Europe/İstanbul ayarlasak hem Windows'u, ve Linux'u daha basit olmaz mı?
İki adet zaman hesaplama usülü var, birisi localtime, diğeri UTC. Windows öntanımlı olarak localtime kullanıyor. Çoğu Linux dağıtımı ise UTC kullanıyor.
Bilgisayarda tarih ve saat CMOS çipinin içindeki gerçek zamanlı saat (RTC) devresi tarafından saklanır. Bu çip bilgisayar kapansa dahi CMOS pili tarafından beslenir ve saat bilgisi burada güncellenmeye devam eder.
Yerel saat (localtime) kullanıldığında işletim sistemi bu çipin vermiş olduğu tarih ve saat bilgisinin "yerel saat" olduğunu varsayar ve doğrudan bu bilgiyi kullanır. Mesela Türkiye'de bir bilgisayar yerel saat kullandığında çipten okunan saatin doğrudan UTC+3'deki saat olduğunu varsayar ve herhangi bir dönüşüm gerçekleştirmez. Önceden belirttiğim gibi, Windows bunu kullanır.
UTC saati kullanıldığında ise işletim sistemi, çipten okuduğu saatin UTC+00:00 saati olduğunu varsayar ve sistem ayarlarına göre ek bir dönüşüm gerçekleştirir, çoğu Linux dağıtımında zaman hesaplanırken öntanımlı olarak UTC saatini referans alır ve dolayısıyla da zaman dilimi ayarlarından ötürü Türkiye'de de zaman 3 saat ileri gösterir.
Tabii, işletim sistemleri de zaman zaman CMOS çipindeki saati eşzamanlar ve dolayısıyla aradaki fark iyice açılmaya başlar, farklı zaman hesaplama usülleri kullanan işletim sistemleri aynı sisteme kurulduğunda tarih ve saatin tabiri caizse kafayı yemesinin temel sebebi budur.