web-dev-qa-db-ja.com

WindowsとLinux Mintで異なる時間

最初にAcer Aspire 4930にLinux Mintをインストールし、次にWindows 7でデュアルブートしました。

Linux Mintでは常に正しい時刻が表示されますが、Windowsを起動すると、時刻が数時間戻ってしまいます。時刻をリセットした後でも、再起動すると再び間違った時刻が表示されます。


質問:

  1. なぜこうなった?

  2. それについて私は何ができますか?

18
Ballistic

Windowsでは、システムRTC時計は伝統的に現地時間で保持されます。UnixおよびLinuxでは、伝統的にUTCで保持され、/etc/localtimeは、現在のタイムゾーンを示すために使用され、表示される時刻が正確になります。

RTCが1つしかないため、これら2つの世界観はデュアルブート構成で衝突します。通常、LinuxにRTCは現地時間であると想定します(Windowsは認識できないため)。これはLinuxによって異なりますが、MintはUbuntuのように設定できるため、 UTC=no in /etc/default/rcS。その後、WindowsおよびLinuxでクロックを現地時間に設定すると、その後はそのままになります。


編集者注

そのファイルはLinux Mint 19以降(より正確にはUbuntu 18.04ベース以降)には存在しません。

/etc/default/rcS
17
aecolley

Mint 18.2 KDEは他の修正(検索で見つかった追加の修正を含む)の影響を受けないようです。 aecolley's および error404's の回答で言及されているファイルは、少なくとも現在のKDEバージョンでは、存在しないか、設定が参照されている場所ではなくなっているようです。 Julie Pelletierの回答 のコマンドは18.2 Cinnamonでは機能しましたが、18.2 KDEでは機能しませんでした。

提案されたソリューションを6ダース試した後、18.2 KDE用に以下を修正しました。正しい時刻が表示された状態で、次の端末コマンドを実行します。

timedatectl set-local-rtc 1 --adjust-system-clock

ソース: インストール後のLinux Mintのヒントとコツ[Mint 18-Cinnamon Edition]

これはシナモンでも代替ソリューションとして機能するはずです。他のDEも同様です。

編集者のメモ:

  • Sudoは必要ありません。ユーザーとしてそのコマンドを実行してください。

  • 再起動後も持続しますが、永続的なものでなければなりません。

  • Ubuntu 18.04ベースのLinux Mint 19.1 Cinnamonでテスト済み。

6
fixer1234

それを行う最も一般的な方法は次のとおりです。

hwclock --systohc --localtime

これは再起動後も持続し、ほとんどのシステムで機能します。

3
Julie Pelletier

[〜#〜]警告[〜#〜]

この方法は、7より前のバージョンのWindowsではバグがありますが、Linux側ではなくWindows側の問題を解決します:Linuxを設定する必要はありませんlocaltimeを使用します。


最も栄光があり尊敬されている Arch Linux Wiki からの引用:

ユーザーがローカルタイムでRTC=を設定することが多い理由の1つは、Windows(ローカルタイムを使用)でデュアルブートすることです。

ただし、Windowsは単純なレジストリ修正でRTC UTCである]を処理できます。ローカルタイムを使用するためにLinuxではなくUTCを使用するようにWindowsを構成することをお勧めします。

regeditを使用して、DWORD値と16進値1をレジストリに追加します。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal

これは、次のコマンドを実行している管理者コマンドプロンプトから実行できます。

reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f

または、次の内容の* .regファイルを(デスクトップ上に)作成し、ダブルクリックしてレジストリにインポートします。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
     "RealTimeIsUniversal"=dword:00000001

上記の効果がないようで、64ビット版のWindowsが使用されている場合、QWORD値の代わりにDWORD値を使用すると問題が解決する場合があります。

WindowsがDSTの変更のために時計を更新するように求めたら、それを許可します。時計はUTCのままになり、表示された時刻のみが修正されます。

この値を設定した後、ハードウェアクロックとシステムクロック時間を更新する必要がある場合があります。時間のオフセットに問題がある場合は、tzdataを再インストールしてから、タイムゾーンを再度設定してください。

# timedatectl set-timezone America/Los_Angeles
1
Alexej Magura

修正(ルートとして)/etc/timeadj変数はUTCからLOCALまで。

これにより、Windows側でregeditをいじる必要なく問題が分類されました。

0
error404

現地時間に一致するこれら2つのコマンドのいずれかを実行します

timedatectl set-local-rtc 1 --adjust-system-clock

「または」

timedatectl set-local-rtc 0 --adjust-system-clock
0
Atul6.Singh