Windows ve Linux Mint'te farklı zamanlar


18

Linux Mint'i önce Acer Aspire 4930'uma kurdum ve sonra Windows 7 ile çift önyükleme yaptım.

Her zaman Linux Mint'te doğru zamanı görüyorum, ancak Windows'a önyükleme yapıldığında, zamanı sıfırladıktan sonra bile birkaç saat geri kaydırılıyor, yeniden başlatma sırasında tekrar yanlış bir zaman gösteriyor.


Sorular:

  1. Bu neden oluyor?

  2. Bu konuda ne yapabilirim?

Yanıtlar:


17

Windows'ta, sistem RTC saati geleneksel olarak yerel saatte tutulur. Unix ve Linux'ta geleneksel olarak UTC'de tutulur /etc/localtimeve görüntülenen saatin doğru olması için geçerli saat dilimini belirtmek için kullanılır.

Bu iki dünya görüşü çift önyükleme yapılandırmalarında çarpışır, çünkü yalnızca bir RTC vardır. Genellikle Linux'a RTC'nin yerel saat olduğunu varsaymasını söylersiniz (çünkü Windows söylenemez). Bu başka bir Linux değişir, ama Nane Ubuntu gibi olduğundan muhtemelen ayarlayabilirsiniz UTC=noiçinde /etc/default/rcS. Sonra saati Windows'da yerel saate ayarlayabilirsiniz ve Linux bundan sonra onu yalnız bırakacaktır.


Editörün Notu :

Bu dosya Linux Mint 19'dan (veya daha doğrusu Ubuntu 18.04 tabanından beri) mevcut değil:

/etc/default/rcS

2
UTC zaten hayır olarak ayarlanmış, saat farkı hala orada.
Balistik

5

Mint 18.2 KDE, diğer düzeltmelere karşı bağışık gibi görünüyor (bir aramada bulduğum ekler dahil). Aecolley ve error404'ün yanıtlarında belirtilen dosyalar , en azından geçerli KDE sürümünde artık mevcut değil veya ayarın referans edildiği yerde görünmüyor. Julie Pelletier'in cevabındaki komut 18.2 Tarçın için çalıştı, ancak 18.2 KDE için değil.

Yarım düzine önerilen çözümü denedikten sonra, aşağıdaki çözüm 18.2 KDE için düzeltildi. Doğru zaman görüntülendiğinde, aşağıdaki terminal komutunu çalıştırın:

timedatectl set-local-rtc 1 --adjust-system-clock

Kaynak: Kurulumdan Sonra Linux Mint için İpuçları ve Püf Noktaları [Mint 18 - Cinnamon Edition]

Bu aynı zamanda Tarçın için alternatif bir çözüm olarak çalışmalı ve diğer DE'leri de varsayıyorum.

Editörün Notları:

  • Gerek yok sudo, bu komutu kullanıcı olarak çalıştırın.

  • Yeniden başlatma sırasında devam eder, kalıcı olmalıdır.

  • Ubuntu 18.04 tabanlı Linux Mint 19.1 Tarçın üzerinde test edilmiştir.


Onaylıyorum, Mint 18.3 Tarçın üzerinde çalışıyor.
dchrome

@Vlastimil, bunu yaptığımdan beri bir süre oldu. Benim hatırlama sudo gerekli değildir (olsaydı, ben cevaba dahil olurdu ve benzer düzeltmeler ya sudo atıfta değil, bu yüzden emin değilim). Ve evet, bu devam ediyor.
fixer1234

@ fixer1234 Çok teşekkürler dostum! Günümü kurtardın ve sanırım herkesin :)
LinuxSecurityFreak

3

Bunu yapmanın en genel yolu şudur:

hwclock --systohc --localtime

yeniden başlatmalarda kalıcıdır ve çoğu sistemde çalışır.


