Ubuntu 10.04は、インストール時の環境に応じて、BIOS時計のタイムゾーンを変更します*1。
2番目のケースは、例えばWindowsがインストールされている場合が該当します。WindowsはBIOS時刻にローカルのタイムゾーンを使用するため、Ubuntuが我を張ってUTCを使用するとデュアルブートのシステムではOS切り替え時に毎回時刻がずれることになります。
そこで、Ubuntuのインストーラは他のOSがない場合にBIOS時刻としてUTCを使おうとするわけです。が、ここに落とし穴があります。USBブートはどうするのよ。
私はUSBメモリにUbuntuをインストールして持ち運んでいます。こうすれば移動中などちょっと時間が空いたときに会社のPCで自分の開発環境を立ち上げることができます。私の今のプログラム開発環境は、環境のインストーラも開発中のソースも公開してるため、簡単に別PCに環境を構築し、ソースを同期することができます。
USBメモリへのインストールの場合、PC内部のOSをチェックするかどうか不明ですが、私の場合USBメモリへのインストールをVMwareの空仮想マシンで行っている*4ため、見事にBIOS時計がUTCになっていました。
結局この問題は、ログイン後に
$ sudo gedit /etc/default/rcS
を実行して、ファイルの
UTC=yes