› Foros › PC › Software libre
Problema
Muy buenas, veréis, tengo un problema al que nunca le he dado mucha importancia, pero me lleva pasando mínimo desde hace un par de años. El caso es que ya huele y quiero saber porque pasa y como arreglarlo. Me ha pasado tanto con windows 10 y 7 así como debian, ubuntu y kubuntu.
En cualquiera de los casos tengo un disco con windows(actualmente 10) y en el otro una distro de linux(actualmente kubuntu 18.04). En ambos sistemas operativos tengo configurada bien la zona horaria y su configuración de forma automática. El caso es que linux siempre la pilla bien, pero es cambiar a windows y siempre me toca desactivar y reactivar la configuración automática para que pille bien la hora. Os podréis imaginar que durante la mitad del año el desfase es de una hora y con el cambio de horario al formato verano el desfase pasa a ser de 2 horas.
Me imagino que es problema de windows ya que resulta ser que es el que se pierde. pero como puedo darle fin? es algo de la bios quiza?
Zokormazo escribió:Linux guarda la hora en cmos en utc por defecto
Windows guarda la hora en cmos en tu localtime por defecto.
Asi que cuando saltas de uno a otro, tienes un desfase de 1-2 horas (dependiendo del DST) entre uno y otro hasta que sincronicen la hora por ntp.
Cambia la conf de linux para que use localtime en cmos o el de windows para que use utc (ambas cosas son posibles, la que mas rabia te de) y ya no tendrás ese desfase
lordbox escribió:Una de las formas de acabar con este problema es cambiando la forma que Linux utiliza para procesar la fecha y la hora. Abre un terminal y ejecuta:sudo timedatectl set-local-rtc 1
man timedatectl
set-local-rtc [BOOL]
Takes a boolean argument. If "0", the system is configured to maintain the RTC in
universal time. If "1", it will maintain the RTC in local time instead. Note that
maintaining the RTC in the local timezone is not fully supported and will create various
problems with time zone changes and daylight saving adjustments. If at all possible, keep
the RTC in UTC mode. Note that invoking this will also synchronize the RTC from the system
clock, unless --adjust-system-clock is passed (see above). This command will change the
3rd line of /etc/adjtime, as documented in hwclock(8).
https://windtux.com/cambiar-el-horario-de-windows-a-utc-para-que-coincida-con-el-de-linux-en-caso-de-tener-un-arranque-dual
Abrir el registro (regedit) de Windows y navegamos en las siguientes claves: HKEY_LOCAL_MACHINE -> SYSTEM -> CurrentControlSet -> Control -> TimeZoneInformation, allí creamos el nuevo valor QWORD (con click derecho) RealTimeIsUniversal y como información del valor ponemos 1, aceptamos y cerramos el registro.
Abrir el registro (regedit) de Windows y navegamos en las siguientes claves: HKEY_LOCAL_MACHINE -> SYSTEM -> CurrentControlSet -> Control -> TimeZoneInformation, allí creamos el nuevo valor DWORD (con click derecho) RealTimeIsUniversal y como información del valor ponemos 1, aceptamos y cerramos el registro.
NOTA:
El registro de windows consta de 5 claves principales, en las soluciones detalladas anteriormente se nombra HKEY_LOCAL_MACHINE debido a que es la parte que Contiene la información de la configuración
del equipo(para cualquier usuario). Básicamente es la información
que está siendo utilizada por las aplicaciones, por los controladores,
la configuración de todos los usuarios. Es igual que hkey_classes_root
pero en este caso guarda la información para todos los usuarios.
sc config w32time start= disabled
sudo timedatectl set-local-rtc 0
sudo timedatectl set-local-rtc 1
Zokormazo escribió:Linux guarda la hora en cmos en utc por defecto
Windows guarda la hora en cmos en tu localtime por defecto.
Asi que cuando saltas de uno a otro, tienes un desfase de 1-2 horas (dependiendo del DST) entre uno y otro hasta que sincronicen la hora por ntp.
Cambia la conf de linux para que use localtime en cmos o el de windows para que use utc (ambas cosas son posibles, la que mas rabia te de) y ya no tendras ese desfase
lordbox escribió:Una de las formas de acabar con este problema es cambiando la forma que Linux utiliza para procesar la fecha y la hora. Abre un terminal y ejecuta:sudo timedatectl set-local-rtc 1
alohl669 escribió:Zokormazo escribió:Linux guarda la hora en cmos en utc por defecto
Windows guarda la hora en cmos en tu localtime por defecto.
Asi que cuando saltas de uno a otro, tienes un desfase de 1-2 horas (dependiendo del DST) entre uno y otro hasta que sincronicen la hora por ntp.
Cambia la conf de linux para que use localtime en cmos o el de windows para que use utc (ambas cosas son posibles, la que mas rabia te de) y ya no tendras ese desfase
Pero te refieres a la configuracion del auto? o a dejarlo en manual, porque por ejemplo en linux no veo forma de cambiar a utc a no ser que sea con manual. ya que en auto se me queda siempre en cest.lordbox escribió:Una de las formas de acabar con este problema es cambiando la forma que Linux utiliza para procesar la fecha y la hora. Abre un terminal y ejecuta:sudo timedatectl set-local-rtc 1
Interesante, luego le echo un vistazo.
lordbox escribió:Una de las formas de acabar con este problema es cambiando la forma que Linux utiliza para procesar la fecha y la hora. Abre un terminal y ejecuta:sudo timedatectl set-local-rtc 1
Darumo escribió:Es lo que te han dicho antes, por defecto Windows usa la hora local, y Linux la UTC.
Basta con que a uno u otro lo cambies para que coincidan. Para que ambos usen la Local o ambos la UTC.
Lo fácil es cambiar Linux a la local y ya está, supongo que el comando que te indicó el compañero antes servirá para ello.
Esto es un fragmento de man timedatectl
.
.
.set-local-rtc [BOOL]
Takes a boolean argument. If "0", the system is configured to
maintain the RTC in universal time. If "1", it will maintain the
RTC in local time instead.
https://windtux.com/cambiar-el-horario-de-windows-a-utc-para-que-coincida-con-el-de-linux-en-caso-de-tener-un-arranque-dual
Abrir el registro (regedit) de Windows y navegamos en las siguientes claves: HKEY_LOCAL_MACHINE -> SYSTEM -> CurrentControlSet -> Control -> TimeZoneInformation, allí creamos el nuevo valor QWORD (con click derecho) RealTimeIsUniversal y como información del valor ponemos 1, aceptamos y cerramos el registro.
Abrir el registro (regedit) de Windows y navegamos en las siguientes claves: HKEY_LOCAL_MACHINE -> SYSTEM -> CurrentControlSet -> Control -> TimeZoneInformation, allí creamos el nuevo valor DWORD (con click derecho) RealTimeIsUniversal y como información del valor ponemos 1, aceptamos y cerramos el registro.
NOTA:
El registro de windows consta de 5 claves principales, en las soluciones detalladas anteriormente se nombra HKEY_LOCAL_MACHINE debido a que es la parte que Contiene la información de la configuración
del equipo(para cualquier usuario). Básicamente es la información
que está siendo utilizada por las aplicaciones, por los controladores,
la configuración de todos los usuarios. Es igual que hkey_classes_root
pero en este caso guarda la información para todos los usuarios.
sc config w32time start= disabled
sudo timedatectl set-local-rtc 0
set-local-rtc [BOOL]
Takes a boolean argument. If "0", the system is configured to maintain the RTC in
universal time. If "1", it will maintain the RTC in local time instead. Note that
maintaining the RTC in the local timezone is not fully supported and will create various
problems with time zone changes and daylight saving adjustments. If at all possible, keep
the RTC in UTC mode. Note that invoking this will also synchronize the RTC from the system
clock, unless --adjust-system-clock is passed (see above). This command will change the
3rd line of /etc/adjtime, as documented in hwclock(8).