Saatiniz şu anda doğru saati görüntülüyorsa, ihtiyacınız olan komut gerçekten de hwclock --systohc --localtime, sistem tarafından görüntülenen değeri kullanarak donanım saatini yerel saate ayarlayacaktır. Ancak, saatiniz şu anda yanlışsa (yani, donanım saati yerel saatse, ancak sistem saat diliminiz için ofseti ekler ve yanlış bir görüntülenen değere neden olur), o zaman gerekir hwclock --hctosys --localtime.
Youen

@youen, bu duruma sahiptim ve değişikliğiniz zamanı diğer yöne attı. Benim için düzeltme saati doğru zamana sıfırlamak ve sonra Julie'nin cevabındaki komutu kullanmaktı.
fixer1234

@ fixer1234 Tamam, garip. Dürüst olmak gerekirse, yorumumda ikinci komutu denemedim, çünkü o zamana kadar saatimi zaten düzeltmiştim. Ancak bu komutlardan herhangi birini çalıştırmanın ve sonra saati doğru görüntülenen saate ayarlamanın hile yapacağına inanıyorum (ikincisini zaten yürüttüyseniz ilk komutu tekrar çalıştırmak muhtemelen gerekli değildi). Sonunda sizin için çalıştı sevindim :)
youen

1

UYARI

Bu yöntem Windows'un 7 öncesi sürümlerinde hatalıdır, ancak Linux ucundan ziyade denklemin Windows tarafındaki sorunu çözer: Linux'u localtime kullanacak şekilde ayarlamanız gerekmez .


En görkemli ve saygın Arch Linux Wiki'den alınmıştır :

Kullanıcıların RTC'yi sık sık localtime'a ayarlamasının bir nedeni, Windows ile ikili önyükleme yapmaktır (localtime kullanır).

Ancak, Windows [RTC'nin UTC olduğunu söyleyebilir] basit bir kayıt defteri düzeltmesiyle işleyebilir. Windows'u yerel saati kullanmak için Linux yerine UTC kullanacak şekilde yapılandırmanız önerilir.

Kullanarak regedit, kayıt defterine DWORDonaltılık değere sahip bir değer ekleyin 1:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal

Bunu çalışan bir Yönetici Komut İstemi'nden yapabilirsiniz:

reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f

Alternatif olarak, aşağıdaki içeriğe sahip bir * .reg dosyası oluşturun ve dosyayı kayıt defterine almak için çift tıklayın:

Windows Registry Editor Version 5.00

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

Yukarıdakilerin bir etkisi yok gibi görünüyorsa ve Windows'un 64 bit bir varyantı kullanılıyorsa, QWORDdeğer yerine bir DWORDdeğer kullanmak sorunu çözebilir.

Windows DST değişiklikleri nedeniyle saati güncellemesini isterse, bırakın. Saati yalnızca beklendiği gibi UTC'de bırakır, yalnızca görüntülenen zamanı düzeltir.

Bu değerin ayarlanmasından sonra donanım saatinin ve sistem saatinin güncellenmesi gerekebilir. Zamanın ofsetiyle ilgili sorun yaşıyorsanız, tzdata'yı yeniden yüklemeyi ve ardından saat diliminizi tekrar ayarlamayı deneyin:

# timedatectl set-timezone America/Los_Angeles

Aslında bu sorunu kendi Windows makinemde yaşıyorum, ancak şimdiye kadar sadece görmezden geliyorum; Ancak, bu yöntemin işe yarayıp yaramadığını göreceğim ve bulgularımı rapor edeceğim.
Alexej Magura

1
Benim için çalışıyor. Çok teşekkürler! Bu şekilde bilgisayarımda bulunan her Linux kurulumunu değiştirmek zorunda değilim.
Lokesh

0

(Kök olarak) /etc/timeadjdeğişkenini ile arasında UTCdeğiştirin LOCAL.

Bu, Windows tarafında regedit ile uğraşmak zorunda kalmadan sorunu sıraladı.


0

Yerel saatinizle eşleşen bu iki komuttan birini çalıştırın

timedatectl set-local-rtc 1 --adjust-system-clock

'veya'

timedatectl set-local-rtc 0 --adjust-system-clock
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.