Bagaimana cara mengatur waktu sistem secara manual di VirtualBox?

30

Saya mencoba untuk secara manual mengatur waktu komputer di VirtualBox tetapi selalu mengatur ulang sendiri ke apa sebelum saya mengubahnya. Bagaimana saya bisa menonaktifkan ntp dan memberi tahu sistem jam berapa saya inginkan?

Jeremy Bicha
sumber
Bisakah Anda memberikan lebih banyak detail tentang masalah Anda? Apa yang Anda inginkan dan jam berapa yang mengatur komputer Anda?
qbi
5
Saya ingin menetapkan waktu salah yang sewenang-wenang di komputer saya.
Jeremy Bicha

Jawaban:

30

Saya telah menemukan solusinya. Baca materi berikut: tautan

Pada dasarnya jika Anda memiliki host Windows dan tamu Ubuntu, lakukan hal berikut:

  1. Temukan nama VM Anda (Mesin Virtual) - jalankan VB (VirtualBox), pilih VM Anda, buka pengaturan, di tab 'Umum' periksa nama, misalnya dalam kasus saya Ubuntu 12.04 32bit
  2. Di Windows, mulai juru bahasa baris perintah, buka C:\Program Files\Oraclefolder dan klik VirtualBoxuntuk memilih, lalu tahan tombol shift kiri, lakukan klik tombol kanan mouse dan pilih menu "Buka jendela perintah di sini", penerjemah harus sudah berjalan sekarang
  3. Rekatkan perintah berikut (ubah nama VM ke nama Anda!):

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

  4. Terakhir, mulai tamu Ubuntu Anda dan atur waktu dan tanggal secara manual.

Vladimir S.
sumber
6
ini pastilah jawaban yang diterima! saya tidak ingin menonaktifkan penambahan tamu karena saya memiliki folder bersama yang dipasang di server ubuntu saya 14 tamu
Jon B
Sayangnya, itu tidak "membekukan" waktu pada sistem tamu. Dalam beberapa skenario meskipun Anda ingin benar-benar membeku sepanjang waktu (seperti untuk melakukan build yang dapat direproduksi).
VasyaNovikov
ini hanya menghemat banyak waktu
elsadek
Jika OS host Anda adalah Ubuntu, perintahnya adalah: vboxmanage setextradata "your_VM_name_here" "VBoxInternal / Devices / VMMDev / 0 / Config / GetHostTimeDisabled" 1
Radu Maris
Lihat pertanyaan ini, itu bekerja ketika saya mencoba: stackoverflow.com/a/45724822/18149 The vboxadd-servicediperlukan argumen tambahan pada tamu, terutama--disable-timesync
leeand00
23

Seperti disebutkan dalam jawaban lain, jika Anda menjalankan Ubuntu sebagai Guest di bawah VirtualBox maka Anda harus menyadari bahwa waktu sistem secara otomatis tetap disinkronkan oleh Penambahan Tamu (yaitu, tidak melalui opsi dalam pengaturan motherboard).

Solusi Anda dalam hal ini adalah menonaktifkan Penambahan Tamu, yang dapat dicapai dengan mengeksekusi

sudo service vboxadd-service stop

atau

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

Anda kemudian dapat mengatur waktu sesuai keinginan (dari baris perintah menggunakan date --setatau menggunakan applet pengaturan sistem)

Layanan VirtualBox akan dimulai kembali pada reboot berikutnya, atau Anda dapat melakukannya secara manual.

dregad
sumber
3
Di luar topik, tetapi menonaktifkan / mencopot Penambahan Tamu memungkinkan Anda untuk mengatur jam sistem pada OS tamu Windows juga
speckledcarp
3
Dalam versi Ubuntu saya, perintahnya adalah sudo service virtualbox-guest-utils stop. Saya kira paket itu diganti namanya?
Crashthatch
@Crashthatch solusi Anda adalah satu-satunya yang berfungsi. Terima kasih.
Bevor
11

Satu-satunya cara adalah mengatur waktu di motherboard Virtualbox menggunakan baris perintah:

VBoxManage modifyvm <name> --biossystemtimeoffset <msec>

Misalnya, untuk mengatur kembali tanggal 1 tahun:

