ฉันพยายามกำหนดเวลาของคอมพิวเตอร์ด้วยตนเองใน VirtualBox แต่จะรีเซ็ตตัวเองเป็นสิ่งที่เคยเป็นก่อนที่ฉันจะเปลี่ยน ฉันจะปิดการใช้งาน ntp และบอกให้ระบบทราบว่าฉันต้องการเวลาเท่าไร
ฉันพยายามกำหนดเวลาของคอมพิวเตอร์ด้วยตนเองใน VirtualBox แต่จะรีเซ็ตตัวเองเป็นสิ่งที่เคยเป็นก่อนที่ฉันจะเปลี่ยน ฉันจะปิดการใช้งาน ntp และบอกให้ระบบทราบว่าฉันต้องการเวลาเท่าไร
คำตอบ:
ฉันได้พบวิธีแก้ปัญหา อ่านเนื้อหาต่อไปนี้: ลิงค์
โดยทั่วไปถ้าคุณมีโฮสต์ Windows และแขก Ubuntu ให้ทำดังต่อไปนี้:
Ubuntu 12.04 32bit
C:\Program Files\Oracle
โฟลเดอร์และคลิกVirtualBox
เพื่อเลือกจากนั้นกดแป้น Shift ซ้ายทำเมาส์คลิกขวาที่ปุ่มและเลือกเมนู "เปิดหน้าต่างคำสั่งที่นี่" ล่ามจะต้องทำงานในขณะนี้วางคำสั่งต่อไปนี้ (เปลี่ยนชื่อ VM เป็นชื่อของคุณ!):
VBoxManage setextradata "Ubuntu 12.04 32bit"
"VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1
ในที่สุดเริ่มต้นแขก Ubuntu ของคุณและตั้งเวลาและวันที่ด้วยตนเอง
vboxadd-service
จำเป็นอาร์กิวเมนต์เพิ่มเติมเกี่ยวกับผู้เข้าพักส่วนใหญ่--disable-timesync
ดังที่ได้กล่าวไว้ในคำตอบอื่นหากคุณใช้งาน Ubuntu ในฐานะแขกภายใต้ VirtualBox คุณควรทราบว่าเวลาของระบบจะถูกซิงค์โดยอัตโนมัติโดยบุคคลทั่วไปเพิ่มเติม (เช่นไม่ใช่ตัวเลือกในการตั้งค่ามาเธอร์บอร์ด)
โซลูชันของคุณในกรณีนี้คือการปิดใช้งานการเพิ่มจากผู้เยี่ยมชมซึ่งสามารถทำได้โดยการดำเนินการ
sudo service vboxadd-service stop
หรือ
sudo /etc/init.d/vboxadd-service stop
จากนั้นคุณสามารถกำหนดเวลาได้ตามต้องการ (จากบรรทัดคำสั่งโดยใช้date --set
หรือใช้แอปเพล็ตการตั้งค่าระบบ)
บริการ VirtualBox จะถูกรีสตาร์ทในการรีบูตครั้งถัดไปหรือคุณสามารถทำได้ด้วยตนเอง
sudo service virtualbox-guest-utils stop
ในรุ่นของฉันอูบุนตูเป็นคำสั่ง ฉันเดาว่าจะเปลี่ยนชื่อแพ็คเกจหรือไม่
วิธีเดียวคือการตั้งเวลาในเมนบอร์ด Virtualbox โดยใช้บรรทัดคำสั่ง:
VBoxManage modifyvm <name> --biossystemtimeoffset <msec>
ตัวอย่างเช่นหากต้องการย้อนกลับวันที่ 1 ปี:
VBoxManage modifyvm <name> --biossystemtimeoffset -31536000000
ถ้าคุณต้องการตั้งวันที่โดยพลการอันดับแรกคุณควรปิดการใช้งานหรือยกเลิกการติดตั้ง 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มีการควบคุมรูปแบบบางมากขึ้น คุณสามารถใช้พวกเขาทั้งหมดเพื่อเปลี่ยนวันที่
คลิกที่ส่วนเวลาและวันที่ของพาเนลจากนั้นปฏิทินจะปรากฏและอยู่ใต้การตั้งค่าเวลาและวันที่ดังนั้นคลิกที่
คลิกที่ไอคอน Padlock และป้อนรหัสผ่านของคุณจากนั้นเลือก Set The Time เป็น Manual
ในศูนย์ซอฟต์แวร์ค้นหา ntpdate และนำออกหรือในเทอร์มินัล: sudo apt-get remove ntpdate
(คุณอาจต้องรีบูตเพื่อปิดการใช้งาน ntp อย่างสมบูรณ์)
จากนั้นตั้งค่าวันที่ของคุณ
อ้างอิงตามตัวอย่าง ".ps1" (สคริปต์ Windows PowerShell)
ฉันเขียนไฟล์สคริปต์ ".bat" ปกติเพื่อเปลี่ยนเวลานาฬิกาที่เครื่องเสมือนของ VirtualBox เริ่มทำงาน
เวลาเริ่มต้นที่ต้องการถูกกำหนดไว้ที่ตัวแปร "TEMPO_START_TIMESTAMP" ในรูปแบบยุค คุณสามารถรับเวลาเริ่มต้นที่เทียบเท่ากับ epoh ได้ที่ " http://www.timestampconvert.com/ "
ชื่อของเครื่องเสมือนของ VirtualBox ที่จะเริ่มต้นนั้นเป็นสิ่งจำเป็นในตัวแปร "NOME" (nomenchature เดียวกับที่ใช้ในสคริปต์ ".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 Administration"
ฉันหวังว่านี่จะช่วยได้.
ความนับถือ