WindowsとLinux Mintで異なる時間


18

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

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


質問:

  1. なんでこんなことが起こっているの?

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

回答:


17

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

RTCは1つしかないため、これら2つのワールドビューはデュアルブート構成で衝突します。通常、LinuxにRTCが現地時間であると仮定するように指示します(Windowsに通知できないため)。これは、1つのLinuxから別のものに変化するが、ミントは、おそらく設定することができますUbuntuのようなものですので、UTC=no中に/etc/default/rcS。その後、Windowsで時計を現地時間に設定できます。その後、Linuxはそのままにします。


編集者注

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

/etc/default/rcS

2
UTCはすでにnoに設定されており、時間差はまだあります。
弾道

5

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

半ダースの提案された解決策を試した後、以下は18.2 KDE用に修正しました。正しい時間を表示して、次の端末コマンドを実行します。

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

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

これはCinnamonの代替ソリューションとしても機能するはずであり、他のDEも同様に想定しています。

編集者のメモ:

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

  • 再起動しても持続し、永続的であるはずです。

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


Mint 18.3 Cinnamonで動作します。
dchrome

@Vlastimil、私がこれをやってからしばらく経ちました。私の思い出は、sudoは必要ないということです(もしそうなら、答えにそれを含めていたでしょうし、同様の修正もsudoを参照していないので、そうではないと確信しています)。そして、はい、これは持続します。
fixer1234

@ fixer1234どうもありがとう、仲間!あなたは私の一日を救ったし、みんなのことだと思う:)
LinuxSecurityFreak

3

最も一般的な方法は次のとおりです。

hwclock --systohc --localtime

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


クロックが現在正しい時刻を表示している場合、必要なコマンドは実際hwclock --systohc --localtimeにです。これにより、システムによって現在表示されている値を使用してハードウェアクロックがローカル時刻に設定されます。ただし、現在クロックが正しくない場合(つまり、ハードウェアクロックは現地時間ですが、システムがタイムゾーンのオフセットを追加するため、表示される値が正しくない場合)が必要hwclock --hctosys --localtimeです。
youen

@youen、私はそのような状況にあり、あなたの修正はちょうど他の方向に時間を投げました。私にとっての修正は、時計を正しい時間にリセットしてから、ジュリーの答えでコマンドを使用することでした。
fixer1234

@ fixer1234 OK、変です。正直に言うと、私はすでにコメントを修正していたので、コメントの2番目のコマンドは試しませんでした。ただし、これらのコマンドのいずれかを実行し、クロックを正しい表示時間に設定するとうまくいくと思います(2番目のコマンドを既に実行している場合は、おそらく最初のコマンドを再度実行する必要はないでしょう)。最後にあなたのために働いてくれてうれしいです:)
youen

1

警告

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


最も輝かしく尊敬されているArch Linux Wikiからの抜粋

ユーザーがローカル時間でRTCを設定する理由の1つは、ローカル時間を使用するWindowsとのデュアルブートです。

ただし、Windowsは[RTCをUTCで処理できる]簡単なレジストリを修正します。Linuxで現地時間を使用するのではなく、UTCを使用するようにWindowsを構成することをお勧めします。

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

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

私は実際に自分のWindowsマシンでこの問題を抱えていましたが、今のところ無視しているだけです。ただし、この方法が機能するかどうかを確認し、結果を報告します。
アレクセイマグラ

1
わたしにはできる。どうもありがとう!このように、PCにあるすべてのLinuxインストールを変更する必要はありません。
ロケシュ

0

/etc/timeadjから(ルートとして)変数を修正UTCLOCALます。

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


0

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

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

「または」

timedatectl set-local-rtc 0 --adjust-system-clock
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.