Linux time from boot

Wrong Time Displayed in Windows-Linux Dual Boot Setup? Here’s How to Fix it

If you dual boot Windows and Ubuntu or any other Linux distribution, you might have noticed a time difference between the two operating systems.

When you use Linux, it shows the correct time. But when you boot into Windows, it shows the wrong time. Sometimes, it is the opposite and Linux shows the wrong time and Windows has the correct time.

That’s strange specially because you are connected to the internet and your date and time is set to be used automatically.

Don’t worry! You are not the only one to face this issue. You can fix it by using the following command in the Linux terminal:

Again, don’t worry. I’ll explain in detail how the above command fixes the wrong time issue in Windows after dual boot. But before that, let me tell you why you encounter a time difference in a dual boot setup.

Why Windows and Linux show different time in dual boot?

A computer has two main clocks: a system clock and a hardware clock.

A hardware clock which is also called RTC (real time clock) or CMOS/BIOS clock. This clock is outside the operating system, on your computer’s motherboard. It keeps on running even after your system is powered off.

The system clock is what you see inside your operating system.

When your computer is powered on, the hardware clock is read and used to set the system clock. Afterwards, the system clock is used for tracking time. If your operating system makes any changes to system clock, like changing time zone etc, it tries to sync this information to the hardware clock.

By default, Linux assumes that the time stored in the hardware clock is in UTC, not the local time. On the other hand, Windows thinks that the time stored on the hardware clock is local time. That’s where the trouble starts.

Let me explain with examples.

You see I am in Kolkata time zone which is UTC+5:30. After installing, when I set the timezone in Ubuntu to the Kolkata time zone, Ubuntu syncs this time information to the hardware clock but with an offset of 5:30 because hardware clock (RTC) has to be in UTC for Linux.

Let’ say the current time in Kolkata timezone is 15:00 which means that the UTC time is 09:30.

Now when I turn off the system and boot into Windows, the hardware clock has the UTC time (09:30 in this example). But Windows thinks the hardware clock has stored the local time. And thus it changes the system clock (which should have shown 15:00) to use the UTC time (09:30) as the local time. And hence, Windows shows 09:30 as the time which is 5:30 hours behind the actual time (15:00 in this example).

set time windows

Again, if I set the correct time in Windows by toggling the automatic time zone and time buttons, you know what is going to happen? Now it will show the correct time on the system (15:00) and sync this information (notice the “Synchronize your clock” option in the image) to the hardware clock.

Читайте также:  Wine64 mac os big sure

If you boot into Linux, it reads the time from the hardware clock which is in local time (15:00) but since Linux believes it to be the UTC time, it adds an offset of 5:30 to the system clock. Now Linux shows a time of 20:30 which is 5:30 hours ahead of the actual time.

Now that you understand the root cause of the time difference issues in dual boot, it’s time to see how to fix the issue.

Fixing Windows Showing Wrong Time in a Dual Boot Setup With Linux

There are two ways you can go about handling this issue:

  • Make Windows use UTC time for the hardware clock
  • Make Linux use local time for the hardware clock

It is easier to make the changes in Linux and hence I’ll recommend going with the second method.

Ubuntu and most other Linux distributions use systemd these days and hence you can use timedatectl command to change the settings.

What you are doing is to tell your Linux system to use the local time for the hardware clock (RTC). You do that with the set-local-rtc (set local time for RTC) option:

As you can notice in the image below, the RTC now uses the local time.

Now if you boot into Windows, it takes the hardware clock to be as local time which is actually correct this time. When you boot into Linux, your Linux system knows that the hardware clock is using local time, not UTC. And hence, it doesn’t try to add the off-set this time.

This fixes the time difference issue between Linux and Windows in dual boot.

You see a warning about not using local time for RTC. For desktop setups, it should not cause any issues. At least, I cannot think of one.

I hope I made things clear for you. If you still have questions, please leave a comment below.

Like what you read? Please share it with others.

Источник

Linux Find Out Last System Reboot Time and Date Command

Use who command to find last system reboot time/date

