زمان های مختلف برای ویندوز و اوبونتو. زمان در اوبونتو و ویندوز از دست رفته است

مواقعی وجود دارد که هنگام نصب سیستم دوم، معمولاً این اتفاق می افتد لینوکس، زمان در سیستم ها شروع به اشتباه می کند، به عنوان مثال، شما تحت خود کار می کردید لینوکسو تصمیم گرفت به پنجره ها، و متوجه شد که زمان و تاریخ کاملاً اشتباه است، یا برعکس، این به دلیل تفاوت در قالب زمان است، این سیستم عامل ها با آن متفاوت کار می کنند، کمی تئوری، و بنابراین، اجازه دهید با شروع لینوکس، این سیستم عامل ها با UTC کار می کنند
UTC- هر دو ساعت سخت افزاری و نرم افزاری بر اساس زمان گرینویچ هستند. یعنی ساعت زمان جهانی را در منطقه زمانی صفر می دهد. به عنوان مثال، اگر منطقه زمانی شما GMT+3، مسکو است، ساعت سه ساعت عقب خواهد بود. و کاربران به صورت محلی به این زمان اصلاحی برای منطقه زمانی اضافه می کنند، به عنوان مثال، +3. هر کاربر اصلاحیه مورد نیاز خود را اضافه می کند. این کار بر روی سرورها انجام می شود تا هر کاربر بتواند زمان مناسب منطقه زمانی خود را دریافت کند.
پنجره هابه نوبه خود با زمان محلی
زمان محلی- در این نسخه، ساعت نرم افزاری نیز بر اساس زمان گرینویچ اجرا می شود، اما ساعت سخت افزاری بر اساس زمان منطقه زمانی محلی اجرا می شود. هیچ تفاوتی برای کاربر وجود ندارد، شما هنوز باید یک تنظیم به منطقه زمانی خود اضافه کنید. اما هنگام بارگذاری و همگام سازی زمان، ویندوز 3 ساعت (یا برخی تنظیمات دیگر منطقه زمانی) را از زمان سخت افزار کم می کند تا زمان نرم افزار درست باشد.
بنابراین، به نظر می‌رسد که ما نظریه را مرتب کرده‌ایم، حالا بیایید به تمرین برویم، و بنابراین، در ابتدا ما را بارگذاری می‌کنیم پنجره ها، کنسول را به عنوان مدیر راه اندازی کنید و دستورات را برای یک سیستم 32 بیتی اجرا کنید
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
یا برای 64 بیت
اضافه کردن Reg HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 1
اما ساعت همچنان با زمان سرور همگام می شود؛ برای انجام این کار، سرویس همگام سازی ساعت را خاموش کنید.
sc config w32time start= غیر فعال شد
اکنون سیستم خود را ریبوت کرده و راه اندازی می کنیم لینوکسوارد ترمینال زیر شوید ریشهو دستورات را اجرا کنید
timedatectl set-local-rtc 1 --adjust-system-clock
و
sed -i "s/UTC=yes/UTC=no/" /etc/default/rcS
به وضعیت ساعت سخت افزاری نگاه کنید
sudo timedatectl
حالا دوباره راه اندازی مجدد می کنیم، وارد بایوس می شویم و تاریخ و ساعت را تنظیم می کنیم، چک می کنیم...
اگر به دلایلی نیاز به غیرفعال کردن همه این موارد داشته باشیم، دستورات را در لینوکس اجرا می کنیم
timedatectl set-local-rtc 0
و
sed -i "s/UTC=no/UTC=yes/" /etc/default/rcS
در ویندوز، کنسول به عنوان مدیر
اضافه کردن Reg HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 0
و
sc config w32time start= demand
گزینه دیگر در لینوکس دبیان و مشتقات گزینه زیر خواهد بود
دستور را برای تنظیم زمان محلی اجرا کنید
sudo hwclock --localtime -- تنظیم
اگر بخواهیم آن را برگردانیم
sudo hwclock --utc --adjust
حالا بیایید بررسی کنیم
timedatectl | grep محلی
اگر پاسخ
RTC در TZ محلی: خیر
پس از آن زمان ما با توجه به گرینویچ تیک تاک است، اما اگر پاسخ
RTC در TZ محلی: بله
این بدان معناست که زمان ما مطابق با سیستم ایجاد شده در حال گذر است
این همه، فکر می کنم برای شما مفید بود

در حالت UEFI (Secure Boot). زمان بایوس من درست است.

وقتی در اوبونتو بوت می شوم و سپس در ویندوز 10 بوت می شوم، زمان اشتباه را نشان می دهد. من باید آن را به صورت دستی یا آنلاین در ویندوز 10 برطرف کنم و وقتی ویندوز 10 را ریبوت می کنم مشکلی نیست. ساعت زمان صحیح را نشان می دهد. و سپس وقتی در لینوکس راه‌اندازی مجدد می‌کنم، ساعت درست است، اما با بازگشت به ویندوز 10، ساعت دوباره شروع به کار می‌کند.

