Çift önyüklemede saat kapalı


303

Çift önyükleme sistemi Windows XP Pro ve Ubuntu 12.04.

Bios doğru zaman ve ABD Doğu zamanı için ayarlanmış Ubuntu var. Ubuntu açılacak ve süre -4 saat kadar kapalı olacaktır. Ubuntu'daki zamanı düzeltirsem, Windows XP'de başlattığımda saat + 4 saat azalır.

Bu 12.04 yeni bir yükleme. Ubuntu'yu yeniden yüklemeden önce bu sorunu yaşamadım.

Yanıtlar:


265

https://help.ubuntu.com/community/UbuntuTime#Multiple_Boot_Systems_Time_Conflicts

Çoklu Önyükleme Sistemleri Zamanlı Çatışmalar

İşletim sistemleri, anakartınızda bulunan donanım saatinde saati saklar ve alır, böylece sistem gücü olmasa bile zamanı izleyebilir. Çoğu işletim sistemi (Linux / Unix / Mac), donanım saatindeki saati varsayılan olarak UTC olarak saklar , ancak bazı sistemler (özellikle de Microsoft Windows), donanım saatindeki saati 'yerel' saat olarak saklar. Her iki sistem de donanım saatini farklı şekilde görürse, bu çift önyükleme sisteminde sorunlara neden olur.

Donanım saatini UTC olarak elde etmenin avantajı, saat dilimleri arasında hareket ederken veya UTC'de DST veya saat dilimi ofsetleri olmadığı için Yaz Saati (DST) başladığında veya bittiğinde donanım saatini değiştirmeniz gerekmez.

Linux'u yerel saati kullanmak için değiştirmek, Windows'u UTC'yi kullanmak üzere değiştirmekten daha kolay ve daha güvenilirdir, bu nedenle çift önyüklemeli Linux / Windows sistemleri yerel saati kullanma eğilimindedir.

Intrepid (8.10) 'den beri UTC = yes varsayılandır.

Windows'un UTC kullanmasını sağlayın

Not: Bu yöntem başlangıçta Windows Vista ve Server 2008'de desteklenmedi, ancak Vista SP2, Windows 7, Server 2008 R2 ve Windows 8 / 8.1 ile geri döndü.

MS Windows yapmak için donanım saatinden UTC olarak zamanı hesaplar.

Aşağıdaki içeriklerle WindowsTimeFixUTC.reg adlı bir dosya oluşturun ve ardından içerikleri kayıt defteriyle birleştirmek için üzerine çift tıklayın:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
     "RealTimeIsUniversal"=dword:00000001

Not: Windows Time hizmeti, kapatılmadaki kayıt defteri ayarından bağımsız olarak RTC'ye yerel saati yine de yazacaktır, bu nedenle Windows Time hizmetini bu komutla devre dışı bırakmak kullanışlıdır (Windows'ta üçüncü taraf saatlerini kullanırken zaman senkronizasyonu hala gerekliyse) senkronizasyon çözümü):

sc config w32time start= disabled

Değişikliği tersine çevirme
Aşağıdaki içeriklere sahip bir dosya oluşturabilir ve ardından, yukarıdaki gibi orijinal değişikliklerde birleştirmek için çift tıklayabilirsiniz:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
     "RealTimeIsUniversal"=-

Windows Time hizmeti devre dışı bırakılmışsa, şu komutu kullanarak tekrar etkinleştirin:

sc config w32time start= demand

Linux'un 'Yerel' zamanı kullanmasını sağlayın

Ubuntu sisteminize donanım saatinin 'yerel' zamana ayarlandığını söylemek için:

Ubuntu Öncesi 15.04 sistemleri (örneğin Ubuntu 14.04 LTS):

  1. Düzenle /etc/default/rcS
  2. aşağıdaki bölümü ekle veya değiştir

    # Set UTC=yes if your hardware clock is set to UTC (GMT)
    UTC=no
    

Ubuntu 15.04 sistemleri ve üstü (örneğin Ubuntu 16.04 LTS):

  1. bir terminal aç ve aşağıdaki komutu yerine getir

    timedatectl set-local-rtc 1
    

53
Aman Tanrım. Ben edemez inanmak onlar bir donanım saati yerel saat kullanmak için yeterli aptalız. Neden bunu hiç, hiç yaptın?
Iono

20
Çünkü, MS-DOS'un ilk günlerinde ağ kurma yolunda pek bir şey olmadığından ve bir PC'yi saat dilimlerini hareket ettirecek kadar taşımak pek yaygın olmazdı. (Ve evet, o tarihi göz önüne alındığında bile, hala en iyi hareket değildi).
Jon Hanna

9
Bu arada, donanım saatinin Universal olarak kalması konusunda hemfikir olmama rağmen, saat dilimi bilgisini saklamadığından, bununla ilgili birkaç sorun vardır: A) BIOS / UEFI, otomatik uyanma / uyku zamanlayıcıları gibi çeşitli özelliklere sahiptir. bu tetikleyiciler için süreleri ayarlayın. En azından ortalama kullanıcı için bu süreleri UTC'ye ayarlamak garip olurdu. B) Jon'un dediği gibi, geriye dönük uyumluluk nedenleri.
Shahriyar Imanov

5
Windows PowerShell'de, yukarıda belirtilen kayıt defteri özelliğini güncellemek için bu komutu çalıştırın: New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation -Name RealTimeIsUniversal -PropertyType DWord -Value 00000001
Anatoly Mironov

