কম্পিউটার টিউটোরিয়াল

রিবুটের পর সিস্টেম ক্লক ভুল সময় দেখালে সমাধান

এই আর্টিকেলে আমরা আলোচনা করব কেন শাটডাউন, রিস্টার্ট বা হাইবার্নেশন থেকে রিজিউম করার পর ল্যাপটপ/কম্পিউটার/সার্ভারের সিস্টেম ক্লক ভুল সময় এবং তারিখ দেখায়। প্রতিবার টাইম রিসেট হয় এবং ম্যানুয়ালি সেট করতে হয়। আমরা সবচেয়ে সাধারণ কেস: কমজোর BIOS ব্যাটারি এবং আরও আকর্ষণীয় কেসগুলো: একই কম্পিউটারে Windows/Linux ডুয়াল বুট, এবং HPE ProLiant G9/G8 সার্ভারে উইন্ডোজ সার্ভার OS-এ ফার্মওয়্যার বাগ নিয়ে আলোচনা করব।

কমজোর BIOS/CMOS ব্যাটারির কারণে সিস্টেম ডেটা/টাইম সেভ করে না

"রিবুটের পর আমার কম্পিউটারের টাইম এবং ডেটা কেন রিসেট হয়?" – এই প্রশ্নের সাধারণ উত্তর হল BIOS (CMOS) ব্যাটারি রানডাউন। এই ব্যাটারি কম্পিউটার বা ল্যাপটপ আনপ্লাগড থাকলে BIOS/UEFI সেটিংস রক্ষা করে এবং বিল্ট-ইন হার্ডওয়ার ক্লককে স্বায়ত্তশাসিতভাবে চালু রাখে।

যদি ব্যাটারি রানডাউন হয়ে যায়, মাদারবোর্ড পাওয়ারড না থাকলে BIOS তার সেটিংস রাখতে পারে না এবং সেগুলো রিসেট হয়ে যায়, বর্তমান ডেটা এবং টাইমসহ। আপনার কম্পিউটার পুরনো হলে খুব সম্ভব আপনার ব্যাটারি ডেড। আমরা স্ত্রংলি রিকমেন্ড করি এটিকে রিপ্লেস করতে। এটি কঠিন নয় এবং কোনো স্পেশাল ইঞ্জিনিয়ারিং স্কিল লাগে না। অধিকাংশ হোম এবং এন্টারপ্রাইজ ডিভাইসে BIOS-এ স্ট্যান্ডার্ড ৩V CR2032 ব্যাটারি ব্যবহার হয়।

যদি ব্যাটারি রিপ্লেস করলেও সমাধান না হয়, তবে BIOS সেটিংস রিসেট করতে ব্যবহৃত জাম্পারের স্টেট চেক করুন (জাম্পারটি ব্যাটারি বের ছাড়ার কাছে থাকে এবং CMOS / CLEAR / RESET হিসেবে মার্ক করা থাকে)। কেউ এটিকে RESET পজিশনে ছেড়ে দিয়ে থাকতে পারে। ফলে মাদারবোর্ড পাওয়ার পাওয়ার হলে প্রতিবার BIOS সেটিংস রিসেট হয়। জাম্পারকে নরমাল পজিশনে সরিয়ে দিন।

পরবর্তী অপশন হল আপনার মাদারবোর্ডের BIOS ফার্মওয়্যার আপডেট করা। আপনার হার্ডওয়ার ভেন্ডরের ওয়েবসাইটে দেখুন কীভাবে করবেন। নতুন ফার্মওয়্যারে সাধারণত বিভিন্ন বাগ ফিক্স থাকে।

উইন্ডোজ: time.windows.com-এ ক্লক সিঙ্ক্রোনাইজেশন সেট করা

যদি উইন্ডোজে আপনার ডেটা/টাইম সেটিংস دائما পরিবর্তন হয়, তবে প্রথমে করেন্ট টাইম জোন সেটিংস এবং এক্সটার্নাল টাইম সার্ভারের সাথে টাইম সিঙ্ক্রোনাইজেশনের প্যারামিটার চেক করুন। উইন্ডোজ ১০-এ কারেন্ট টাইম সেটিংস দেখতে পারেন Control Panel → Clock and Region → Date and Time-এ। এই উদাহরণে দেখতে পাচ্ছেন, টাইম জোন UTC + ০১ নির্দিষ্ট করা আছে এবং Daylight Saving Time সক্ষম।

টিপ। উইন্ডোজে টাইম জোন কমান্ড প্রম্পট থেকে tzutil টুল বা পাওয়ারশেল দিয়ে সেট করা যায়।

