मैं वर्चुअलबॉक्स में मैन्युअल रूप से सिस्टम समय कैसे सेट कर सकता हूं?


30

मैं VirtualBox में कंप्यूटर के समय को मैन्युअल रूप से सेट करने का प्रयास कर रहा हूं, लेकिन यह हमेशा बदल जाता है कि मैंने इसे बदलने से पहले क्या किया था। मैं ntp को कैसे निष्क्रिय कर सकता हूं और सिस्टम को बता सकता हूं कि मैं किस समय इसे बनना चाहता हूं?


क्या आप अपनी समस्या के बारे में कुछ और जानकारी दे सकते हैं? आप किस समय चाहते हैं और यह समय आपके कंप्यूटर को निर्धारित करता है।
क्ब्बी

5
मैं अपने कंप्यूटर पर एक मनमाना गलत समय निर्धारित करना चाहता हूं।
जेरेमी बिचा

जवाबों:


30

मैंने एक उपाय खोज लिया है। निम्नलिखित सामग्री पढ़ें: लिंक

मूल रूप से यदि आपके पास Windows होस्ट और Ubuntu अतिथि है, तो निम्न कार्य करें:

  1. अपने VM (वर्चुअल मशीन) का नाम ढूंढें - VB (वर्चुअलबॉक्स) चलाएं, अपने VM का चयन करें, खुली सेटिंग्स, 'सामान्य' टैब में नाम जांचें, जैसे कि मेरे मामले में Ubuntu 12.04 32bit
  2. विंडोज में, कमांड लाइन इंटरप्रेटर शुरू करें, C:\Program Files\Oracleफोल्डर पर जाएं और VirtualBoxसेलेक्ट करने के लिए क्लिक करें, फिर लेफ्ट शिफ्ट की को पकड़े, माउस राइट-क्लिक करें और "ओपन कमांड विंडो हियर" मेन्यू चुनें, इंटरप्रेटर को अभी चलना होगा
  3. निम्नलिखित कमांड को पेस्ट करें (VM नाम को अपने नाम में बदलें!):

    VBoxManage setextradata "Ubuntu 12.04 32bit" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1

  4. अंत में, अपने उबंटू अतिथि को शुरू करें और मैन्युअल रूप से समय और तारीख निर्धारित करें।


6
यह निश्चित रूप से स्वीकृत उत्तर होना चाहिए! मैं अतिथि परिवर्धन को अक्षम नहीं करना चाहता था क्योंकि मेरे पास एक साझा फ़ोल्डर है जो मेरे ubuntu सर्वर 14 अतिथि में मुहिम चला रहा है
जॉन बी

दुर्भाग्य से, यह अतिथि प्रणाली पर समय को "फ्रीज" नहीं करता है। कुछ परिदृश्यों में हालांकि आप हर समय पूरी तरह से फ्रीज करना चाहते हैं (जैसे कि प्रतिलिपि प्रस्तुत करने योग्य बिल्ड करने के लिए)।
वास्यानोविकोव

इसने मुझे बहुत समय बचाया
एल्सेडेक

यदि आपका होस्ट OS उबंटू है, तो कमांड है: vboxmanage setextradata "your_VM_name_here" "VBoxInternal / Devices / VMMDev / 0 / config / GetHostTimeDisabled" 1
Maris

इस सवाल को देखें, यह तब काम किया जब मैंने इसे आजमाया: stackoverflow.com/a/45724822/18149vboxadd-service अतिथि पर एक अतिरिक्त तर्क की आवश्यकता, मुख्य रूप से--disable-timesync
leeand00

23

जैसा कि एक अन्य उत्तर में उल्लेख किया गया है, यदि आप वर्चुअलबॉक्स के तहत एक अतिथि के रूप में उबंटू चल रहे हैं, तो आपको पता होना चाहिए कि सिस्टम का समय स्वचालित रूप से अतिथि परिवर्धन (यानी, मदरबोर्ड सेटिंग्स में एक विकल्प के माध्यम से नहीं) द्वारा सिंक में रखा जाता है ।

उस मामले में आपका समाधान अतिथि अतिरिक्त को अक्षम करना है, जिसे निष्पादित करके प्राप्त किया जा सकता है