You need to use the who command, to print who is logged on. It also displays the time of last system boot. Use the last command to display system reboot and shutdown date and time, run:
$ who -b
Sample outputs:

Use the last command to display listing of last logged in users and system last reboot time and date, enter:
$ last reboot | less
Sample outputs:

Fig.01: last command in action

The last command searches back through the file /var/log/wtmp and displays a list of all users logged in (and out) since that file was created. The pseudo user reboot logs in each time the system is rebooted. Thus last reboot command will show a log of all reboots since the log file was created.

Finding systems last shutdown date and time

To display last shutdown date and time use the following command:
$ last -x|grep shutdown | head -1
Sample outputs:

  • -x: Display the system shutdown entries and run level changes.

Here is another session from my last command:
$ last
$ last -x
$ last -x reboot
$ last -x shutdown
Sample outputs:

Fig.01: How to view last Linux System Reboot Date/Time

  • No ads and tracking
  • In-depth guides for developers and sysadmins at Opensourceflare✨
  • Join my Patreon to support independent content creators and start reading latest guides:
    • How to set up Redis sentinel cluster on Ubuntu or Debian Linux
    • How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
    • How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
    • A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
    • How to protect Linux against rogue USB devices using USBGuard
Читайте также:  Windows 10 переместить user

Join Patreon

Find out Linux system up since…

Another option as suggested by readers in the comments section below is to run the following uptime command:
$ uptime -s
Sample outputs:

macOS (OS X)/Unix/FreeBSD find out last reboot and shutdown time command examples

Type the following last command:
$ last reboot
Sample outputs from OS X unix:

To see shutdown date and time, enter:
$ last shutdown
Sample outputs:

How do I find who rebooted/shutdown the Linux box?

You need to enable psacct service and run the following command to see info about executed commands including user name. Type the following lastcomm command along with the grep command/egrep command to see:
# lastcomm userNameHere
# lastcomm commandNameHere
# lastcomm | more
# lastcomm reboot
# lastcomm shutdown
## OR see both reboot and shutdown time
# lastcomm | egrep ‘reboot|shutdown’
Sample outputs:

So root user rebooted the box from ‘pts/0’ on Sun, Dec, 27th at 23:49 local time.

Conclusion

  • For more information read last command man page and learn how to use the tuptime command on Linux server to see the historical and statistical uptime.

Category List of Unix and Linux commands
Documentation help • mandb • man • pinfo
Disk space analyzers df • duf • ncdu • pydf
File Management cat • cp • less • mkdir • more • tree
Firewall Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04
Linux Desktop Apps Skype • Spotify • VLC 3
Modern utilities bat • exa
Network Utilities NetHogs • dig • host • ip • nmap
OpenVPN CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04
Package Manager apk • apt
Processes Management bg • chroot • cron • disown • fg • glances • gtop • jobs • killall • kill • pidof • pstree • pwdx • time • vtop
Searching ag • grep • whereis • which
Shell builtins compgen • echo • printf
Text processing cut • rev
User Information groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w
WireGuard VPN Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04

Comments on this entry are closed.

On my FC5 system instead of
last reboot | head -1
I can type
last reboot -1

Please give a try by your own!! I think it will not work dude.

i couldn’t find out the error. please help me.

#Send list of users logged on to server via email
59 11 * * * last | grep date ‘+%a %b %d’ > /tmp/users.out ; mail -s “Users Logged Today” ephrondiana@gmail.com

when i tried to execute,
$ last |grep date ‘+%a %b %d’
i got no such file or directory error.

thanks a lot vivek.i din’t expect this much fast reply.But unfortunately when i execute,
$ last | grep $(date ‘+%a %b %d’)
i couldn’t get anything.Please help

My bad…I forgot to include double quote …

Also you may wanna try out:

Thanks vivek.its working great…..

the command “last reboot” worked for me, on my mac!

Can we find who rebooted the linux box?