6
Metni gözden geçirenler için, her ikisini de değil, yalnızca bir işletim sistemindeki ayarları değiştirmeniz gerekir.
Alexander Revo,

67

Sistem saatine göre (15.04 ve üzeri) BIOS saatini UTC yerine yerel saate ayarlamak için, timedatectlkomutu kullanmanız gerekir . Göre Arch Wiki :

Donanım saati zaman standardını komut satırından ayarlayabilirsiniz. Neye göre ayarladığınızı kontrol edebilirsiniz:

$ timedatectl | grep local

Donanım saati timedatectl komut ile sorgulanabilir ve ayarlanabilir . Donanım saati standart saatini yerel ayarlara değiştirmek için, aşağıdakileri kullanın:

# timedatectl set-local-rtc 1

UTC'de bulunan donanım saatine geri dönmek istiyorsanız, aşağıdakileri yapın:

# timedatectl set-local-rtc 0

4
Ubuntu 16.10'da "hwclock --systohc --localtime" işlemine yardımcı oldu. Bu, "yerel kısmı" / etc / adjtime dizinine yazar ve böylece kalıcı kılar.
user1050755 21:16

1
@ user1050755, timedatectl komutundan önce, sonra veya sonra mı?
Nasch

36

Saat dilimi olan Doğu anda EDT (Doğu Yaz Saati) 'dir. EDT UTC eksi dört saattir, yaşadığınız dengeleme ile aynı.

Bu, çift önyüklemeli bir sistemde meydana geldiğinde, bunun nedeni genellikle bir işletim sisteminin donanım saatinin yerel saati, diğer işletim sisteminin donanım saatinin UTC'yi izlediğini düşünmesidir.

Senin durumunda, donanım saatin muhtemelen yerel saate ayarlanmış ve:

  • Windows, (saat ayarlarınız verilen) doğru olan yerel saati kullanacak şekilde ayarlanmıştır .
  • Ubuntu, UTC kullanacak şekilde ayarlanmıştır (zaman ayarlarınız belirtilir) yanlışdır .

Ubuntu sistemindeki zamanı sadece manuel veya otomatik olarak sıfırlayacak olsanız, Windows'ta yanlış olurdu, bu iyi bir çözüm değil.

Bunun yerine, en iyi çözüm muhtemelen donanım saatini yerel saat olarak değerlendirmek için Ubuntu'yu yeniden yapılandırmaktır (o zaman Windows yapılandırmanızı ve donanım saatinizi tek başına bırakabilirsiniz).

Bunu yapmak için /etc/default/rcSkök olarak düzenleyin ve şunlardan emin olun UTC=no:

  1. Alt+ Tuşlarına basın F2.

  2. Yazıp gksu gedit /etc/default/rcStuşuna basın Enter.

  3. Muhtemelen bunu göreceksiniz:

    # assume that the BIOS clock is set to UTC time (recommended)
    UTC=yes
    
    • Bunu yaparsanız, değiştirmek UTC=yesiçin UTC=no. (Veya siz de bir şeye değiştirerek bir yorum eklemek isteyebilirsiniz UTC=no # changed to accommodate Windows system. Bir #karakterden sonraki satırdaki her şey bir yorumdur ve yalnızca ayarlarınızı daha okunaklı hale getirmek için vardır.)
    • Yapmazsanız herhangi bir UTC=satır arayın . Eğer yorumlanmamışsa (yani #başında bir yok), buna göre değiştirin. Yorumlanırsa, öncüyü kaldırarak yorumdan kaçının #ve yazdığından emin olun UTC=no.
  4. Dosyayı kaydedin ve metin düzenleyiciden çıkın.

  5. Değişikliklerinizi uygulamak için yeniden başlatın ve saatin şu anda her iki işletim sisteminde de doğru çalıştığını kontrol edin.

Kaynak: https://help.ubuntu.com/community/UbuntuTime#Make_Linux_use_.27Local.27_time

(Fakat bu çok genel bir durum; bu cevabınızı, durumunuza uygulayabilmek için, biraz da yaygın bir problem olan, özellikle yazdım.)


Bunun benim için olduğu gibi bir Ubuntu sürümünden diğerine yükseltirken de olabileceğini unutmayın. Yukarıdaki düzeltmeyi yapmanız ve ardından saatinizi
starbeamrainbowlabs

Bu, kabul edilen cevap olmalıdır. Windows yüklüydü ve çalışıyordum, sonra Ubuntu'yu yükledim ve saatler haywire gitti - Yapılandırmamı bozan linux ilavesiyse Windows ayarlarını değiştirmem için bir neden göremiyorum.
Przemek D

13

/ Etc / rcS düzeltmesi Win7 / Ubuntu 14.04x64 kurulumumda çalışmadı ya da GUI saati boyunca herhangi bir düzeltme yapmadı. Sorunun kökeni BIOS zamanı VS UTC zamanı olduğundan ve Windows UTC kullanımı söz konusu olduğunda popodan kaynaklanan bir acı olduğu için, UTC + 0 kullanan haritada sadece bir nokta seçtim (BIOS ile UTC saati arasında değişiklik yok) .

Konumunuzu Reykjavik (İzlanda'nın başkenti) olarak değiştirmeyi deneyin. İşte bu kadar! Ubuntu saatiniz, BIOS saatinize uyacak şekilde değişecektir.


Haha! Muhteşem. : DI gerçekten konumumu umursamıyor. Bu iki saniyelik bir düzeltme yapıldı. Çok teşekkürler.
Soluk Mavi Nokta
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.