Windows un ubuntu laiki atšķiras. Laiks tiek zaudēts Ubuntu un Windows

Dažreiz tas parasti notiek, uzstādot otru sistēmu Linux, laiks sistēmās sāk iet nepareizi, piemēram, jūs strādājāt saskaņā ar savu Linux un nolēma pārcelties uz logi, un konstatēja, ka laiks un datums ir pilnīgi nepareizi, vai otrādi, tas ir saistīts ar laika formāta atšķirībām, šīs operētājsistēmas darbojas ar to atšķirīgi, nedaudz teorijas un tā, sāksim ar Linux, šīs operētājsistēmas darbojas ar UTC
UTC- gan aparatūras, gan programmatūras pulksteņi ir balstīti uz Griničas laiku. Tas ir, pulkstenis norāda universālo laiku nulles laika joslā. Piemēram, ja jūsu laika josla ir GMT+3, Maskava, pulkstenis būs trīs stundas vēlāk. Un lietotāji šim laikam lokāli pievieno laika joslas labojumu, piemēram, plus +3. Katrs lietotājs pievieno sev nepieciešamo grozījumu. Tas tiek darīts serveros, lai katrs lietotājs varētu iegūt pareizo laiku savai laika joslai.
logi savukārt strādā ar vietējais laiks
vietējais laiks- šajā versijā programmatūras pulkstenis darbojas arī pēc Griničas laika, bet aparatūras pulkstenis darbojas pēc vietējās laika joslas laika. Lietotājam nav nekādas atšķirības; jums joprojām ir jāpievieno sava laika josla. Bet, ielādējot un sinhronizējot laiku, Windows no aparatūras laika atņem 3 stundas (vai kādu citu laika joslu regulējumu), lai programmatūras laiks būtu pareizs.
tātad, šķiet, esam sakārtojuši teoriju, tagad pāriesim pie prakses, un tātad, sākumā mēs pielādēsim savu logi, palaidiet konsoli kā administratoru un izpildiet komandas 32 bitu sistēmai
Reg pievienot HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
vai 64 bitiem
Reg pievienot HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 1
bet pulkstenis joprojām tiks sinhronizēts ar servera laiku; lai to izdarītu, izslēdziet pulksteņa sinhronizācijas pakalpojumu
sc config w32time start= atspējots
Tagad mēs restartējam sistēmu un palaižam Linux piesakieties terminālī zem sakne un izpildiet komandas
timedatectl set-local-rtc 1 --adjust-system-clock
Un
sed -i "s/UTC=yes/UTC=no/" /etc/default/rcS
apskatiet aparatūras pulksteņa statusu
sudo timedatectl
Tagad mēs atkal restartējam, ievadiet BIOS un iestatām datumu un laiku, pārbaudiet ...
ja kāda iemesla dēļ mums tas viss ir jāatspējo, mēs izpildām komandas Linux
timedatectl set-local-rtc 0
Un
sed -i "s/UTC=no/UTC=yes/" /etc/default/rcS
Windows, konsole kā administrators
Reg pievienot HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 0
Un
sc config w32time start = pieprasījums
Vēl viena iespēja būtu šāda Linux debian un atvasinātajos projektos
palaidiet komandu, lai iestatītu vietējo laiku
sudo hwclock --localtime --adjust
ja vēlamies to atdot atpakaļ
sudo hwclock --utc --adjust
tagad pārbaudīsim
timedatectl | grep vietējais
ja atbilde
RTC vietējā TZ: nē
tad mūsu laiks tikšķ pēc Griničas, bet ja atbilde
RTC vietējā TZ: jā
tas nozīmē, ka mūsu laiks tikšķ saskaņā ar izveidoto sistēmu
tas arī viss, domāju, ka tev tas noderēja

UEFI režīmā (Droša sāknēšana). Mans BIOS laiks ir pareizs.

Kad es sāknēju Ubuntu un pēc tam sāknēju operētājsistēmu Windows 10, tiek parādīts nepareizs laiks. Man tas ir jālabo manuāli vai tiešsaistē operētājsistēmā Windows 10, un, pārstartējot sistēmā Windows 10, tā nav problēma. Pulkstenis rāda pareizo laiku. Un tad, kad es restartēju Linux, pulkstenis ir pareizs, bet, atgriežoties pie Windows 10, pulkstenis atkal sāk darboties.

