Чем отличаются запуск и перезагрузка? Если машина с двойной загрузкой, вы можете перезагрузиться из linux, но затем после этого загрузиться в Windows в течение некоторого времени, скажем, час, прежде чем снова перезагрузить и загрузить linux. Как это отличается от простого выключения машины на час? Вы не сможете обнаружить или предсказать во время выключения, что произойдет после перезагрузки.
Я думаю, что вы действительно хотите проверить, когда ваша машина запускается с загрузкой Linux, ваш скрипт должен проверить, сколько времени прошло с того момента, когда машина была выключена в последний раз. Если это происходит в течение короткого периода времени, например, 5 минут, вы считаете это перезагрузкой. В противном случае вы считаете это стартапом.