سیستم‌های عامل زمان را در ساعت سخت‌افزاری که روی مادربرد شما قرار دارد ذخیره و بازیابی می‌کنند تا حتی زمانی که سیستم روشن نیست، زمان را پیگیری کند. اکثر سیستم عامل ها (لینوکس/یونیکس/مک) به طور پیش فرض زمان را در ساعت سخت افزاری به صورت UTC ذخیره می کنند، اگرچه برخی از سیستم ها (به ویژه مایکروسافت ویندوز) زمان را در ساعت سخت افزاری به عنوان زمان محلی ذخیره می کنند. اگر هر دو سیستم با ساعت سخت افزاری متفاوت رفتار کنند، این باعث ایجاد مشکلاتی در سیستم بوت دوگانه می شود.

مزیت استفاده از ساعت سخت افزاری به عنوان UTC این است که مجبور نیستید ساعت سخت افزاری را هنگام جابجایی بین مناطق زمانی یا زمانی که ساعت تابستانی (DST) شروع یا به پایان می رسد، تغییر دهید، زیرا UTC هیچ تغییر زمان یا زمانی ندارد.

تغییر لینوکس برای استفاده از زمان محلی آسان‌تر و قابل اعتمادتر از تغییر ویندوز برای استفاده از UTC است، بنابراین سیستم‌های لینوکس/ویندوز بوت دوگانه معمولاً از زمان محلی استفاده می‌کنند.

از آنجایی که Intrepid (8.10)، UTC = yes پیش فرض است.

ویندوز را از UTC استفاده کنید

توجه داشته باشید. این روش در ابتدا در ویندوز ویستا و سرور 2008 پشتیبانی نمی شد، اما با Vista SP2، Windows 7، Server 2008 R2 و Windows 8/8.1 بازگشت.

به طوری که MS Windows زمان را از ساعت سخت افزاری با فرمت UTC محاسبه می کند.

فایلی به نام WindowsTimeFixUTC.reg با محتوای زیر ایجاد کنید و سپس روی آن دوبار کلیک کنید تا محتوا در رجیستری ادغام شود:

ویرایشگر رجیستری ویندوز نسخه 5.00 "RealTimeIsUniversal"=dword:00000001

توجه داشته باشید. سرویس Windows Time همچنان زمان محلی را در RTC بدون توجه به تنظیمات رجیستری در بالا هنگامی که خاموش است ضبط می کند، بنابراین غیرفعال کردن سرویس Windows Time با استفاده از این دستور راحت است (اگر نیاز به همگام سازی زمانی باشد در حالی که ویندوز از همگام سازی زمانی شخص ثالث استفاده می کند. ):

Sc config w32time start= غیر فعال شد

لغو تغییر

می توانید یک فایل با محتوای زیر ایجاد کنید و سپس روی آن دوبار کلیک کنید تا تغییرات اصلی مانند بالا ادغام شوند:

ویرایشگر رجیستری ویندوز نسخه 5.00 "RealTimeIsUniversal"=-

اگر سرویس Windows Time غیرفعال بود، آن را دوباره با استفاده از دستور فعال کنید:

Sc config w32time start= demand

لینوکس را به زمان «محلی» تبدیل کنید

برای اینکه به سیستم اوبونتو بگویید که ساعت سخت افزاری روی زمان محلی تنظیم شده است:

  1. /etc/default/rcS را تغییر دهید
  2. بخش زیر را اضافه یا تغییر دهید

    # اگر ساعت سخت افزاری شما روی UTC (GMT) UTC=نه تنظیم شده است، UTC=بله را تنظیم کنید

