Windows와 우분투의 시간은 다릅니다. Ubuntu와 Windows에서 시간이 손실됩니다.

두 번째 시스템을 설치할 때 일반적으로 이런 일이 발생하는 경우가 있습니다. 리눅스, 시스템의 시간이 잘못되기 시작합니다. 예를 들어, 귀하는 귀하의 밑에서 일하고 있었습니다. 리눅스그리고 이사가기로 결정 창문들, 시간과 날짜가 완전히 잘못되었거나 그 반대의 경우도 마찬가지입니다. 이는 시간 형식의 차이로 인해 발생하며 이러한 운영 체제는 약간의 이론으로 다르게 작동하므로 먼저 시작하겠습니다. 리눅스, 이러한 운영 체제는 UTC에서 작동합니다.
UTC- 하드웨어 및 소프트웨어 시계 모두 그리니치 표준시를 기준으로 합니다. 즉, 시계는 0시간대에서 표준시를 제공합니다. 예를 들어, 시간대가 GMT+3(모스크바)인 경우 시계는 3시간 늦춰집니다. 그리고 사용자는 이 시간에 시간대 수정(예: +3 추가)을 로컬로 추가합니다. 각 사용자는 필요한 수정 사항을 추가합니다. 이는 각 사용자가 자신의 시간대에 맞는 정확한 시간을 얻을 수 있도록 서버에서 수행됩니다.
창문들차례로 작동합니다 현지 시각
현지 시각- 이 버전에서는 소프트웨어 시계도 그리니치 표준시에 따라 실행되지만 하드웨어 시계는 현지 시간대의 시간에 따라 실행됩니다. 사용자에게는 차이가 없습니다. 여전히 시간대를 조정해야 합니다. 그러나 시간을 로드하고 동기화할 때 Windows는 소프트웨어 시간이 정확하도록 하드웨어 시간에서 3시간(또는 기타 시간대 조정)을 뺍니다.
이론은 정리된 것 같으니 이제 실습으로 넘어가겠습니다. 처음에는 창문들, 관리자로 콘솔을 시작하고 32비트 시스템에 대한 명령을 실행합니다.
등록 추가 HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
또는 64비트의 경우
등록 추가 HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 1
하지만 시계는 여전히 서버 시간과 동기화됩니다. 이렇게 하려면 시계 동기화 서비스를 끄세요.
sc 구성 w32time 시작= 비활성화됨
이제 시스템을 재부팅하고 실행합니다. 리눅스아래 터미널에 로그인하세요. 뿌리그리고 명령을 실행
timedatectl set-local-rtc 1 --adjust-system-clock
그리고
sed -i "s/UTC=예/UTC=아니요/" /etc/default/rcS
하드웨어 시계의 상태를 확인하세요
sudo timedatectl
이제 다시 재부팅하고 BIOS에 들어가서 날짜와 시간을 설정하고 확인합니다.
어떤 이유로 이 모든 것을 비활성화해야 하는 경우 Linux에서 명령을 실행합니다.
timedatectl set-local-rtc 0
그리고
sed -i "s/UTC=no/UTC=yes/" /etc/default/rcS
Windows에서는 관리자로 콘솔
등록 추가 HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 0
그리고
sc config w32time start= 수요
또 다른 옵션은 Linux 데비안 및 파생 상품에서 다음과 같습니다.
현지 시간을 설정하는 명령을 실행하십시오.
sudo hwclock --localtime --adjust
우리가 그것을 다시 돌려주고 싶다면
sudo hwclock --utc --adjust
이제 확인해 보자
timedatectl | 로컬을 grep
대답이라면
로컬 TZ의 RTC: 아니요
그리니치에 따르면 우리 시간은 똑딱거리고 있지만, 대답이
현지 TZ의 RTC: 예
그건 우리의 시간이 정해진 시스템에 따라 흘러가고 있다는 뜻이야
그게 다야, 내 생각엔 그게 너에게 유용했던 것 같아

UEFI 모드(보안 부팅). 내 BIOS 시간이 정확합니다.

Ubuntu로 부팅한 다음 Windows 10으로 부팅하면 잘못된 시간이 표시됩니다. Windows 10에서 수동으로 또는 온라인으로 수정해야 하며 Windows 10으로 재부팅하면 문제가 되지 않습니다. 시계는 정확한 시간을 보여줍니다. 그런 다음 Linux로 재부팅하면 시계가 정확하지만 Windows 10으로 돌아가면 시계가 다시 작동하기 시작합니다.

