I want to find place to where Linux writes all boot messages. You know:

facility one    [STARTED]
facility two    [STARTED]
facility three  [FAILED]

I searched with

find . -print0 | xargs -0 grep -i "words from boot messages"

in /var/log/, but found nothing.

I have CentOS 5.5.
For example at boot time I had: "Determining IP information for eth0... failed; no link present. Check cable?"
I don't care about error specificaly, but I can't find any log that holds this error.

dmesg | grep "no link present" returns nothing too.

  • 1
    did you run the find command with root permissions? find will print all files you can list, but grep can only check the files you can read & some log files might be owned by root withput read permissions for other users. Also, at least GNU grep supports th -l option to print the names of files with matches instead of matched lines. This can be very usefule looking for files that contain certain text. So try su -c 'find /var/log -print0 | xargs -0 grep -l -i "words from boot messages"' or sudo find /varlog -print0 | xargs -0 sudo grep -l -i "words from boot messages" – mschilli Feb 15 '15 at 8:33
  • Nowadays with systemd here is the answer. – Pablo A Dec 24 '18 at 2:22

Most of the boot messages are put in a buffer, that you can access using the command dmesg. On most Linux distributions, that output is also stored in


That you can view with

tail -n 100 /var/log/dmesg.log
  • 1
    For example, I had at boot time: "Determining IP information for eth0... failed; no link present Check cable?" I don't care about this error specificaly, but when I do: dmesg | grep "no link present" I get nothing... Actually I get VERY MUCH lines with grep "eth0", but not with concrete error. So is there way to find concrete boot errors description or no? (Thank you for reply to the point) – Rodnower Aug 15 '10 at 20:43
  • Try using Nano's ^w (whereis) command, essentially a Find command. Or grep with a relaxed regexp. If you are really worried about a specific command's output, you could go in it's init.d file and change the offending command's STDOUT or STDERR logging. – Mat Carlson Mar 20 '14 at 22:12
  • No /var/log/dmesg.log on Lubuntu 18.04 – Marco Sulla May 2 '19 at 19:03

Every exceptional entry during boot is placed in /var/log/syslog Could also be in /var/log/boot.msg

  • I have CentOS 5.5 and I have no syslog in /var/log/ – Rodnower Aug 15 '10 at 20:22
  • boot.log (generally boot.log(x) where x is positive integer or nothing) is empty. – Rodnower Aug 15 '10 at 20:51
  • 1
    Try /var/log/messages – pjc50 Nov 17 '11 at 16:42
  • 1
    /var/log/boot.msg is the correct one on linux mint – MaxV Dec 1 '15 at 23:20
  • may also contain non-exceptional entries. – Abdull Mar 15 '16 at 15:40

This solution surely works on Debian systems, but maybe can be useful anyway.

In order to store all the messages shown during the boot you have to start a service called bootlogd, after the next reboot you can read the messages in /var/log/boot.

  • On debian wheezy, I get root@wheezy:/home/jrx# service bootlogd start bootlogd: unrecognized service – Jérôme Radix Apr 9 '15 at 7:46
  • 4
    @JérômeRadix maybe you should install it first? – behrooz Jul 16 '15 at 14:56

Type dmesg > ~/dmesg.log to copy all the boot messages into your own copy. You can add the date and time if you want to keep multiple copies and you could even automate it within a login script.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.