Wrong time on Fedora 33 x Windows 10 dual boot

Greetings! This photo shows the procedures that I did and that worked to correct the error of the hour in Windows 10, when I used the Deepin system in dual boot. However, on Windows, even deleting the RealTimeIsuniversal file, and redoing the procedures, after starting Fedora, restarting the computer, and starting Windows, the problem persists.

Is Fedora Linux also set to keep the RTC (BIOS/UEFI) clock in UTC? You should be able to run the timedatectl command on Fedora Linux to see how it is configured. Below is what mine looks like.

[/home/gregory]$ timedatectl 
               Local time: Thu 2021-04-08 18:23:01 CDT
           Universal time: Thu 2021-04-08 23:23:01 UTC
                 RTC time: Thu 2021-04-08 23:23:01
                Time zone: America/Chicago (CDT, -0500)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

As long as all the operating systems are keeping the RTC clock in UTC, there should not be a problem.

Mine is like this…

7cfdab5ee42c6781d35d640196131be0f39ef680.png

How do I adjust? The error on the spot only occurs on Windows.

1 Like

It looks like you need to run timedatectl set-local-rtc 0.

[/home/gregory]$ man timedatectl | grep -A 5 "^       set-local-rtc"
       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).

You might also want to add TZ=America/Recife to /etc/environment if you find that “everything” is using UTC and you don’t want that. In some cases, that environment variable might need to be set per-service. For example, if your cron jobs are using UTC and you want them to use your local time, you might need to add the above line to /etc/sysconfig/crond.

That above paragraph (the one I just stroke out) shouldn’t be necessary as long as the timezone is set properly (with timedatectl set-timezone ...)

1 Like

You might also need to stop Windows from doing Internet TimeSync. As sometimes, Internet TimeSync is assuming RTC clock is always in local time instead of UTC, even when the correct Registry settings are added.

3 Likes

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.