Diferentes tiempos para windows y ubuntu. El tiempo se pierde en Ubuntu y Windows

Hay ocasiones en las que al instalar un segundo sistema, esto suele pasar Linux, la hora en los sistemas comienza a fallar, por ejemplo, estabas trabajando bajo tu Linux y decidió mudarse a ventanas, y descubrí que la hora y la fecha son completamente incorrectas, o viceversa, esto se debe a diferencias en el formato de la hora, estos sistemas operativos funcionan de manera diferente, un poco de teoría, así que comencemos con Linux, estos sistemas operativos funcionan con UTC
UTC- Los relojes tanto del hardware como del software se basan en la hora media de Greenwich. Es decir, el reloj da la hora universal en la zona horaria cero. Por ejemplo, si su zona horaria es GMT+3, Moscú, entonces el reloj tendrá un retraso de tres horas. Y los usuarios agregan localmente a esta hora una corrección para la zona horaria, por ejemplo, más +3. Cada usuario añade la modificación que necesita. Esto se hace en los servidores para que cada usuario pueda obtener la hora correcta para su zona horaria.
ventanas a su vez trabaja con hora local
hora local- En esta versión, el reloj del software también funciona según la hora media de Greenwich, pero el reloj del hardware funciona según la hora de la zona horaria local. No hay diferencia para el usuario; aún necesita agregar un ajuste a su zona horaria. Pero al cargar y sincronizar la hora, Windows resta 3 horas (o algún otro ajuste de zona horaria) a la hora del hardware para que la hora del software sea correcta.
Entonces, parece que hemos resuelto la teoría, ahora pasemos a la práctica, y así, al principio cargaremos nuestro ventanas, inicie la consola como administrador y ejecute comandos para un sistema de 32 bits
Agregar registro HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
o para 64 bits
Agregar registro HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 1
pero el reloj seguirá sincronizado con la hora del servidor; para ello, desactive el servicio de sincronización del reloj
sc config w32time inicio = deshabilitado
Ahora reiniciamos nuestro sistema y lanzamos Linux inicie sesión en la terminal en raíz y ejecutar los comandos
timedatectl set-local-rtc 1 --ajustar-reloj-del-sistema
Y
sed -i "s/UTC=yes/UTC=no/" /etc/default/rcS
Mira el estado del reloj del hardware.
sudo horadatectl
Ahora reiniciamos nuevamente, ingresamos a la BIOS y configuramos la fecha y hora, verificamos...
Si por alguna razón necesitamos desactivar todo esto, entonces ejecutamos los comandos en Linux.
timedatectl set-local-rtc 0
Y
sed -i "s/UTC=no/UTC=yes/" /etc/default/rcS
en windows, consola como administrador
Agregar registro HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 0
Y
sc config w32time inicio = demanda
Otra opción sería la siguiente, en linux debian y derivados
ejecute el comando para configurar la hora local
sudo hwclock --localtime --adjust
si queremos devolverlo
sudo hwclock --utc --adjust
ahora vamos a comprobar
hora fechactl | grep local
si la respuesta
RTC en TZ local: no
entonces nuestro tiempo corre según Greenwich, pero si la respuesta
RTC en TZ local: sí
eso significa que nuestro tiempo corre según el sistema establecido
eso es todo creo que te fue util

En modo UEFI (Arranque seguro). La hora de mi BIOS es correcta.

Cuando inicio Ubuntu y luego inicio Windows 10, muestra la hora incorrecta. Tengo que solucionarlo manualmente o en línea en Windows 10 y cuando reinicio en Windows 10 no hay problema. El reloj muestra la hora correcta. Y luego, cuando reinicio en Linux, el reloj es correcto, pero cuando vuelvo a Windows 10, el reloj comienza a funcionar nuevamente.

Los sistemas operativos almacenan y recuperan la hora en un reloj de hardware ubicado en la placa base para realizar un seguimiento del tiempo incluso cuando el sistema no está encendido. La mayoría de los sistemas operativos (Linux/Unix/Mac) almacenan la hora en el reloj del hardware como UTC de forma predeterminada, aunque algunos sistemas (en particular, Microsoft Windows) almacenan la hora en el reloj del hardware como hora "local". Esto causa problemas en un sistema de arranque dual si ambos sistemas tratan el reloj del hardware de manera diferente.

La ventaja de utilizar un reloj de hardware como UTC es que no es necesario cambiar el reloj de hardware cuando se mueve entre zonas horarias o cuando comienza o finaliza el horario de verano (DST), ya que UTC no tiene hora ni compensaciones horarias.

Cambiar Linux para usar la hora local es más fácil y confiable que cambiar Windows para usar UTC, por lo que los sistemas de arranque dual Linux/Windows generalmente usan la hora local.

Desde Intrepid (8.10), UTC = sí es el valor predeterminado.

Hacer que Windows use UTC

Nota. Este método originalmente no era compatible con Windows Vista y Server 2008, pero volvió con Vista SP2, Windows 7, Server 2008 R2 y Windows 8/8.1.

Para que MS Windows calcule la hora en formato UTC a partir del reloj del hardware.

Cree un archivo llamado WindowsTimeFixUTC.reg con el siguiente contenido y luego haga doble clic en él para fusionar el contenido en el registro:

Editor del Registro de Windows Versión 5.00 "RealTimeIsUniversal"=dword:00000001

Nota. El servicio de hora de Windows seguirá registrando la hora local en el RTC independientemente de la configuración de registro anterior cuando esté apagado, por lo que es conveniente desactivar el servicio de hora de Windows usando este comando (si se requiere sincronización de hora mientras Windows utiliza alguna sincronización de hora de terceros). ):

Sc config w32time start = deshabilitado

Cancelar cambio

