web-dev-qa-db-ja.com

FreeBSDとWindowsは異なる時間を示しています

デュアルブートシステムでは、通常FreeBSD 9を使用しますが、Windows 7で起動すると、両方のOSのシステム時刻が自動的に変更され、誤った時刻が表示されます。問題は何ですか?どうすれば解決できますか?

5
hesam

一般的なBIOSPCには、タイムゾーンを表示せずに時刻を保存する時計があります。オペレーティングシステムが異なれば、規則も異なります。UTCを格納するために時計が必要なものもあれば、現地時間を格納するために時計が必要なものもあります。異なる規則を必要とするシステム間のデュアルブートは問題です。

古いバージョンのWindowsには、現地時間とは別の表示時間の概念がありませんでした。したがって、ハードウェアクロックをWindowsに表示する時間に設定する必要があります。これがWindows7で修正されているかどうかはわかりません。

Unixシステムには、タイムゾーンのユーザーごとの設定があり、内部でUTCを使用します。ほとんどのUNIXの亜種はUTCを使用するのが好きですが、PC用に設計されたUNIXは、多くの場合、Windowsと共存する方法を提供します。 FreeBSDでは、 tzsetup を実行してから adjkerntz を実行し、この設定を更新します。ハードウェアクロックがUTCを使用しているか現地時間を使用しているかを確認できます:if /etc/wall_cmos_clockが存在する場合、ハードウェアクロックは現地時間を使用すると想定されます。

夏時間のあるタイムゾーンに住んでいて、ハードウェアクロックが現地時間を使用している場合、DSTの開始時または終了時に、複数のオペレーティングシステムが競合してクロックをリセットする可能性があることに注意してください。これが、ハードウェアクロックをUTCに設定することが望ましい理由の1つです。ハードウェアクロックを絶対に必要なオペレーティングシステムを使用する場合にのみ、ハードウェアクロックを現地時間に設定する必要があります。

私の経験から、あなたの問題は、あるOSがハードウェアクロックをUTCを使用していると見なしており、別のOSがそれがローカルであると考えているように聞こえます。

BSDおよびWindowsのインストールがローカルタイムゾーン用に構成されているかどうかを確認してください

1
iambryan