Ώρα συστήματος Linux και windows. Πώς το Ubuntu και τα Windows δεν μοιράζονταν χρόνο

Εάν θέλετε να δείτε στον ιστότοπό μας απαντήσεις στις ερωτήσεις σας σχετικά με οτιδήποτε σχετίζεται με την τεχνολογία της Apple, το λειτουργικό σύστημα Mac OS X (και την κυκλοφορία του σε υπολογιστή), γράψτε μας μέσω ή.

Λάβαμε την εξής ερώτηση:

καλό απόγευμα!
Το Hackintosh τρέχει το Snow Leopard, τα Windows 7 και το Ubuntu. Ο χρόνος χάνεται συνεχώς μετά από μια επανεκκίνηση ((το Mac OS τον επαναφέρει πάντα 4-5 ώρες! Πείτε μου πώς να διορθώσω το πρόβλημα

Ένα πρόβλημα με συγχρονισμός χρόνουείναι σχετικό όχι μόνο για τα Hackintoshes, αλλά και για πραγματικούς Mac, στους οποίους εκτελούνται τα Windows μέσω του Boot Camp. Ο λόγος για αυτό είναι πολύ απλός: το Mac OS X πάντα υποθέτει ότι ο χρόνος που καταγράφεται στο BIOS (ή EFI) είναι γραμμένος εκεί στη μορφή UTC- με άλλα λόγια, σύμφωνα με τον Γκρίνουιτς. Σε αυτό προσθέτει την κατάλληλη διόρθωση για τη ζώνη ώρας.

Αλλά τα Windows κάνουν τα πράγματα διαφορετικά: το κάνουν διαβάζει απευθείαςώρα από το BIOS. Και αν αλλάξετε αυτή τη φορά ή συγχρονιστεί αυτόματα, τότε θα εγγραφεί στο BIOS με τη διορθωμένη μορφή: UTC+correction.

Πώς να λυθεί αυτή η αντίφαση; Υπάρχουν δύο προσεγγίσεις: μία από την πλευρά του Mac OS, η άλλη από την πλευρά των Windows και του Linux.

Λύση με χρήση Mac OS X

Ας πούμε αμέσως ότι αυτός δεν είναι ο καλύτερος τρόπος. Η ουσία είναι ότι για το Mac OS X ορίσαμε τη ζώνη ώρας σε Μέση ώρα Γκρίνουιτς. Για παράδειγμα, στις ρυθμίσεις (απομακρυσ ημερομηνία και ώρα, καρτέλα Ζώνη ώρας) επιλέξτε ως τοποθεσία σας Ρέικιαβικ.

Επιπλέον, στην καρτέλα "Ημερομηνία και ώρα"Φροντίστε να απενεργοποιήσετε τον αυτόματο συγχρονισμό ώρας, διαφορετικά θα αποδειχθεί ακόμα χειρότερο από πριν.

Μετά από αυτά τα βήματα, η ώρα στα Windows θα είναι πάντα σωστή και το Mac OS X δεν θα τη χαλάσει. Γιατί όμως δεν είναι αυτός ο καλύτερος τρόπος; Το γεγονός είναι ότι εάν συγχρονίσετε κάποιο gadget με Mac OS X - για παράδειγμα, ένα iPhone, τότε η λάθος ζώνη ώρας θα παραμορφώσει πολλά σημαντικά δεδομένα. Για παράδειγμα, η ώρα των εισερχόμενων SMS θα είναι επίσης Greenwich.

Λύση με χρήση Windows και Linux

Ένας άλλος τρόπος είναι τα Windows και το Linux να διαβάζουν την ώρα από το BIOS με τον ίδιο τρόπο που κάνει το Mac OS. Ευτυχώς, όντως παρέχεται μια τέτοια ευκαιρία, αλλά κρύβεται πολύ βαθιά.

Στα Windows, θα πρέπει να εκτελέσετε το πρόγραμμα από το παράθυρο Εκτέλεση regeditΕπεξεργαστής μητρώου.Στη συνέχεια, πηγαίνετε στο νήμα \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformationκαι δημιουργήστε μια τιμή DWORD εκεί με το όνομα RealTimeIsUniversalκαι τιμή ίση με ένα:

Στο Linux (τουλάχιστον στο Ubuntu), πρέπει να επεξεργαστείτε το αρχείο /etc/default/rcSσε οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου και αντικαταστήστε τα περιεχόμενα της παραμέτρου "UTC=όχι"επί "UTC=ναι".

Μετά από αυτό, κάντε επανεκκίνηση στο Mac OS X και ορίστε την εγγενή ζώνη ώρας σας, ταυτόχρονα μπορείτε να ενεργοποιήσετε τον αυτόματο συγχρονισμό ώρας μέσω Διαδικτύου. Μετά την επανεκκίνηση σε Windows και Ubuntu θα δείτε ακριβώς την ίδια ώρα.

Η χρήση πολλαπλών λειτουργικών συστημάτων στον ίδιο υπολογιστή μερικές φορές προκαλεί σύγκρουση μεταξύ τους όταν χρησιμοποιούν το ίδιο πράγμα. Μερικές φορές αφορά κάτι τόσο απλό όσο ο χρόνος. Ακόμη και τέτοια δημοφιλή λειτουργικά συστήματα υπολογιστών όπως τα Windows και το Ubuntu δεν μπορούν να συνεννοηθούν και να αλλάζουν συνεχώς το χρόνο του άλλου σε λάθος.

Οι λόγοι για αυτό το φαινόμενο είναι στην πραγματικότητα απλοί: τα Windows αντιλαμβάνονται την ώρα του συστήματος (η οποία εμφανίζεται στις ρυθμίσεις CMOS) ως τοπική (λαμβάνοντας υπόψη τη ζώνη ώρας) και το Ubuntu - σύμφωνα με το UTC (Μέση ώρα Γκρίνουιτς, χωρίς να λαμβάνει υπόψη το ζώνη ώρας). Εξαιτίας αυτού, προσαρμόζουν την ώρα του συστήματος ώστε να ταιριάζει με τη λογική τους, παραβιάζοντας ο ένας τη λογική του άλλου.

Η λύση στο πρόβλημα είναι επίσης απλή: είτε αναγκάστε τα Windows να προσθέσουν μια μετατόπιση ζώνης ώρας στην ώρα του συστήματος είτε εμποδίστε το Ubuntu να προσθέσει αυτήν τη μετατόπιση.

Ρυθμίσεις στο Ubuntu

Ξεκινώντας από την έκδοση 16.04, οι ρυθμίσεις εμφάνισης ώρας μπορούν να αλλάξουν χρησιμοποιώντας δύο εντολές.

Ενεργοποίηση εμφάνισης τοπικής ώρας:
sudo hwclock --τοπική ώρα --προσαρμογή

Ενεργοποίηση εμφάνισης UTC:
sudo hwclock --utc --προσαρμογή

Σε παλαιότερες εκδόσεις του Ubuntu πρέπει να επεξεργαστείτε το αρχείο rtC:

sudo nano /etc/default/rcS

Πρέπει να προσθέσετε (για να εμφανίσετε την τοπική ώρα) ή να αφαιρέσετε αυτήν τη γραμμή (για να εμφανιστεί η ώρα UTC):

Ρυθμίσεις στα Windows

Στα Windows, σχεδόν όλες οι ρυθμίσεις συστήματος επεξεργάζονται στο μητρώο· το TimeZoneInformation, το οποίο είναι απαραίτητο σε αυτήν την περίπτωση, δεν αποτελεί εξαίρεση. Βρίσκεται στο μητρώο σε αυτή τη διεύθυνση:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

Εδώ πρέπει να προσθέσετε ή να αλλάξετε την παράμετρο RealTimeIsUniversal. Ο τύπος του είναι DWORD. Για να διαβαστεί η ώρα του συστήματος σε UTC, πρέπει να ορίσετε την τιμή σε 1· για να την αναγνωρίσετε ως τοπική, πρέπει να ορίσετε την τιμή στο 0 ή να αφαιρέσετε εντελώς αυτήν την παράμετρο.

Ο Επεξεργαστής Μητρώου μπορεί να εκκινηθεί χρησιμοποιώντας την εντολή regedit.

Υπάρχουν φορές που κατά την εγκατάσταση ενός δεύτερου συστήματος, αυτό συμβαίνει συνήθως linux, ο χρόνος στα συστήματα αρχίζει να πηγαίνει στραβά, για παράδειγμα, εργαζόσασταν κάτω από το δικό σας linuxκαι αποφάσισε να μετακομίσει σε παράθυρα, και διαπίστωσε ότι η ώρα και η ημερομηνία είναι εντελώς λανθασμένες, ή το αντίστροφο, αυτό οφείλεται σε διαφορές στη μορφή ώρας, αυτά τα λειτουργικά συστήματα λειτουργούν με αυτό διαφορετικά, λίγη θεωρία και έτσι, ας ξεκινήσουμε με linux, αυτά τα λειτουργικά συστήματα λειτουργούν με την UTC
UTC- Τα ρολόγια υλικού και λογισμικού βασίζονται στη μέση ώρα του Γκρίνουιτς. Δηλαδή, το ρολόι δίνει καθολική ώρα στη ζώνη ώρας μηδέν. Για παράδειγμα, εάν η ζώνη ώρας σας είναι GMT+3, Μόσχα, τότε το ρολόι θα είναι τρεις ώρες πίσω. Και οι χρήστες προσθέτουν τοπικά σε αυτήν την ώρα μια διόρθωση για τη ζώνη ώρας, για παράδειγμα, συν +3. Κάθε χρήστης προσθέτει την τροποποίηση που χρειάζεται. Αυτό γίνεται στους διακομιστές, έτσι ώστε κάθε χρήστης να μπορεί να έχει τη σωστή ώρα για τη ζώνη ώρας του.
παράθυραμε τη σειρά του λειτουργεί με Τοπική ώρα
Τοπική ώρα- σε αυτήν την έκδοση, το ρολόι λογισμικού λειτουργεί επίσης σύμφωνα με τη μέση ώρα Γκρίνουιτς, αλλά το ρολόι υλικού λειτουργεί σύμφωνα με την ώρα της τοπικής ζώνης ώρας. Δεν υπάρχει διαφορά για τον χρήστη, πρέπει να προσθέσετε μια προσαρμογή στη ζώνη ώρας σας. Αλλά κατά τη φόρτωση και τον συγχρονισμό της ώρας, τα Windows αφαιρούν 3 ώρες (ή κάποια άλλη προσαρμογή ζώνης ώρας) από την ώρα υλικού, έτσι ώστε η ώρα λογισμικού να είναι σωστή.
Έτσι, φαίνεται ότι έχουμε τακτοποιήσει τη θεωρία, τώρα ας προχωρήσουμε στην πράξη, και έτσι, στην αρχή θα φορτώσουμε τα παράθυρα, εκκινήστε την κονσόλα ως διαχειριστής και εκτελέστε εντολές για ένα σύστημα 32 bit
Προσθήκη Reg HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
ή για 64 bit
Προσθήκη Reg HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 1
αλλά το ρολόι θα εξακολουθεί να συγχρονίζεται με την ώρα του διακομιστή· για να το κάνετε αυτό, απενεργοποιήστε την υπηρεσία συγχρονισμού ρολογιού
sc config w32time start= απενεργοποιημένο
Τώρα κάνουμε επανεκκίνηση του συστήματός μας και ξεκινάμε linuxσυνδεθείτε στο τερματικό κάτω από ρίζακαι εκτελέστε τις εντολές
timedatectl set-local-rtc 1 --adjust-system-clock
Και
sed -i "s/UTC=yes/UTC=no/" /etc/default/rcS
κοιτάξτε την κατάσταση του ρολογιού υλικού
sudo timedatectl
Τώρα κάνουμε επανεκκίνηση ξανά, εισάγουμε το bios και ορίζουμε την ημερομηνία και την ώρα, ελέγχουμε...
αν για κάποιο λόγο χρειαστεί να τα απενεργοποιήσουμε όλα αυτά, τότε εκτελούμε τις εντολές στο Linux
timedatectl set-local-rtc 0
Και
sed -i "s/UTC=no/UTC=yes/" /etc/default/rcS
στα windows, κονσόλα ως διαχειριστής
Προσθήκη Reg HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 0
Και
sc config w32time start= demand
Μια άλλη επιλογή θα ήταν η ακόλουθη, σε linux debian και παράγωγα
εκτελέστε την εντολή για να ορίσετε την τοπική ώρα
sudo hwclock --τοπική ώρα --προσαρμογή
αν θέλουμε να το επιστρέψουμε πίσω
sudo hwclock --utc --προσαρμογή
τώρα ας ελέγξουμε
timedatectl | grep τοπικό
αν η απάντηση
RTC στην τοπική TZ: όχι
τότε ο χρόνος μας κυλάει σύμφωνα με τον Γκρίνουιτς, αλλά αν η απάντηση
RTC στην τοπική TZ: ναι
Αυτό σημαίνει ότι ο χρόνος μας κυλά σύμφωνα με το σύστημα που έχει καθιερωθεί
αυτό είναι όλο, νομίζω ότι σας ήταν χρήσιμο

Σε αυτό το άρθρο, μίλησα για τους λόγους και τις λύσεις τους εάν χαθεί η ημερομηνία και η ώρα στον υπολογιστή σας. Αυτό το άρθρο ασχολήθηκε με κοινά προβλήματα ανεξάρτητα από τον αριθμό των λειτουργικών συστημάτων που είναι εγκατεστημένα στον φορητό υπολογιστή και τη μονάδα συστήματος.

Σήμερα θα μιλήσουμε για το πρόβλημα όταν η ώρα, δηλαδή το ρολόι, πάει στραβά για αρκετές ώρες, σαν να αλλάζει η ζώνη ώρας. Αυτό το πρόβλημα προέκυψε για μένα αφού άρχισα να χρησιμοποιώ δύο λειτουργικά συστήματα Linux και Windows στον υπολογιστή μου ταυτόχρονα.

Αυτό το πρόβλημα αποδεικνύεται ότι δεν είναι τόσο νέο. Για να λυθεί αυτό το πρόβλημα, πολλά προβλήματα έχουν γραφτεί στο Διαδίκτυο.

Η ουσία του προβλήματος είναι αν ο χρόνος είναι λάθος.

Υπάρχουν δύο λειτουργικά συστήματα στον υπολογιστή, συγκεκριμένα το Linux και το Windows.

Τρέχω Linux - η ώρα είναι κανονική.

Έκανα κάποια δουλειά και επανεκκίνησα στα παράθυρα - η ώρα δείχνει αρκετές ώρες νωρίτερα (ή αργότερα, δεν θυμάμαι ακριβώς).

Ρύθμισα την ώρα, ρύθμισα τον αυτόματο συγχρονισμό με το Διαδίκτυο, αλλά τίποτα δεν βοήθησε. Το πρόβλημα δεν μπορεί να λυθεί με απλό τρόπο. Έψαξα στο Διαδίκτυο και αποδείχτηκε ότι το πρόβλημα είναι ότι ο υπολογιστής έχει δύο τύπους ρολογιών, υλικό και λογισμικό.

Το ρολόι υλικού λειτουργεί πάντα, ακόμα και όταν ο υπολογιστής είναι απενεργοποιημένος, υπάρχει μια επιπλέον μπαταρία, ένας συσσωρευτής στην πλακέτα. Διατηρεί το πέρασμα του χρόνου και αποθηκεύει ρυθμίσεις.

Ο χρόνος προγράμματος, καταγράφεται στο πρόγραμμα όταν είναι ενεργοποιημένος και στη συνέχεια λαμβάνεται από εκεί.

Τα Windows και το Linux λειτουργούν διαφορετικά με αυτά τα ρολόγια, εξ ου και το σφάλμα χρονισμού κατά την επανεκκίνηση από το ένα λειτουργικό σύστημα στο άλλο.

Εδώ. Τι γράφεται για αυτό σε άλλους ιστότοπους σχετικά με αυτό:

Πώς να λύσετε αυτό το πρόβλημα;

Κάντε τα Windows και το Linux να λειτουργούν το ίδιο με αυτό το ρολόι υλικού.

Στο Διαδίκτυο, στο θέμα "Χάθηκε ο χρόνος", γράφεται ότι η σωστή λύση θα ήταν να λειτουργήσουν σωστά τα Windows. Το Linux λειτουργεί σωστά, σύμφωνα με πολλούς ανθρώπους.

Αυτό σημαίνει ότι τα Windows πρέπει να λειτουργούν όπως το Linux με την πάροδο του χρόνου.

Η ίδια η διαδικασία επίλυσης του προβλήματος.

Πρέπει να προσθέσετε το κλειδί στο μητρώο του λειτουργικού σας συστήματος Windows.

Υπάρχουν τρόποι για να προσθέσετε αυτό το κλειδί χρησιμοποιώντας μια εντολή, χρησιμοποιώντας τη γραμμή εντολών. Θα τα κάνουμε όλα με το χέρι με τη σειρά. Και θα είναι ξεκάθαρο στους εαυτούς μας τι κάναμε, και ο εγκέφαλός μας θα δουλέψει λίγο.

Καλέστε το παράθυρο Εκτέλεση χρησιμοποιώντας μια συντόμευση πληκτρολογίου +R.Ή απλώς επιλέξτε την εκτέλεση από το μενού.

Πληκτρολογήστε regedit και κάντε κλικ στο OK.

Θα ανοίξει ο Επεξεργαστής Μητρώου.

Μεταβείτε στον κλάδο μητρώου κατά μήκος της διαδρομής HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

Εκεί, στο αριστερό μισό του προγράμματος επεξεργασίας, κάντε δεξί κλικ και κάντε κλικ στην παράμετρο δημιουργίας

Για συστήματα DWORD x32 bit

Για συστήματα QWORD x64 bit

Δώστε του το όνομα RealTimeIsUniversal