(δανείζομαι εικόνα από google image results, γιατί τέτΧιος είμαι )
Sync Ώρας σε Dual Boot όταν "χάνει"
- Βαθμός Δυσκολίας = 4/10
- Απαιτείται Γνώση σε[…] = Microsoft Notepad, Task Scheduler, Startup Items
- Χρόνος Ολοκλήρωσης = 2 λεπτά
Πολλές φορές έχεις την ανάγκη να βρίσκεσαι σε dual boot σύστημα όπου ας πούμε ότι το main OS σου είναι το Linux (διότι πολλοί δοκιμάζετε λίγοι κάνετε το βήμα, ναι ναι αλήθειες), και σαν secondary OS ένα σύστημα βασισμένο σε Microsoft Windows (ο οδηγός έχει δοκιμαστεί σε Win10 Pro).
Το θάρρος να φτιάξω ένα script το πήρα διότι κουράστηκα να μην δουλεύουν οι αυτόματες λύσεις, και όσο έχεις πεί το clock settings στα Windows θέλω να παίρνεις NTP την ώρα από π.χ. time.microsoft.com είτε και Ελληνικά ntp servers αυτό αρνείται καταφατικά να το κάνει on-boot. Οπότε… How to Properly Sync Time Between OS’s…
Όταν είσαι π.χ. έτσι (από γνωστό στο Telegram, γεια σου Σπύρο)
╰─ timedatectl ─╯
Local time: Σαβ 2022-03-19 11:36:45 EET
Universal time: Σαβ 2022-03-19 09:36:45 UTC
RTC time: Σαβ 2022-03-19 09:36:45
Time zone: Europe/Athens (EET, +0200)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
Στην ουσία δεν είναι sync αλλά θα πούμε στα Windows θέλω τώρα να πάρεις φρέσκια την ώρα, όπως ακριβώς έχουμε ρυθμίσεις εμείς στο BIOS αλλά και στην διανομή μας.
Ξεκινάμε σε Windows και ανοίγουμε ένα notepad και του ταΐζουμε το παρακάτω batch script
@echo off
timeout /t 30
SC START w32time task_started
net start w32time
w32tm /config /manualpeerlist:"time.nist.gov time.windows.com time-nw.nist.gov time-a.nist.gov time-b.nist.gov time-a.timefreq.bldrdoc.gov time-b.timefreq.bldrdoc.gov time-c.timefreq.bldrdoc.gov utcnist.colorado.edu" /syncfromflags:manual /update
w32tm /query /configuration
w32tm /debug /enable /file:C:\windows\temp\w32time.log /size:10000000 /entries:300
rem w32tm /resync
w32tm /resync /force
και το σώζουμε στο Desktop ως π.χ. sync-timer.bat
Αυτό με τη σειρά του θα περιμένει 30 δευτερόλεπτα, ο λόγος είναι ότι επειδή θα το βάλουμε on-boot να ξεκινάει ενδέχεται να μην έχει σηκωθεί ακόμα η network adapter μας, οπότε θα τρέξει αλλά λίγο αργότερα. Μετά θα ξεκινήσει w32time για να πάρει με το χέρι την ώρα από τα δηλωμένα ntp servers, αν θέλετε από άλλα δικά σας Ελληνικά, be my guest, αλλά είναι τόσο απλή επικοινωνία και οι γραμμές μας είναι πλέον τόσο γρήγορες που δεν έχει και πολύ νόημα όλα από Ελληνικά mirror (άποψή μου). Μετά κάθε τα δικά του, γράφει αρχεία log να έχουμε αν χρειαστεί να δούμε τίποτα και κάνει /force resync
την ώρα.
Αυτό το αρχείο θα πρέπει να το βάλουμε να τρέχει on-boot με τον Task Scheduler, μερικοί ΙΤ γνωστοί θα το έβαζαν και στο shell:startup
αλλά σαν αποτέλεσμα “κάθε” φορά που θα τρέχει θα εμφανίζει ένα Command Prompt παράθυρο, εγώ προσωπικά δε το θέλω να το βλέπω έτσι, οπότε από Task Scheduler, ανοίγουμε νέο Task του λέμε να τρέχει On Startup χωρίς τον χρήστη να είναι logged-in και σαν user διαφορετικό, στο αναδυόμενο παράθυρο πατάμε με κεφαλαία SYS
και Check name ώστε να πάρει το System account, έτσι θα τρέξει το batch file από το path που θα το έχουμε (μπορείτε να το αφήσετε π.χ. στο C:\
) πριν κάν log-άρει ο χρήστης και χωρίς να δείτε Command Prompt παράθυρο.
Screenshot από WindowsCentral
όπου μπορείτε να δείτε πως μπορείτε να φτιάξετε ένα basic task από τον οδηγό τους…
How to create an automated task using Task Scheduler on Windows 10 | Windows Central
(Θα ενημερωθεί το άρθρο με screenshots όταν θα βρίσκομαι σε μηχάνημα με Windows, αυτή τη στιγμή το γράφω από macbook air mid’13 με pop-os)
Ελπίζω να το βρήκατε χρήσιμο, σαφώς απαιτεί λίγο παραπάνω από απλά να φτιάξετε ένα batch αρχείο, αλλά θα δείτε θα ξεκινάνε τα Windows και θα ενημερώνεται μετά από λίγο η ώρα και δεν θα σας νοιάζει τίποτα! ;-)