VBoxManage modifyvm <name> --biossystemtimeoffset -31536000000
Trek1701
sumber
4

Nah, jika Anda ingin mengatur tanggal sewenang-wenang, pertama-tama Anda harus menonaktifkan atau menghapus instalan ntp.

  • Untuk menonaktifkannya, buka terminal dan jalankan sudo update-rc.d -f ntp remove
  • Untuk menghapusnya, gunakan perangkat lunak manajemen perangkat lunak favorit Anda

Setelah itu Anda dapat menggunakan dateperintah-untuk mengatur waktu sistem Anda:

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

Kedua perintah itu setara. Untuk hanya mengatur waktu yang dapat Anda gunakan:

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

The date-manpage memiliki beberapa format yang lebih kontrol. Anda dapat menggunakan semuanya untuk mengubah tanggal

qbi
sumber
Ok, saya sudah melakukan itu tetapi sudo date -s hanya menahan tanggal selama beberapa detik sebelum kembali. Maksud saya, tanggal berjalan lagi menunjukkan waktu yang saya atur bekerja secara normal tetapi indikator waktu di panel tidak, dan ketika saya menjalankan tanggal lagi, waktu telah beralih untuk mencocokkan jam panel ..... Dan mencoba untuk mengubah jam indikator-datetime tidak bekerja baik. Saya pikir saya harus membuka bug.
Jeremy Bicha
Apakah Anda yakin itu diinstal / dinonaktifkan ntp? Apakah Anda menginstal perangkat lunak manajemen waktu otomatis lainnya (yaitu kroni)?
qbi
Ini adalah instalasi baru Natty di VirtualBox dan saya membersihkan apa saja ntp dan tidak menginstal perangkat lunak manajemen waktu lainnya.
Jeremy Bicha
2
Virtualbox "mentransfer" waktu dari host Anda ke klien. Anda harus mengubah beberapa opsi di sini. Mungkin virtualbox.org/manual/ch03.html#settings-motherboard sangat membantu.
qbi
3

Klik pada bagian waktu & tanggal pada panel, maka Kalender akan muncul dan di bawahnya Pengaturan Waktu & Tanggal ada jadi klik itu.

Klik ikon Gembok dan masukkan kata sandi Anda, lalu pilih Setel Waktu untuk secara manual.

scouser73
sumber
Saya akan melanjutkan dan menandainya sebagai jawaban terbaik bagi sebagian besar pengguna. Masalah khusus saya adalah dengan VirtualBox.
Jeremy Bicha
1

Di Pusat Perangkat Lunak, cari ntpdate dan hapus, atau di terminal: sudo apt-get remove ntpdate

(Anda mungkin harus reboot untuk menonaktifkan ntp sepenuhnya)

Kemudian atur tanggal Anda.

NateW
sumber
Ok, saya membersihkan ntpdate dan reboot tetapi saya masih tidak dapat mengatur jam sistem dan membuatnya tetap.
Jeremy Bicha
0

Berdasarkan contoh ".ps1" (skrip Windows PowerShell) yang diberikan di

https://superuser.com/questions/539880/using-virtual-box-is-it-pemungkinan-untuk-set-anda-virtual-machine-waktu-to-be-differen

Saya telah menulis file skrip ".bat" biasa untuk mengubah waktu jam di mana mesin virtual VirtualBox dimulai.

Waktu mulai yang diinginkan ditetapkan pada variabel "TEMPO_START_TIMESTAMP" dalam format zaman. Anda bisa mendapatkan setara waktu mulai epoh yang Anda inginkan di " http://www.timestampconvert.com/ ".

Nama mesin virtual VirtualBox yang akan dimulai diperlukan dalam variabel "NOME" (nomenchature yang sama yang digunakan dalam skrip ".ps1" di atas).

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%

Anda juga akan memerlukan waktu saat ini dalam format epoh, untuk ini gunakan skrip berikut (simpan sebagai "toEpoch.vbs", skrip visual basic ini dipanggil dari skrip ".bat" di atas):

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

Untuk menjalankan mesin virtual, cukup jalankan file skrip ".bat" di atas. Tidak perlu membuka antarmuka "Oracle VM VirtualBox Administration".

Saya harap ini membantu.

Salam

Txane
sumber