In my experience, sometimes a computer boots normally, and in a time span of days, the computer won't boot, then again, it will boot normally again. I am not a computer science expert so I assume that if a computer boots normally one time and then it doesn't, it must be due to any changes made into the computer between those time points.

My question has the motivation of understanding the booting process of a computer at a basic level as to know how to debug such a behavior.

For a concrete example, I got a new computer with Ubuntu 18.10 that presented this behavior, all the time without access to internet, so no updates/upgrades possible.

Can anything change in a computer without the user modifying something, also while not having internet connection?


closed as off-topic by David Richerby, Evil, xskxzr, dkaeae, Juho Aug 25 at 18:43

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "This question does not appear to be about computer science, within the scope defined in the help center." – David Richerby, Evil, xskxzr, dkaeae, Juho
If this question can be reworded to fit the rules in the help center, please edit the question.


Can anything change in a computer without the user modifying something, also while not having internet connection?

Yes, definitely - computers update their own states all the time, and some of these changes will be persistent from one boot cycle to the next.

The computer itself is a complex piece of hardware, and the operating system is a complex piece of software. Both the computer (at a hardware level) and the operating system will carry out a series of self tests during the boot process. The results of some of those self tests will be stored in non-volatile memory (e.g. in some form of registry). When the computer is re-booted, the results of the self-tests from the previous boot attempt may affect the route taken through the boot process the next time around. This might avoid a problem encountered in the previous boot cycle (e.g. by loading a previous version of a corrupted driver), but it may also introduce a new problem not seen before.

In short, part of the boot process will be a check to see if the previous boot cycle was successful. If not, there may be logic in the boot process that tries a different sequence of actions, or boots into a restricted "safe" mode.

  • $\begingroup$ this is exactly what I was looking for, very interesting! How far do these alternative booting-routes reach? If every boot process will be different and acknowledge last failure, how often does it make sense to re-do the process of just restarting the system? $\endgroup$ – hirschme Aug 23 at 19:56
  • $\begingroup$ this is the so called POST (Power-On Self Tests) right? $\endgroup$ – hirschme Aug 23 at 19:57

Can anything change in a computer without the user modifying something

Yes, definitely. Most obvious example: the clock, it changes all the time!

Other examples of environmental factors that change without the user actively manipulating them, are temperature and humidity. Temperature influences the workings of electronics heavily, and humidity has an influence on the behavior of electrical connections. Another external factor that is only partially under the user's control is the quality of the mains power.

Modern high-performance CPUs and maybe even more so GPUs, to a lesser extent also RAM, are built right at the edges of what is possible given our current understanding of physics and our current level of engineering. Some might even argue that the really highest-performance CPUs and GPUs may already be over that edge.

Even the tiniest fluctuations in mains power can, at least with a badly designed power supply, have devastating effects on the stability of the electronic components. Modern CPUs can manage their frequency themselves, based on power and temperature, and may run at different speeds given the ambient temperature, which may in turn lead to some timers being off by a tiny amount, which can lead to an overflow happening or not happening at the right or wrong time.

The possibilities are endless.

There is also another possible explanation that is admittedly rather "out there" (literally): cosmic rays. While the probability that a cosmic ray will hit exactly one transistor in exactly your computer's RAM in exactly the right way to make exactly the most important bit flip from 0 to 1 and crash your computer, is extremely tiny, there is also an extremely large amount of computing devices in the world. If you're a sysadmin at Google, for example, you'll probably see it happen more often than you will see a car accident on your way to work.

There could also be a rather benign explanation: a counter.

For example, one of the devices my employer makes, has three copies of the OS installed in three separate partitions: user 0, user 1, and recovery. On boot up, there is a counter that is incremented, once the boot has finished, the counter is reset to 0. Once the counter hits 3, the boot sequence switches to the other user partition. If the counter hits 3 again, the boot sequence switches to the recovery partition, which has an older, more stable, stripped down copy of the OS, and attempts a self-repair. The device also calibrates its RAM during boot up, but not during runtime. So, if the temperature changes drastically between boot up and runtime, the calibration may be off, something may crash, which causes the watchdog to reboot the device, which causes a recalibration to different values.

  • $\begingroup$ Thats a valid answer. Could you point out other less-obvious examples that could influence on the capacity of a computer to boot? $\endgroup$ – hirschme Aug 23 at 19:52
  • $\begingroup$ I will do so! Here you go. $\endgroup$ – Jörg W Mittag Aug 23 at 20:30
  • $\begingroup$ This was very fun to read, I would upvote if had enough reputation. However I feel the reason that gandalf61 pointed out is more likely related to the cases I have encountered $\endgroup$ – hirschme Aug 23 at 20:40

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