যদি আপনার কম্পিউটার AD ডোমেনে জয়েন্ড না থাকে, তবে এক্সটার্নাল টাইম সোর্স (NTP টাইম সার্ভার) এর সাথে এর টাইম সিঙ্ক্রোনাইজেশন সেটিংস চেক করুন। Internet Time ট্যাবে ক্লিক করুন এবং নিশ্চিত করুন যে time.windows.com সার্ভারের সাথে অটোমেটিক সিঙ্ক্রোনাইজেশন সেট আছে।

AD ডোমেন-জয়েন্ড কম্পিউটারের জন্য টাইম সিঙ্ক্রোনাইজেশন ট্রাবলশুটিং

যদি আপনার কম্পিউটার Active Directory ডোমেনের অংশ হয়, তবে AD ডোমেনে টাইম সিঙ্ক্রোনাইজেশনের আর্কিটেকচার বুঝতে হবে।

Active Directory ডোমেনে নিচের টাইম সিঙ্ক্রোনাইজেশন স্কিম ব্যবহার হয়:

  • AD ফореস্টের রুট ডোমেন কন্ট্রোলার যেটিতে PDC emulator-এর FSMO রোল থাকে, সেটি এই ডোমেনের সকল অন্য DCs-এর টাইম সোর্স;
  • অন্যান্য DCs PDC-এর সাথে টাইম সিঙ্ক্রোনাইজ করে;
  • সাধারণ ডোমেন মেম্বার (সার্ভার ও ওয়ার্কস্টেশন) AD টপোলজি অনুযায়ী নিকটতম উপলব্ধ ডোমেন কন্ট্রোলারের সাথে টাইম সিঙ্ক্রোনাইজ করে।

রুট PDC এক্সটার্নাল সোর্স বা নিজের সাথে (ডিফল্টভাবে) টাইম সিঙ্ক্রোনাইজ করতে পারে।

PDC রোলയুক্ত ডোমেন কন্ট্রোলার খুঁজতে কমান্ড: netdom /query fsmo

PDC-এ এক্সটার্নাল NTP সার্ভারের সাথে টাইম সিঙ্ক্রোনাইজেশন কনফিগার করতে নিচের কমান্ডগুলো ব্যবহার করা হয়।

এক্সটার্নাল টাইম সোর্স কনফিগার করুন:

w32tm /config /manualpeerlist:"0.nl.pool.ntp.org,0x1 1.nl.pool.ntp.org,0x1 2.nl.pool.ntp.org,0x1 3.nl.pool.ntp.org,0x1"

এই DC-কে ক্লায়েন্টদের জন্য विश्वস্ত টাইম সোর্স বানান:

w32tm /config /reliable:yes

w32 টাইম সার্ভিস রিস্টার্ট করে DC-এর টাইম nl.pool.ntp.org টাইম সার্ভারদের সাথে সিঙ্ক করুন:

net stop w32time && net start w32time

সিঙ্ক্রোনাইজেশন সোর্স এবং স্ট্যাটাস দেখুন:

w32tm /query /peers

ম্যানুয়াল মোডে সিঙ্ক্রোনাইজেশন শুরু করুন:

w32tm /resync /rediscover

ডুয়াল বুটে উইন্ডোজ ও লিনাক্স ভিন্ন সময় দেখালে সমাধান

একই কম্পিউটারে দুটি অপারেটিং সিস্টেম (Windows & Linux) ডুয়াল বুট কনফিগারেশনে ইনস্টলড থাকলে একটি আলাদা সমস্যা দেখা দেয়। আপনি অন্য সিস্টেমে বুট করলে (উইন্ডোজের পর লিনাক্সে বুট করলে) সময় কিছু ঘণ্টা আগে বা পিছিয়ে দেখতে পাবেন।

উইন্ডোজ এবং লিনাক্স BIOS টাইমের সাথে আলাদা ভাবে কাজ করে। তারা দুটি আলাদা টাইম ফরম্যাট ব্যবহার করে: UTC এবং localtime।

GNU/Linux অপারেটিং সিস্টেমগুলো (Mac OS X সহ) অনুমান করে BIOS-এ টাইম UTC ফরম্যাটে (GMT) আছে। অনুযায়ী বুট করার সময় লিনাক্স UTC টাইমকে ব্যবহারকারীর সিলেক্ট করা করেন্ট টাইম জোনের অফসেট যোগ বা বিয়োগ করে কনভার্ট করে। অর্থাৎ আথেনস টাইম জোন UTC+2-এর জন্য লোকাল টাইম পেতে লিনাক্স ২ ঘণ্টা যোগ করবে।