Operētājsistēmas uzglabā un izgūst laiku aparatūras pulkstenī, kas atrodas jūsu mātesplatē, lai sekotu laikam pat tad, ja sistēma netiek darbināta. Lielākā daļa operētājsistēmu (Linux/Unix/Mac) pēc noklusējuma saglabā aparatūras pulksteņa laiku kā UTC, lai gan dažas sistēmas (īpaši Microsoft Windows) laiku aparatūras pulkstenī saglabā kā “vietējo” laiku. Tas rada problēmas dubultā sāknēšanas sistēmā, ja abas sistēmas aparatūras pulksteni apstrādā atšķirīgi.

Aparatūras pulksteņa kā UTC izmantošanas priekšrocība ir tāda, ka jums nav jāmaina aparatūras pulkstenis, pārvietojoties starp laika joslām vai kad sākas vai beidzas vasaras laiks (DST), jo UTC nav laika vai laika nobīdes.

Linux mainīšana, lai izmantotu vietējo laiku, ir vienkāršāka un uzticamāka nekā sistēmas Windows maiņa, lai izmantotu UTC, tāpēc Linux/Windows duālās sāknēšanas sistēmas parasti izmanto vietējo laiku.

Kopš Intrepid (8.10), UTC = jā ir noklusējuma vērtība.

Lieciet Windows izmantot UTC

Piezīme. Šī metode sākotnēji netika atbalstīta operētājsistēmās Windows Vista un Server 2008, taču tika atgriezta kopā ar Vista SP2, Windows 7, Server 2008 R2 un Windows 8/8.1.

Lai MS Windows aprēķina laiku no aparatūras pulksteņa UTC formātā.

Izveidojiet failu ar nosaukumu WindowsTimeFixUTC.reg ar šādu saturu un pēc tam veiciet dubultklikšķi uz tā, lai sapludinātu saturu reģistrā:

Windows reģistra redaktora versija 5.00 "RealTimeIsUniversal"=dword:00000001

Piezīme. Pakalpojums Windows Time joprojām ierakstīs vietējo laiku RTC neatkarīgi no iepriekš norādītā reģistra iestatījuma, kad tas ir izslēgts, tāpēc ir ērti atspējot Windows laika pakalpojumu, izmantojot šo komandu (ja ir nepieciešama laika sinhronizācija, kamēr Windows izmanto kādu trešās puses laika sinhronizāciju ):

Sc config w32time start= atspējots

Atcelt izmaiņas

Varat izveidot failu ar šādu saturu un pēc tam veikt dubultklikšķi uz tā, lai sapludinātu sākotnējās izmaiņas, kā norādīts iepriekš:

Windows reģistra redaktora versija 5.00 "RealTimeIsUniversal"=-

Ja Windows laika pakalpojums tika atspējots, iespējojiet to vēlreiz, izmantojot komandu:

Sc config w32time start=pieprasījums

Padariet Linux par "vietējo" laiku

Lai paziņotu savai Ubuntu sistēmai, ka aparatūras pulkstenis ir iestatīts uz "vietējo" laiku:

  1. mainiet /etc/default/rcS
  2. pievienot vai mainīt nākamo sadaļu

    # Iestatīt UTC=jā, ja jūsu aparatūras pulkstenis ir iestatīts uz UTC (GMT) UTC=nē