sudo service vboxadd-service stop

या

sudo /etc/init.d/vboxadd-service stop

फिर आप date --setसिस्टम सेटिंग्स एप्लेट का उपयोग करके या कमांड लाइन से वांछित समय निर्धारित कर सकते हैं )

वर्चुअलबॉक्स सेवा को अगले रिबूट पर फिर से शुरू किया जाएगा, या आप इसे मैन्युअल रूप से कर सकते हैं।


3
विषय से बाहर, लेकिन अतिथि परिवर्धन को अक्षम / अक्षम करना आपको विंडोज़ गेस्ट OSes पर सिस्टम घड़ी सेट करने की अनुमति देता है
speckledcarp

3
उबंटू के मेरे संस्करण में कमांड थी sudo service virtualbox-guest-utils stop। मुझे लगता है कि पैकेज का नाम बदल दिया गया था?
क्रैशथच

@ क्रष्टाचट आपका समाधान केवल वही है जो काम करता है। धन्यवाद।
Bevor

11

वर्चुअलबॉक्स मदरबोर्ड में कमांड लाइन का उपयोग करके समय सेट करने का एकमात्र तरीका है:

VBoxManage modifyvm <name> --biossystemtimeoffset <msec>

उदाहरण के लिए, तारीख 1 वर्ष वापस करने के लिए:

VBoxManage modifyvm <name> --biossystemtimeoffset -31536000000

4

ठीक है, यदि आप मनमाने तिथियां निर्धारित करना चाहते हैं, तो पहले आपको ntp को अक्षम या अनइंस्टॉल करना चाहिए।

  • इसे अक्षम करने के लिए, एक टर्मिनल खोलें और चलाएं sudo update-rc.d -f ntp remove
  • इसे हटाने के लिए, अपने पसंदीदा सॉफ़्टवेयर प्रबंधन सॉफ़्टवेयर का उपयोग करें

उसके बाद आप dateअपने सिस्टम का समय निर्धारित करने के लिए -कमांड का उपयोग कर सकते हैं :

date -s "17 April 2011 12:34:56"
date --set="17 April 2011 12:34:56"

दोनों आज्ञाएँ समान हैं। केवल आपके द्वारा उपयोग किए जा सकने वाले समय को निर्धारित करने के लिए:

date +%T -s "12:34:56" 

date-Manpage कुछ और प्रारूप नियंत्रण हैं। आप तिथि बदलने के लिए उन सभी का उपयोग कर सकते हैं


ठीक है, मैंने ऐसा किया है, लेकिन sudo date -s केवल reverting से पहले कुछ सेकंड के लिए तारीख रखती है। उसके द्वारा, मेरा मतलब है, दौड़ने की तारीख फिर से उस समय को दिखाती है, जिसे मैं सामान्य रूप से काम करने के लिए निर्धारित करता हूं, लेकिन पैनल में समय सूचक नहीं होता है, और जब मैं फिर से तारीख चलाता हूं, तो समय ने पैनल घड़ी से मिलान करने के लिए स्विच किया है ..... और कोशिश कर रहा है संकेतक-डेटाइम घड़ी को बदलें या तो काम नहीं करता है। मुझे लगता है कि मुझे एक बग खोलना होगा।
जेरेमी बिच

क्या आप सुनिश्चित हैं कि डीईटीपी / अक्षम ntp? क्या आप कुछ अन्य स्वचालित समय प्रबंधन सॉफ्टवेयर (यानी क्रोनी) स्थापित करते हैं?
क्ब्बी

यह VirtualBox में एक नया नेट्टी इंस्टॉल है और मैंने कुछ भी एनटीपी को शुद्ध किया है और किसी अन्य समय प्रबंधन सॉफ़्टवेयर को स्थापित नहीं किया है।
जेरेमी बिचा 21:11

2
वर्चुअलबॉक्स box आपके होस्ट से क्लाइंट तक पहुंचने का समय है। आपको यहां कुछ विकल्प बदलने होंगे। शायद virtualbox.org/manual/ch03.html#settings-motherboard मददगार है।
क्ब्बी

3

