ノートパソコンにArch Linux + Windows 8をインストールしています。以前のバージョンのWindowsでは、DWORDがレジストリ(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal
)ローカルタイムとUTCを切り替えますが、これはWindows 8で動作していないようです。
BIOSが実際にUTC時間であるローカル時間を与えると考えているため、WindowsでUTC時間を取得しています。ArchLinuxで再起動すると、クロックはlocaltime-0400になります。これは、ArchがBIOSに正しいUTC時間があると考えるためです。
Arch Linuxにローカルタイムを使わせたくありません。この前提条件の下で、可能な解決策はありますか?
RealTimeIsUniversalは本当にバグが多く、公式に推奨されている解決策ではない(Win8でそれを無効にしたのはそのためか?)を参照してください IBM PC Real Time Clock should UTで実行 とRaymond Chenからの応答: なぜWindowsはBIOSクロックを現地時間に保つのですか? 。現時点では、これに対する適切な解決策はないと思います。
デフォルトのWindowsタイムサービスは、レジストリがUTCでの実時間であるかどうかに関係なく、シャットダウン時にハードウェアクロックに常に現地時間を書き込みます。この警告の外では、レジストリが正しく設定されていれば、Windowsはハードウェアタイムクロックを正しく処理します。これを試して:
w32tm /config /update
sc config w32time start= disabled
RealTimeIsUniversal
レジストリキーはWindows 8および10でも機能します。この方法を使用する手順は、たとえば this answer のように、随所に説明されています。
ここで答えを複製します:
Win+S、regedit
、 Enter。
次のキーに移動します:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
。
新しいDWORD(32ビット)値を作成し、RealTimeIsUniversal
という名前を付けます。
その値を1
に設定します。
これが完了したら、マシンを再起動します。起動して再度実行したら、Windowsに時刻を自動的に設定させます(トレイの現在の時刻Date and Time Settings
> Set Time Automatically
をクリックします)。今回は混乱しません。
RealTimeIsUniversal
は私のために働きます。これを機能させるには、レジストリエントリを適用した後、シャットダウン Windows(スリープまたは休止状態ではない)にします。 Windowsを起動する前にマシンを起動してBIOSに入り、BIOSで時刻を変更して保存し、Windowsの起動を続行します。または、Windowsをシャットダウンした後、Linuxを起動して、時刻同期を実行します。 Windowsから時刻が更新されると、Windowsは再起動後に何らかの理由でシステムの誤った時刻を更新します。
@jiehanzhengはい、WindowsでNTPを使用すると、クロックがめちゃくちゃになります。最善の回避策は、どのような種類の*でもNTP=を実行することです。 NIXはデュアルブートで、NTP)を無効にし、必要なタイムゾーンを使用してオフセットします。次に、Windowsのタイムゾーンシフトで夏時間を手動で調整する必要がありますが、ええと.