Ubuntu 15.04 un jaunākas sistēmas (piemēram, Ubuntu 16.04 LTS):

    atveriet termināli un palaidiet šādu komandu

    Ja vēlaties mūsu vietnē redzēt atbildes uz saviem jautājumiem par visu, kas saistīts ar Apple tehnoloģijām, Mac OS X operētājsistēmu (un tās palaišanu personālajā datorā), rakstiet mums pa vai.

    Mēs saņēmām šādu jautājumu:

    Labdien!
    Hackintosh darbojas ar Snow Leopard, Windows 7 un Ubuntu. Laiks pastāvīgi tiek zaudēts pēc atsāknēšanas ((Mac OS vienmēr to atgriež par 4–5 stundām! Pastāstiet man, kā novērst problēmu

    Problēma ar laika sinhronizācija ir aktuāls ne tikai Hackintoshes, bet arī īstiem Mac datoriem, kuros Windows darbojas caur Boot Camp. Iemesls tam ir ļoti vienkāršs: Mac OS X vienmēr pieņem, ka BIOS (vai EFI) ierakstītais laiks tur ir ierakstīts šādā formātā. UTC- citiem vārdiem sakot, saskaņā ar Griniču. Tam viņa pievieno atbilstošu labojumu laika joslai.

    Bet Windows dara lietas savādāk: tā lasa tieši laiks no BIOS. Un, ja mainīsit šo laiku vai tas tiek automātiski sinhronizēts, tad tas tiks ierakstīts BIOS koriģētā formātā: UTC+korekcija.

    Kā atrisināt šo pretrunu? Ir divas pieejas: viena no Mac OS puses, otra no Windows un Linux puses.

    Risinājums, izmantojot Mac OS X

    Teiksim uzreiz, ka tas nav labākais veids. Būtība ir tāda, ka operētājsistēmai Mac OS X mēs iestatījām laika joslu uz Griničas laiku. Piemēram, iestatījumos (tālvadības pults datums un laiks, cilne Laika zona) atlasiet kā savu vietu Reikjavīka.

    Turklāt cilnē "Datums un laiks" Noteikti atspējojiet automātisko laika sinhronizāciju, pretējā gadījumā tas izrādīsies vēl sliktāks nekā iepriekš.

    Pēc šīm darbībām laiks operētājsistēmā Windows vienmēr būs pareizs, un Mac OS X to nesajauks. Bet kāpēc tas nav labākais veids? Fakts ir tāds, ka, ja sinhronizējat kādu sīkrīku ar Mac OS X, piemēram, iPhone, tad nepareizā laika josla izkropļo daudzus svarīgus datus. Piemēram, ienākošo SMS laiks būs arī Griniča.

    Risinājums, izmantojot Windows un Linux

    Vēl viens veids ir likt Windows un Linux nolasīt laiku no BIOS tāpat kā Mac OS. Par laimi, šāda iespēja patiešām tiek nodrošināta, taču tā ir apslēpta ļoti dziļi.

    Operētājsistēmā Windows programma būs jāpalaiž palaist logā regeditReģistra redaktors. Pēc tam dodieties uz pavedienu \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation un izveidojiet tur DWORD vērtību ar nosaukumu RealTimeIsUniversal un vērtība, kas vienāda ar vienu:

    Operētājsistēmā Linux (vismaz Ubuntu) fails ir jārediģē /etc/default/rcS jebkurā teksta redaktorā un aizstājiet parametra saturu "UTC=nē" ieslēgts "UTC = jā".

    Pēc tam atsāknējiet operētājsistēmā Mac OS X un iestatiet savu vietējo laika joslu, tajā pašā laikā varat iespējot automātisko laika sinhronizāciju, izmantojot internetu. Pēc pārstartēšanas operētājsistēmās Windows un Ubuntu jūs redzēsit tieši tādu pašu laiku.

    Vairāku operētājsistēmu izmantošana vienā datorā dažkārt izraisa konfliktus savā starpā, kad tās izmanto vienu un to pašu. Dažreiz tas attiecas uz kaut ko tik vienkāršu kā laiks. Pat tādas populāras datoru operētājsistēmas kā Windows un Ubuntu nevar saprasties un pastāvīgi mainīt viena otras laiku uz nepareizo.

    Šīs parādības iemesli patiesībā ir vienkārši: Windows uztver sistēmas laiku (kas tiek parādīts CMOS iestatījumos) kā lokālu (ņemot vērā laika joslu), bet Ubuntu - saskaņā ar UTC (Griničas laiks, neņemot vērā laika zona). Tāpēc viņi pielāgo sistēmas laiku atbilstoši savai loģikai, pārkāpjot viens otra loģiku.

    Problēmas risinājums ir arī vienkāršs: vai nu piespiediet Windows pievienot laika joslas nobīdi sistēmas laikam, vai arī neļaujiet Ubuntu pievienot šo nobīdi.

    Iestatījumi Ubuntu

    Sākot ar versiju 16.04, laika displeja iestatījumus var pārslēgt, izmantojot divas komandas.

    Vietējā laika displeja iespējošana:
    sudo hwclock --localtime --adjust

    UTC displeja iespējošana:
    sudo hwclock --utc --adjust

    Vecākajās Ubuntu versijās jums ir jārediģē rtC fails:

    sudo nano /etc/default/rcS

    Jums ir jāpievieno (lai parādītu vietējo laiku) vai jānoņem šī rinda (lai parādītu UTC laiku):

    Iestatījumi operētājsistēmā Windows

    Operētājsistēmā Windows gandrīz visi sistēmas iestatījumi tiek rediģēti reģistrā; TimeZoneInformation, kas šajā situācijā ir nepieciešama, nav izņēmums. Tas atrodas reģistrā šajā adresē:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

    Šeit jums jāpievieno vai jāmaina parametrs RealTimeIsUniversal. Tās veids ir DWORD. Lai sistēmas laiks tiktu nolasīts UTC, jums ir jāiestata vērtība 1; lai to atpazītu kā lokālu, jums jāiestata vērtība uz 0 vai pilnībā jānoņem šis parametrs.

    Reģistra redaktoru var palaist, izmantojot komandu regedit.