पैनल के समय और दिनांक अनुभाग पर क्लिक करें, फिर कैलेंडर दिखाई देगा और उसके नीचे समय और दिनांक सेटिंग्स क्लिक करें।

पैडलॉक आइकन पर क्लिक करें और अपना पासवर्ड दर्ज करें, फिर मैन्युअल रूप से सेट टाइम चुनें।


मैं आगे जा रहा हूं और इसे अधिकांश उपयोगकर्ताओं के लिए सर्वश्रेष्ठ उत्तर के रूप में चिह्नित कर रहा हूं। मेरी विशिष्ट समस्या VirtualBox के साथ थी।
जेरेमी बिच

1

सॉफ्टवेयर केंद्र में ntpdate को देखो और इसे हटा दें, या टर्मिनल में: sudo apt-get remove ntpdate

(आपको ntp को पूरी तरह से निष्क्रिय करने के लिए रिबूट करना पड़ सकता है)

फिर अपनी तिथि निर्धारित करें।


ठीक है, मैंने ntpdate को शुद्ध किया और रिबूट किया, लेकिन मैं अभी भी सिस्टम घड़ी सेट करने में असमर्थ हूं और यह छड़ी है।
जेरेमी बिच

0

में दिए गए ".ps1" (विंडोज पॉवरशेल स्क्रिप्ट) उदाहरण के आधार पर

https://superuser.com/questions/539880/using-virtual-box-is-it-possible-to-set-your-virtual-machine-time-to-be-differen

मैंने उस घड़ी के समय को बदलने के लिए एक नियमित ".bat" स्क्रिप्ट फ़ाइल लिखी है जिस पर VirtualBox की वर्चुअल मशीन शुरू होती है।

वांछित प्रारंभ समय युगांतर में "TEMPO_START_TIMESTAMP" चर पर निर्धारित किया गया है। आप " http://www.timestampconvert.com/ " पर अपना वांछित आरंभ काल समयावधि प्राप्त कर सकते हैं ।

वर्चुअलबॉक्स के वर्चुअल मशीन को शुरू करने के नाम की आवश्यकता चर "NOME" (उपरोक्त ".ps1" स्क्रिप्ट में उपयोग किए गए समान नामकरण) में है।

echo off
echo %time%

set NOME="Windows_7_x64"

set TEMPO_CS_2_MS=0
set TEMPO_S_2_MS=000

rem # Starts the VM always on the date 07/11/2014 - 11h58
rem http://www.timestampconvert.com/

set   TEMPO_START_TIMESTAMP=1415361480

for /f "delims=" %%x in ('cscript /nologo toEpoch.vbs') do set epoch=%%x
rem %epoch%

set TEMPO_CURRENT_TIMESTAMP=%epoch%
rem set TEMPO_CURRENT_TIMESTAMP=1544518714

set /A TEMPO_TEMP=(%TEMPO_START_TIMESTAMP%-%TEMPO_CURRENT_TIMESTAMP%)

call set TEMPO=%TEMPO_TEMP%%TEMPO_S_2_MS%
rem %TEMPO_TEMP%
rem %TEMPO%

c:\Progra~1\Oracle\VirtualBox\VBoxManage setextradata %NOME% "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1
c:\Progra~1\Oracle\VirtualBox\VBoxManage modifyvm %NOME% --biossystemtimeoffset %TEMPO%
c:\Progra~1\Oracle\VirtualBox\VBoxManage startvm %NOME%

आपको वर्तमान समय epoh प्रारूप में भी आवश्यकता होगी, इसके लिए निम्न स्क्रिप्ट का उपयोग करें ("toEpoch.vbs के रूप में सहेजें", इस दृश्य मूल स्क्रिप्ट को ".bat" स्क्रिप्ट से ऊपर कहा जाता है)।

WScript.Echo DateDiff("s", "01/01/1970 00:00:00", Now())

वर्चुअल मशीन चलाने के लिए, बस ऊपर ".bat" स्क्रिप्ट फ़ाइल निष्पादित करें। "Oracle VM VirtualBox प्रशासन" इंटरफ़ेस को खोलने की आवश्यकता नहीं है।

आशा है कि ये आपकी मदद करेगा।

सादर

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.