Предположу, что где-то прописана настройка "железный таймер хранит время GMT", а на самом деле он хранит локальное время. Система же, руководствуясь настройками, при загрузке прибавляет к значению BIOS два часа, соответствующие временной зоне, чтобы получить время, которое с ее точки зрения является локальным, а с Вашей -- неправильным.
Ваш перевод времени на "правильное", судя по симптомам, -- влияет только на время в текущем загруженном экземляре ОС, не цепляя BIOS.
Способ лечения 1. Хранить BIOS-время в GMT, правильное его значение выставить соответствующей Вашему дистрибутиву командой для установки времени в BIOS (не той, которой до сих пор меняли время). Как именно это сделать -- может зависеть от дистрибутива. Ключевые слова -- rtc, timezone, localtime, gmtime
Способ лечения 2.
Если на той же машине живет винда, то она будет писать в BIOS локальное время а не GMT, независимо от Вашего желания. Соответственно в этом случае лучше и правильней один раз сказать линуксу, что BIOS хранит локальное время а не GMT (и соответственно, добавлять к нему два часа для получения системного -- не нужно). Как это сделать -- тоже зависит от дистрибутива, см. доки по тем же ключевым словам.
PS Вне зависимости от способа лечения временной пояс можно больше не выставлять -- с ним как раз все в порядке, судя по разнице во времени (два часа)
Удачи!