اوبونتو 15.04 و سیستم های بالاتر (به عنوان مثال اوبونتو 16.04 LTS):

    یک ترمینال را باز کنید و دستور زیر را اجرا کنید

    اگر می خواهید در وب سایت ما پاسخ سوالات خود را در مورد هر چیزی که مربوط به فناوری اپل، سیستم عامل Mac OS X (و راه اندازی آن بر روی رایانه شخصی است) ببینید، از طریق یا با ما بنویسید.

    سوال زیر را دریافت کردیم:

    عصر بخیر!
    هکینتاش Snow Leopard، Windows 7 و Ubuntu را اجرا می کند. پس از راه‌اندازی مجدد، زمان دائماً از دست می‌رود ((سیستم‌عامل Mac همیشه آن را ۴ تا ۵ ساعت به عقب برمی‌گرداند! به من بگویید چگونه مشکل را برطرف کنم

    یک مشکل با همگام سازی زماننه تنها برای هکینتاش ها، بلکه برای مک های واقعی که ویندوز از طریق Boot Camp روی آن ها اجرا می شود نیز مرتبط است. دلیل این امر بسیار ساده است: Mac OS X همیشه فرض می‌کند که زمان ثبت شده در BIOS (یا EFI) در آنجا با فرمت نوشته شده است. UTC- به عبارت دیگر، به گفته گرینویچ. او تصحیح مناسب برای منطقه زمانی را به آن اضافه می کند.

    اما ویندوز کارها را متفاوت انجام می دهد: آن مستقیم می خواندزمان از بایوس و اگر این زمان را تغییر دهید یا به طور خودکار همگام شود، در بایوس با فرمت تصحیح شده ضبط می شود: UTC+correction.

    چگونه این تناقض را حل کنیم؟ دو رویکرد وجود دارد: یکی از سمت سیستم عامل مک، دیگری از سمت ویندوز و لینوکس.

    راه حل با استفاده از Mac OS X

    بیایید بلافاصله بگوییم که این بهترین راه نیست. نکته اصلی این است که برای Mac OS X ما منطقه زمانی را روی زمان گرینویچ تنظیم می کنیم. به عنوان مثال، در تنظیمات (Remote تاریخ و زمان، برگه منطقه زمانی) به عنوان محل خود انتخاب کنید ریکیاویک.

    علاوه بر این، در برگه "تاریخ و زمان"مطمئن شوید که همگام سازی خودکار زمان را غیرفعال کنید، در غیر این صورت حتی بدتر از قبل خواهد شد.

    پس از این مراحل، زمان در ویندوز همیشه درست خواهد بود و Mac OS X آن را به هم نمی‌ریزد. اما چرا این بهترین راه نیست؟ واقعیت این است که اگر برخی از ابزارها را با Mac OS X همگام کنید - به عنوان مثال، یک آیفون، منطقه زمانی اشتباه بسیاری از داده های مهم را تحریف می کند. به عنوان مثال زمان ارسال پیامک های دریافتی نیز گرینویچ خواهد بود.

    راه حل با استفاده از ویندوز و لینوکس

    راه دیگر این است که ویندوز و لینوکس زمان را از بایوس به همان روشی که Mac OS انجام می دهد بخوانند. خوشبختانه چنین فرصتی واقعا فراهم شده است، اما بسیار عمیق پنهان است.

    در ویندوز، باید برنامه را از پنجره Run اجرا کنید regeditویرایشگر رجیستریسپس به تاپیک بروید \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformationو یک مقدار DWORD در آنجا با نام ایجاد کنید RealTimeIsUniversalو مقداری برابر با یک:

    در لینوکس (حداقل در اوبونتو)، باید فایل را ویرایش کنید /etc/default/rcSدر هر ویرایشگر متنی و جایگزینی محتویات پارامتر "UTC=نه"بر "UTC=بله".

    پس از این، سیستم عامل Mac OS X را مجددا راه اندازی کنید و منطقه زمانی بومی خود را تنظیم کنید، در همان زمان می توانید همزمان سازی خودکار زمان را از طریق اینترنت فعال کنید. پس از راه اندازی مجدد در ویندوز و اوبونتو دقیقاً همان زمان را خواهید دید.

    استفاده از چندین سیستم عامل در یک کامپیوتر، گاهی اوقات باعث می شود که آنها در هنگام استفاده از یک چیز با یکدیگر در تضاد باشند. گاهی اوقات به چیزی به سادگی زمان مربوط می شود. حتی سیستم عامل های محبوب رایانه های شخصی مانند ویندوز و اوبونتو هم نمی توانند با هم کنار بیایند و دائماً زمان یکدیگر را به زمان نادرست تغییر دهند.

    دلایل این پدیده در واقع ساده است: ویندوز زمان سیستم (که در تنظیمات CMOS نمایش داده می شود) را محلی (با در نظر گرفتن منطقه زمانی) درک می کند و اوبونتو - طبق UTC (زمان گرینویچ، بدون در نظر گرفتن زمان) منطقه زمانی). به همین دلیل، آنها زمان سیستم را مطابق با منطق خود تنظیم می کنند و منطق یکدیگر را نقض می کنند.

    راه حل مشکل نیز ساده است: یا ویندوز را مجبور کنید که یک افست منطقه زمانی را به زمان سیستم اضافه کند، یا از اضافه کردن این افست اوبونتو جلوگیری کنید.

    تنظیمات در اوبونتو

    با شروع از نسخه 16.04، تنظیمات نمایش زمان را می توان با استفاده از دو دستور تغییر داد.

    فعال کردن نمایش زمان محلی:
    sudo hwclock --localtime -- تنظیم

    فعال کردن نمایش UTC:
    sudo hwclock --utc --adjust

    در نسخه های قدیمی اوبونتو باید فایل rtC را ویرایش کنید:

    sudo nano /etc/default/rcS

    شما باید این خط را اضافه کنید (برای نمایش زمان محلی) یا حذف کنید (برای نمایش زمان UTC):

    تنظیمات در ویندوز

    در ویندوز، تقریباً تمام تنظیمات سیستم در رجیستری ویرایش می شوند؛ TimeZoneInformation که در این شرایط ضروری است، از این قاعده مستثنی نیست. در رجیستری در این آدرس قرار دارد:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

    در اینجا باید پارامتر RealTimeIsUniversal را اضافه یا تغییر دهید. نوع آن DWORD است. برای اینکه زمان سیستم در UTC خوانده شود، باید مقدار را روی 1 تنظیم کنید و برای تشخیص محلی، باید مقدار را روی 0 تنظیم کنید یا این پارامتر را به طور کامل حذف کنید.

    ویرایشگر رجیستری را می توان با استفاده از دستور regedit راه اندازی کرد.