Dystrybucja Linuksa zakłada, że zegar BIOS używa UTC, a instalacja systemu Windows zakłada, że czas BIOS jest w czasie lokalnym.
Oto jak skonfigurowałem to na moim laptopie z podwójnym uruchomieniem: Wprowadzam zmiany po stronie Linux, aby używać czasu lokalnego zamiast UTC dla zegara systemowego. najpierw uruchom komendę, aby czas był poprawnie ustawiony po stronie Linux-a, ponieważ root
:
date -s "2 feb 2016 18:05:15"
hwclock --hctosys --localtime
powinien skopiować ustawienia daty / godziny systemu BIOS na komputer i ustawić je na czas lokalny. hwclock --systohc --localtime
powinien ustawić czas BIOS w czasie lokalnym zamiast UTC. date
Poleciłbym ustawić czas za pomocą powyższej komendy, a następnie uruchomić: hwclock --systohc --localtime ORAZ RÓWNIEŻ uruchomić: hwclock --hctosys --localtime, aby upewnić się, że / etc / adjtime ma ostatnią linię pliku z napisem „LOCAL” zamiast „UTC” lub czegoś podobnego. te --hctosys --localtime
flagi razem można tego dokonać programowo. Możliwe, że date
zrobi to sam, ale nie sprawdziłem.
aby sprawdzić, czy czas systemowy jest rzeczywiście dokładny w czasie lokalnym. Nie martw się tym, jak formatowany jest ciąg ustawiania daty, jest niezwykle elastyczny. Jako przykład innych prawidłowych sposobów wypowiedzenia:
date -s "2 feb 2016 6:05:15 PM"
date -s "february 2, 2016 6:11:30 PM"
date -s "Tue Feb 2 18:11:30 EST 2016"
(Jestem w czasie wschodniego standardu, GMT -5)
Jeśli nadal masz problemy, może być konieczne ponowne wybranie strefy czasowej. W Debianie lub pochodnych takich jak Ubuntu, używasz sudo dpkg-reconfigure tzdata
do zmiany stref czasowych w interfejsie ncurses.
Jeśli go nie masz, spróbuj znaleźć odpowiedni plik informacji o strefie czasowej. Na mojej instalacji to jest /usr/share/zoneinfo/America/Indiana/Indianapolis
.
Gdy go znajdziesz, skopiuj go do /etc/localtime
:
cp /usr/share/zoneinfo/America/Indiana/Indianapolis /etc/localtime
Po wykonaniu tej czynności upewnię się, że czas jest odpowiednio ustawiony date
. Jeśli nie, uruchom ponownie pierwsze dwa polecenia ( date
i hwclock
).
w Linuksie powinno to sprawić, że niezależnie od tego, kiedy ustawisz w Linuksie, będzie poprawnie współdzielone z Windows. Alternatywnie można to zrobić, ale trudniej jest zamiast tego ustawić system Windows na używanie UTC. Jak to się dzieje, zmiany w wersjach i oknach powracają do czasu lokalnego po aktualizacji.
Pamiętam jeden szczególnie uparty komputer, w którym robienie wszystkich hwclock
rzeczy stawało się przesłonięte, ponieważ komputer pobierał bieżący czas przez Internet za pomocą NTP. Ustawienie strefy czasowej było jedynym sposobem, aby to naprawić bez całkowitego wyłączenia NTP.
Tak czy inaczej, to tylko duży zrzut wszystkich moich przeszłych doświadczeń z tą sprawą. Jeden z nich prawie na pewno zadziała. Najpierw spróbuję rzeczy ze strefy czasowej, a następnie zdecydowanie spróbuję tych hwclock --systohc --localtime
rzeczy po zakończeniu, aby upewnić się, że zegar BIOS jest w czasie lokalnym.