Su computadora almacena la hora en un reloj de hardware en su placa base. El reloj registra el tiempo, inclusive cuando la computadora está apagada. De forma predeterminada, Windows asume que la hora se almacena en la hora local, mientras que Linux asume que la hora se almacena en la hora UTC y aplica un desplazamiento. Esto lleva a que uno de sus sistemas operativos muestre la hora incorrecta en una situación de arranque dual.
Para arreglar este problema, tiene dos opciones: hacer que Linux use la hora local o hacer que Windows use la hora UTC. ¡No sigas ambos pasos de instrucciones o no hablarán el mismo idioma! Le sugerimos que haga que Linux utilice la hora local, si es factible.
Opción uno: hacer que Linux use la hora local
Hacer que Linux use la hora local de la misma manera que lo hace Windows es probablemente la mejor opción. Windows cuenta con una configuración de registro que lo obliga a almacenar la hora como UTC, pero al parecer no es bien compatible y puede causar problemas con algunas aplicaciones de terceros que siempre asumen que el reloj del hardware está en la hora local. Además es incompatible con el propio servicio de sincronización de hora de Internet de Windows.
Los pasos para hacer que su sistema Linux utilice la hora local pueden variar de una distribución de Linux a otra. A pesar de esto, en cualquier distribución de Linux con systemd, puede utilizar el timedatectl
comando para realizar este cambio. Esto funcionará en versiones modernas de Ubuntu, Fedora, Red Hat, Debian, Mint y otras distribuciones de Linux que usan systemd.
Para realizar este cambio, primero abra una ventana de Terminal en su sistema Linux. Ejecute el siguiente comando para poner el reloj de tiempo real de la placa base en la hora local. Linux almacenará la hora en la hora local, del mismo modo que lo hace Windows.
timedatectl set-local-rtc 1 --adjust-system-clock
Para verificar su configuración actual, ejecute:
timedatectl
Si ve «RTC en TZ local: sí», Linux está configurado para utilizar la zona horaria local en lugar de UTC. El comando le advierte que este modo no es totalmente compatible y puede causar algunos problemas al cambiar entre zonas horarias y con el horario de verano. A pesar de esto, este modo probablemente sea más compatible que la opción UTC en Windows. Si realiza un arranque dual con Windows, Windows se encargará del horario de verano por usted.
Si en algún momento desea deshacer este cambio, ejecute el siguiente comando:
timedatectl set-local-rtc 0 --adjust-system-clock
Opción dos: hacer que Windows use la hora UTC
Hacer que Windows use la hora UTC como Linux probablemente no sea la mejor opción. Puede editar el registro para que Windows use la hora UTC, pero esto podría causar más problemas que solo hacer que Linux use la hora local.
Si desea hacer esto, primero querrá deshabilitar la función de actualización de la hora de Internet en Windows. Esto garantiza que Windows no configure el reloj incorrectamente cuando intente sincronizar la hora actual desde Internet. En Windows 10, diríjase a Configuración> Hora e idioma y desactive «Determinar la hora automáticamente». En Windows 7, haga clic con el botón derecho en el reloj del sistema en la barra de tareas y seleccione «Ajustar fecha / hora». Haga clic en la pestaña «Hora de Internet», haga clic en el botón «Cambiar configuración», desmarque la opción «Sincronizar con un servidor de hora de Internet» y haga clic en «Aceptar».
Haga que Windows use la hora UTC editando el registro
RELACIONADO: Aprender a utilizar el editor del registro como un profesional
Ahora deberá agregar el valor apropiado al registro de Windows. Aquí está nuestra advertencia estándar: el Editor del Registro es una herramienta poderosa y su uso indebido puede hacer que su sistema sea inestable o inclusive inoperable. Este es un truco bastante sencillo y no debería tener ningún problema siempre que siga las instrucciones. Una vez dicho esto, si nunca ha trabajado con él antes, considere leer acerca de cómo utilizar el Editor del Registro antes de comenzar. Y definitivamente haga una copia de seguridad del Registro (¡y de su computadora!) Antes de realizar cambios.
Primero, abra el Editor del Registro haciendo clic en Inicio, escribiendo «regedit» y presionando Enter. Acepte el mensaje de seguridad que aparece.
Navegue a la próxima clave en el panel izquierdo del editor de registro:
HKEY_LOCAL_MACHINESystemCurrentControlSetControlTimeZoneInformation
En las últimas versiones de Windows 10, puede copiar y pegar la línea anterior en el cuadro de dirección. A pesar de esto, este truco además funcionará en Windows 7.
Haga clic con el botón derecho en la tecla “Información de zona horaria” y seleccione Nuevo> Valor DWORD (32 bits).
Nombra tu nuevo valor RealTimeIsUniversal
.
Haga doble clic en el RealTimeIsUniversal
valor que acaba de crear, establezca sus datos de valor en 1
y haga clic en «Aceptar».
Ya ha terminado y puede cerrar el Editor del registro. Windows almacenará la hora en UTC, del mismo modo que lo hace Linux.
Si en algún momento desea deshacer este cambio, regrese a esta ubicación en el registro, haga clic con el botón derecho en el RealTimeIsUniversal
valor que agregó y elimínelo de su registro.
Descargue nuestro truco de registro con un clic
Si no desea editar el registro usted mismo, puede usar nuestro truco de registro descargable. Creamos un truco que hace que Windows use la hora UTC y otro que lo restaura a la hora local. Ambos se incluyen en el siguiente archivo ZIP. Simplemente descargue el archivo, haga doble clic en el truco que desea utilizar y acepte agregar la información a su registro.
Hacer que Windows use la hora UTC
Los trucos anteriores hacen lo mismo que describimos previamente. El truco Make Windows Use UTC Time crea la entrada «RealTimeIsUniversal» con un valor de «1», mientras que el truco Make Windows Use Local Time elimina la entrada «RealTimeIsUniversal».
Si en algún momento desea ver lo que hace este o cualquier otro archivo .reg, haga clic derecho y seleccione «Editar» para ver el archivo en el Bloc de notas. Puede crear fácilmente sus propios trucos de registro, que solo consisten en una lista de entradas de registro para agregar, editar y borrar en una lista con el formato adecuado.
¿Qué pasa con Windows de arranque dual en una Mac?
RELACIONADO: Cómo instalar Windows en una Mac con Boot Camp
Aún cuando macOS de Apple utiliza la hora UTC como lo hace Linux, no debería tener que hacer nada especial al ejecutar Windows en Boot Camp en una Mac. Los controladores Boot Camp de Apple se encargan de todo. (A pesar de esto, los arrancadores duales de Hackintosh son otra historia y deberán de intentar utilizar el ajuste de registro de Windows anterior).
Si se pregunta por qué Windows utiliza la hora local en lugar de UTC como otros sistemas operativos, blog oficial de Microsoft The Old New Thing lo explica aquí. En resumen, fue para preservar la compatibilidad con versiones anteriores de los sistemas Windows 3.1 y evitar que las personas se confundan cuando establecen la hora en el BIOS de la computadora. Decididamente, los fabricantes de PC eligieron la hora local para que fuera compatible con Windows y Windows eligió la hora local para que fuera compatible con la decisión que eligieron los fabricantes de PC, por lo que el ciclo se reforzó a sí mismo.
En este momento no existe un estándar para etiquetar si una hora se almacena como UTC o como hora local en BIOS o firmware UEFI, que probablemente sería la respuesta más lógica. Pero requeriría algo de trabajo, y la mayoría de la gente ni siquiera notará que los diferentes sistemas operativos usan diferentes formatos de hora, excepto en configuraciones de arranque dual.
setTimeout(function(){
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version=’2.0′;
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s) } (window, document,’script’,
‘https://connect.facebook.net/en_US/fbevents.js’);
fbq(‘init’, ‘335401813750447’);
fbq(‘track’, ‘PageView’);
},3000);