운영 체제는 마더보드에 있는 하드웨어 시계에 시간을 저장하고 검색하여 시스템에 전원이 공급되지 않을 때에도 시간을 추적합니다. 대부분의 운영 체제(Linux/Unix/Mac)는 기본적으로 하드웨어 시계의 시간을 UTC로 저장하지만 일부 시스템(특히 Microsoft Windows)은 하드웨어 시계의 시간을 "로컬" 시간으로 저장합니다. 두 시스템이 하드웨어 시계를 다르게 처리하는 경우 이중 부팅 시스템에 문제가 발생합니다.

하드웨어 시계를 UTC로 사용하면 UTC에는 시간 또는 시간 오프셋이 없으므로 시간대 간 이동 시 또는 일광 절약 시간(DST)이 시작되거나 종료될 때 하드웨어 시계를 변경할 필요가 없다는 이점이 있습니다.

현지 시간을 사용하도록 Linux를 변경하는 것은 UTC를 사용하도록 Windows를 변경하는 것보다 쉽고 안정적이므로 듀얼 부팅 Linux/Windows 시스템은 일반적으로 현지 시간을 사용합니다.

Intrepid(8.10)부터 UTC = yes가 기본값입니다.

Windows에서 UTC를 사용하도록 설정

메모. 이 방법은 원래 Windows Vista 및 Server 2008에서는 지원되지 않았지만 Vista SP2, Windows 7, Server 2008 R2 및 Windows 8/8.1에서는 반환되었습니다.

따라서 MS Windows는 UTC 형식의 하드웨어 시계에서 시간을 계산합니다.

다음 콘텐츠로 WindowsTimeFixUTC.reg라는 파일을 생성한 다음 해당 파일을 두 번 클릭하여 해당 콘텐츠를 레지스트리에 병합합니다.

Windows 레지스트리 편집기 버전 5.00 "RealTimeIsUniversal"=dword:00000001

메모. Windows 시간 서비스는 꺼진 후에도 위의 레지스트리 설정에 관계없이 RTC에 로컬 시간을 기록하므로 이 명령을 사용하여 Windows 시간 서비스를 비활성화하는 것이 편리합니다(Windows가 일부 타사 시간 동기화를 사용하는 동안 시간 동기화가 필요한 경우). ):

Sc 구성 w32time 시작= 비활성화됨

변경 취소

다음 내용으로 파일을 만든 다음 두 번 클릭하여 위와 같이 원래 변경 사항을 병합할 수 있습니다.

Windows 레지스트리 편집기 버전 5.00 "RealTimeIsUniversal"=-

Windows 시간 서비스가 비활성화된 경우 다음 명령을 사용하여 다시 활성화하십시오.

Sc 구성 w32time 시작= 수요

Linux를 "로컬" 시간으로 설정

하드웨어 시계가 "로컬" 시간으로 설정되어 있음을 Ubuntu 시스템에 알리려면:

  1. /etc/default/rcS 변경
  2. 다음 섹션을 추가하거나 변경하세요

    # 하드웨어 시계가 UTC(GMT)로 설정된 경우 UTC=yes로 설정합니다. UTC=no