In order to track who rebooted a linux machine, I would:
– disable root logins; many users sharing root is bad
– create a list of sudoers, so only people listed there could shutdown / reboot / halt
– /var/log/messages would contain traces of who ran sudo shutdown -r now or such

Thanks a lot!
I help me!

wtmp is rotated by the system, so the last solution will stop working. I believe the most reliable solution is:

The uptime idea from Sam is nice but really that just returns the uptime (same as the uptime command) in date format.

last | grep USERNAME | grep tty | head -n 1 |awk -F ‘ ‘ ‘

Is there any way to check if the system is currently rebooting? Or shutting down

I made a cron job that will reboot the server when a specific file exists (deleting that file too of course)
So that I can use php to make it and signal a reboot when needed
When cron job fires, the few seconds of shutting down will trigger database connection error
So I want to know if there is any standard way of knowing the system is rebooting aside from making another file that existence signals “server is rebooting” (which I don’t know how to delete when server is back up anyway)

Thank u 🙂 for info

tuptime is an other command that you can use for get this information. I found it after trying all the typical commands. I think that it covers better this subject that the solutions proposed here

An example, with enumerate option:

# tuptime -e
Startup: 1 at 08:25:03 AM 08/28/2015
Uptime: 14 minutes and 38 seconds
Shutdown: OK at 08:39:41 AM 08/28/2015

Downtime: 6 seconds

Startup: 2 at 08:39:48 AM 08/28/2015
Uptime: 10 minutes and 36 seconds
Shutdown: BAD at 08:50:24 AM 08/28/2015

Downtime: 7 minutes and 16 seconds

Startup: 3 at 08:57:41 AM 08/28/2015
Uptime: 10 minutes and 22 seconds
Shutdown: BAD at 09:08:03 AM 08/28/2015

Downtime: 6 minutes and 12 seconds

Startup: 4 at 09:14:16 AM 08/28/2015
Uptime: 1 minutes and 7 seconds
Shutdown: BAD at 09:15:23 AM 08/28/2015

Downtime: 2 minutes and 35 seconds

Startup: 5 at 09:17:59 AM 08/28/2015
Uptime: 1 minutes and 15 seconds
Shutdown: BAD at 09:19:14 AM 08/28/2015

Downtime: 8 hours, 32 minutes and 8 seconds

Startup: 6 at 05:51:23 PM 08/28/2015
Uptime: 2 days, 16 hours, 53 minutes and 19 seconds
Shutdown: BAD at 10:44:42 AM 08/31/2015

Downtime: 22 hours, 13 minutes and 17 seconds

Startup: 7 at 08:58:00 AM 09/01/2015
Uptime: 7 hours, 23 minutes and 51 seconds
Shutdown: OK at 04:21:51 PM 09/01/2015

Downtime: 11 seconds

Startup: 8 at 04:22:03 PM 09/01/2015
Uptime: 41 seconds
Shutdown: OK at 04:22:44 PM 09/01/2015

Downtime: 6 seconds

Startup: 9 at 04:22:51 PM 09/01/2015
Uptime: 4 minutes and 11 seconds
Shutdown: OK at 04:27:02 PM 09/01/2015

Downtime: 5 seconds

Startup: 10 at 04:27:08 PM 09/01/2015
Uptime: 1 days, 16 hours, 14 minutes and 32 seconds

System startups: 10 since 08:25:03 AM 08/28/2015
System shutdowns: 4 ok – 5 bad
Average uptime: 11 hours, 19 minutes and 27 seconds
Average downtime: 3 hours, 6 minutes and 12 seconds
Current uptime: 1 days, 16 hours, 14 minutes and 32 seconds since 04:27:08 PM 09/01/2015
Uptime rate: 78.49 %
Downtime rate: 21.51 %
System uptime: 4 days, 17 hours, 14 minutes and 35 seconds
System downtime: 1 days, 7 hours, 2 minutes and 1 seconds
System life: 6 days, 0 hours, 16 minutes and 37 seconds

Seriously? No one came up with a simple ‘uptime -s’ ?

Источник

Читайте также:  Установочный hdd для windows
Оцените статью