Puede crear un archivo con el siguiente contenido y luego hacer doble clic en él para fusionar los cambios originales como se muestra arriba:

Editor del Registro de Windows Versión 5.00 "RealTimeIsUniversal"=-

Si el servicio de hora de Windows estaba deshabilitado, habilítelo nuevamente usando el comando:

Sc config w32time inicio = demanda

Hacer que Linux sea hora "local"

Para decirle a su sistema Ubuntu que el reloj del hardware está configurado en la hora "local":

  1. cambiar /etc/default/rcS
  2. agregar o cambiar la siguiente sección

    # Configure UTC=yes si el reloj de su hardware está configurado en UTC (GMT) UTC=no

Ubuntu 15.04 y sistemas superiores (por ejemplo, Ubuntu 16.04 LTS):

    abra una terminal y ejecute el siguiente comando

    Si quieres ver en nuestra web respuestas a tus dudas sobre todo lo relacionado con la tecnología Apple, el sistema operativo Mac OS X (y su lanzamiento en PC), escríbenos vía o.

    Recibimos la siguiente pregunta:

    ¡buenas tardes!
    Hackintosh ejecuta Snow Leopard, Windows 7 y Ubuntu. El tiempo se pierde constantemente después de reiniciar ((¡Mac OS siempre lo retrasa entre 4 y 5 horas! Dígame cómo solucionar el problema)

    un problema con sincronización de tiempo es relevante no sólo para Hackintoshes, sino también para Mac reales, en los que Windows se ejecuta a través de Boot Camp. La razón es muy simple: Mac OS X siempre supone que la hora registrada en el BIOS (o EFI) está escrita allí en el formato UTC- en otras palabras, según Greenwich. A ello le añade la corrección adecuada para la zona horaria.

    Pero Windows hace las cosas de otra manera: lee directamente tiempo desde BIOS. Y si cambia esta hora, o se sincroniza automáticamente, se registrará en el BIOS en el formato corregido: UTC+corrección.

    ¿Cómo resolver esta contradicción? Hay dos enfoques: uno desde el lado de Mac OS y el otro desde el lado de Windows y Linux.

    Solución usando Mac OS X

    Digamos de inmediato que esta no es la mejor manera. La conclusión es que para Mac OS X configuramos la zona horaria en la hora media de Greenwich. Por ejemplo, en la configuración (remoto fecha y hora, pestaña Zona horaria) seleccione como su localidad Reikiavik.

    Además, en la pestaña "Fecha y hora" Asegúrese de desactivar la sincronización automática de la hora; de lo contrario, resultará aún peor que antes.

    Después de estos pasos, la hora en Windows siempre será correcta y Mac OS X no la estropeará. ¿Pero por qué no es esta la mejor manera? El hecho es que si sincroniza algún dispositivo con Mac OS X, por ejemplo, un iPhone, la zona horaria incorrecta distorsionará muchos datos importantes. Por ejemplo, la hora de entrada de SMS también será la de Greenwich.

    Solución usando Windows y Linux

    Otra forma es hacer que Windows y Linux lean la hora desde el BIOS de la misma manera que lo hace Mac OS. Afortunadamente, esa oportunidad sí existe, pero está muy oculta.

    En Windows, tendrás que ejecutar el programa desde la ventana Ejecutar. regeditEditor de registro. Entonces ve al hilo \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation y cree un valor DWORD allí con el nombre El tiempo real es universal y un valor igual a uno:

    En Linux (al menos en Ubuntu), necesitas editar el archivo. /etc/default/rcS en cualquier editor de texto y reemplazar el contenido del parámetro "UTC=no" en "UTC=sí".

    Después de esto, reinicie Mac OS X y configure su zona horaria nativa; al mismo tiempo, puede habilitar la sincronización automática de la hora a través de Internet. Después de reiniciar en Windows y Ubuntu verás exactamente lo mismo.

    El uso de varios sistemas operativos en la misma computadora a veces causa conflictos entre sí cuando usan lo mismo. A veces se trata de algo tan simple como el tiempo. Incluso sistemas operativos de PC tan populares como Windows y Ubuntu no pueden llevarse bien y cambian constantemente la hora de cada uno a la incorrecta.

    Las razones de este fenómeno son realmente simples: Windows percibe la hora del sistema (que se muestra en la configuración CMOS) como local (teniendo en cuenta la zona horaria), y Ubuntu, según UTC (hora media de Greenwich, sin tener en cuenta la zona horaria). Debido a esto, ajustan el tiempo del sistema para adaptarlo a su lógica, violando la lógica de los demás.

    La solución al problema también es simple: obligar a Windows a agregar un desplazamiento de zona horaria a la hora del sistema o evitar que Ubuntu agregue este desplazamiento.

    Configuraciones en Ubuntu

    A partir de la versión 16.04, la configuración de visualización de la hora se puede cambiar mediante dos comandos.

    Habilitar la visualización de la hora local:
    sudo hwclock --localtime --adjust

    Habilitar la visualización UTC:
    sudo hwclock --utc --adjust

    En versiones anteriores de Ubuntu necesitas editar el archivo rtC:

    sudo nano /etc/default/rcS

    Debe agregar (para mostrar la hora local) o eliminar esta línea (para mostrar la hora UTC):

    Configuraciones en Windows

    En Windows, casi todas las configuraciones del sistema se editan en el registro; TimeZoneInformation, necesaria en esta situación, no es una excepción. Se encuentra en el registro en esta dirección:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

    Aquí debe agregar o cambiar el parámetro RealTimeIsUniversal. Su tipo es DWORD. Para que la hora del sistema se lea en UTC, debe establecer el valor en 1; para reconocerla como local, debe establecer el valor en 0 o eliminar completamente este parámetro.

    El Editor del Registro se puede iniciar usando el comando regedit.