Ubuntu 15.04 이상 시스템(예: Ubuntu 16.04 LTS):

    터미널을 열고 다음 명령을 실행하십시오

    Apple 기술, Mac OS X 운영 체제(및 PC에서의 출시)와 관련된 모든 질문에 대한 답변을 당사 웹 사이트에서 확인하려면 또는를 통해 당사에 문의하십시오.

    우리는 다음과 같은 질문을 받았습니다:

    좋은 오후에요!
    Hackintosh는 Snow Leopard, Windows 7 및 Ubuntu를 실행합니다. 재부팅 후 시간이 계속 손실됩니다((Mac OS는 항상 4~5시간으로 재설정됩니다! 문제 해결 방법을 알려주세요)

    문제 시간 동기화 Hackintoshes뿐만 아니라 Windows가 Boot Camp를 통해 실행되는 실제 Mac에도 관련이 있습니다. 그 이유는 매우 간단합니다. Mac OS X에서는 항상 BIOS(또는 EFI)에 기록된 시간이 다음 형식으로 기록된다고 가정합니다. UTC-즉, 그리니치에 따르면. 여기에 시간대에 대한 적절한 수정 사항을 추가합니다.

    하지만 Windows에서는 상황이 다릅니다. 직접 읽는다 BIOS에서 시간. 그리고 이 시간을 변경하거나 자동으로 동기화되면 수정된 형식(UTC+correction)으로 BIOS에 기록됩니다.

    이 모순을 해결하는 방법은 무엇입니까? 두 가지 접근 방식이 있습니다. 하나는 Mac OS 측에서, 다른 하나는 Windows 및 Linux 측에서 사용됩니다.

    Mac OS X를 사용한 솔루션

    이것이 최선의 방법이 아니라고 바로 말해 봅시다. 결론은 Mac OS X의 경우 시간대를 그리니치 표준시로 설정한다는 것입니다. 예를 들어 설정(원격 날짜와 시간, 탭 시간대) 귀하의 지역으로 선택 레이캬비크.

    게다가 탭에는 "날짜와 시간"자동 시간 동기화를 비활성화하십시오. 그렇지 않으면 이전보다 상황이 더욱 악화됩니다.

    이 단계를 수행하면 Windows의 시간은 항상 정확하며 Mac OS X에서는 이를 방해하지 않습니다. 그런데 왜 이것이 최선의 방법이 아닌가? 사실 일부 가젯을 Mac OS X(예: iPhone)와 동기화하면 시간대가 잘못되면 많은 중요한 데이터가 왜곡됩니다. 예를 들어 SMS 수신 시간도 그리니치입니다.

    Windows 및 Linux를 사용하는 솔루션

    또 다른 방법은 Windows와 Linux가 Mac OS와 동일한 방식으로 BIOS에서 시간을 읽도록 하는 것입니다. 다행스럽게도 그러한 기회가 실제로 제공되지만 매우 깊이 숨겨져 있습니다.

    Windows에서는 실행 창에서 프로그램을 실행해야 합니다. 등록레지스트리 편집기.그런 다음 스레드로 이동 \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation거기에 이름으로 DWORD 값을 만듭니다. 실시간은 보편적이다 1과 같은 값:

    Linux(적어도 Ubuntu에서는)에서는 파일을 편집해야 합니다. /etc/default/rcS텍스트 편집기에서 매개변수의 내용을 바꿉니다. "UTC=아니요"~에 "UTC=예".

    그런 다음 Mac OS X로 재부팅하고 기본 시간대를 설정하는 동시에 인터넷을 통한 자동 시간 동기화를 활성화할 수 있습니다. Windows와 Ubuntu를 재부팅하면 정확히 같은 시간이 표시됩니다.

    동일한 컴퓨터에서 여러 운영 체제를 사용하면 동일한 것을 사용할 때 서로 충돌하는 경우가 있습니다. 때때로 그것은 시간처럼 단순한 것과 관련이 있습니다. Windows 및 Ubuntu와 같은 널리 사용되는 PC 운영 체제조차도 서로 잘 어울리지 못하고 끊임없이 서로의 시간을 잘못된 시간으로 변경합니다.

    이 현상의 이유는 실제로 간단합니다. Windows는 시스템 시간(CMOS 설정에 표시됨)을 로컬(시간대를 고려하여)로 인식하고 Ubuntu는 UTC(그리니치 표준시를 고려하지 않고)로 인식합니다. 시간대). 이 때문에 시스템 시간을 자신들의 논리에 맞게 조정해 서로의 논리를 어기게 된다.

    문제에 대한 해결책도 간단합니다. Windows가 시스템 시간에 시간대 오프셋을 추가하도록 강제하거나 Ubuntu가 이 오프셋을 추가하지 못하도록 막는 것입니다.

    우분투의 설정

    버전 16.04부터 두 가지 명령을 사용하여 시간 표시 설정을 전환할 수 있습니다.

    현지 시간 표시 활성화:
    sudo hwclock --localtime --adjust

    UTC 표시 활성화:
    sudo hwclock --utc --adjust

    이전 버전의 Ubuntu에서는 rtC 파일을 편집해야 합니다.

    sudo 나노 /etc/default/rcS

    이 줄을 추가(현지 시간 표시)하거나 제거(UTC 시간 표시)해야 합니다.

    Windows의 설정

    Windows에서는 거의 모든 시스템 설정이 레지스트리에서 편집되는데, 이 상황에 필요한 TimeZoneInformation도 예외는 아닙니다. 다음 주소의 레지스트리에 있습니다.

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

    여기서 RealTimeIsUniversal 매개변수를 추가하거나 변경해야 합니다. 유형은 DWORD입니다. 시스템 시간을 UTC로 읽으려면 값을 1로 설정해야 하며, 로컬로 인식하려면 값을 0으로 설정하거나 이 매개변수를 완전히 제거해야 합니다.

    레지스트리 편집기는 regedit 명령을 사용하여 시작할 수 있습니다.