উইন্ডোজ মনে করে BIOS-এ টাইম localtime ফরম্যাটে রাখা হয়, এবং আপনি নতুন টাইম জোন স্পেসিফাই করলে বা এক্সটার্নাল সোর্সের সাথে টাইম সিঙ্ক করলে সিস্টেম BIOS-এ লোকাল টাইমে পারস্পরিক পরিবর্তন আনবে। লিনাক্স (আমার কেসে Ubuntu) মনে করে BIOS-এ টাইম UTC ফরম্যাটে আছে এবং এক্সট্রা টাইম জোন অফসেট যোগ করে। এই কারণে উইন্ডোজ থেকে লিনাক্সে এবং লিনাক্স থেকে উইন্ডোজে স্যুইচ করার সময় টাইম ভুল হয়ে যায়।

এটি ফিক্স করতে উইন্ডোজকে RealTimeIsUniversal রেজিস্ট্রি প্যারামিটার দিয়ে UTC টাইম ফরম্যাট ব্যবহার করতে বাধ্য করতে হবে।

reg add "HKLMACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /t REG_DWORD /d 1 /f

টিপ। ৬৪-বিট উইন্ডোজ সংস্করণে DWORD-এর পরিবর্তে QWORD-টাইপ প্যারামিটার তৈরি করতে হয়:

reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 1

এছাড়া উইন্ডোজে ইন্টারনেটের সাথে টাইম সিঙ্ক্রোনাইজেশন ডিজেবল করুন, কারণ প্রতিবার টাইম আপডেটে উইন্ডোজ UTC টাইমকে লোকালে রিসেট করবে।

sc config w32time start= disabled

আপনার উইন্ডোজ রিস্টার্ট করুন।

অথবা আপনি লিনাক্সকে লোকাল টাইম ব্যবহার করতে বাধ্য করতে পারেন। Ubuntu 15.04 বা উচ্চতর সংস্করণে timedatectl টুল ব্যবহার করুন:

timedatectl set-local-rtc 1

HPE সার্ভার উইন্ডোজ সার্ভারের সাথে: রিস্টার্টের পর সিস্টেম টাইমে অফসেট

আমার একটি রিমোট কাস্টমার HPE DL/ML Gen9 সার্ভারে উইন্ডোজ সার্ভার ২০০৮ R2 / ২০১২ R2 চালিয়ে টাইম জোন পরিবর্তনের পর একটি আকর্ষণীয় সমস্যায় পড়েছিল। বের হয়, HP ProLiant Gen9 সার্ভারে (এবং একটি HP ProLiant DL580 Gen8 সার্ভারে) সিস্টেম টাইম বা টাইম জোন পরিবর্তন করলে সিস্টেম টাইম সেভ হয় না এবং রিস্টার্টের পর পূর্বের টাইমে রিসেট হয়ে যায়। সমস্যাটি সার্ভারগুলোতে হয়েছিল যেগুলো Windows Server Legacy মোডে বুট করেছিল (নেটিভ UEFI বুটে টাইম চেঞ্জ সমস্যা নেই)।

সিস্টেম লগে নিচের ইভেন্ট দেখা যেত:
The system time has changed to ‎2019‎-‎01‎-‎29T12:12:28.500000000Z from ‎2019-‎01‎-‎29T13:12:27.923115700Z.
Change Reason: System time synchronized with the hardware clock.

এই সমস্যার সমাধান হিসেবে HP ROM ভার্সন কমপক্ষে ১.৫-এ আপডেট করার পরামর্শ দিয়েছে। এটি ROM-Based Setup Utility (RBSU)-এর वो ভার্সন যাতে টাইম রিসেট বাগ নেই।

অথবা ওয়ার্কঅראউন্ড সমাধান হিসেবে, আপনি সেট করতে পারেন যে BIOS উইন্ডোজকে UTC সিস্টেম টাইম দেবে (লোকাল টাইমের পরিবর্তে)। এর জন্য, যেমন আমরা উপরে বলেছি, রেজিস্ট্রি কী HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation-এ RealTimeIsUniversal নামের প্যারামিটার মান 1 করে তৈরি করতে হবে।

  1. উইন্ডোজ ১১-এ ভুল ক্লক টাইম ঠিক করার ধাপে ধাপে গাইড

  2. Windows 10-এ ভুল সময় ঠিক করুন: দ্রুত ট্রাবলশুটিং ধাপ

  3. উইন্ডোজ ১০ এন্ডলেস রিবুট লুপ ফিক্স – দ্রুত, বিশ্বস্ত সমাধান

  4. উইন্ডোজ ১১ ঘড়ি সমস্যা সমাধান: ৭টি প্রমাণিত সমাধান টাইম সেটিংস ঠিক করার জন্য