VirtualBox'da sistem saatini manuel olarak nasıl ayarlarım?


30

Bilgisayarın saatini VirtualBox'da manuel olarak ayarlamaya çalışıyorum, ancak değiştirmeden önce her zaman olduğu gibi kendini sıfırlıyor. NTP'yi devre dışı bırakıp, sisteme saatin kaç olmasını istediğimi nasıl söyleyebilirim?


Sorununuz hakkında daha ayrıntılı bilgi verebilir misiniz? Ne zaman olmasını ve ne zaman bilgisayarınızı kurmasını istiyorsunuz?
qbi

5
Bilgisayarımda keyfi bir yanlış zaman belirlemek istiyorum.
Jeremy Bicha

Yanıtlar:


30

Bir çözüm buldum. Aşağıdaki malzemeyi okuyun: link

Temel olarak Windows sunucunuz ve Ubuntu konuğunuz varsa, aşağıdakileri yapın:

  1. VM'nizin adını (Sanal Makine) bulun - VB'yi (VirtualBox) çalıştırın, VM'nizi seçin, ayarları açın, 'Genel' sekmesinde adı kontrol edin, örn. Ubuntu 12.04 32bit
  2. Windows'ta bir komut satırı yorumlayıcısı başlatın, C:\Program Files\Oracleklasöre gidin ve VirtualBoxseçmek için tıklayın , ardından sol kaydırma tuşunu basılı tutun, farenin sağ tuşu tıklayın ve "Burada komut penceresini aç" menüsünü seçin, yorumlayıcının şimdi çalışıyor olması gerekir
  3. Aşağıdaki komutu yapıştırın (VM adını isminizle değiştirin!):

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

  4. Sonunda Ubuntu konuğunuzu başlatın ve saati ve tarihi manuel olarak ayarlayın.


6
bu kesinlikle kabul edilen cevap olmalı! ubuntu sunucumda paylaşılan paylaşımlı bir klasöre sahip olduğum için konuk eklemelerini devre dışı bırakmak istemedim. 14 misafir
Jon B

Ne yazık ki, konuk sistemdeki saati "dondurmuyor". Bazı senaryolarda, tüm zamanları tamamen dondurmak istemenize rağmen (tekrarlanabilir yapılar yapmak gibi).
VasyaNovikov

Bu sadece bana çok zaman kazandırdı
elsadek

Eğer ana bilgisayar işletim sisteminiz Ubuntu ise, komut şu şekildedir: vboxmanage setextradata "your_VM_name_here" "VBoxInternal / Aygıtlar / VMMDev / 0 / Config / GetHostTimeDisabled" 1
Radu Maris

Bu soruya bakın, denediğimde çalıştı: stackoverflow.com/a/45724822/18149 Genel vboxadd-serviceolarak --disable-timesync
konuyla

23

Başka bir cevapta belirtildiği gibi, eğer VirtualBox altında bir Misafir olarak Ubuntu kullanıyorsanız, o zaman sistem saatinin Misafir Eklemeleri tarafından otomatik olarak senkronize tutulduğunu unutmamalısınız (yani, anakart ayarlarındaki bir seçenek aracılığıyla değil).

Bu durumda çözümünüz, yürüterek elde edilebilecek Konuk Eklemelerini devre dışı bırakmaktır.

sudo service vboxadd-service stop

veya

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

Daha sonra saati istediğiniz gibi ayarlayabilirsiniz ( date --setsistem ayarları uygulamasını kullanarak veya kullanarak komut satırından )

VirtualBox hizmeti bir sonraki açılışta yeniden başlatılacak, ya da el ile yapabilirsiniz.


3
Konu dışı, ancak Misafir Eklemeleri devre dışı bırakmak / kaldırmak, Windows saat işletim sistemlerinde de sistem saatini ayarlamanıza olanak tanır
speckledcarp

3
Benim Ubuntu versiyonumda emir buydu sudo service virtualbox-guest-utils stop. Sanırım paketin adı değiştirildi?
Crashthatch

@ Çözünürlüğünüzü çalıştıran tek çözümdür. Teşekkürler.
Bevor

11

Tek yol, Virtualbox ana kartındaki zamanı komut satırını kullanarak ayarlamaktır:

VBoxManage modifyvm <name> --biossystemtimeoffset <msec>

Örneğin, tarihi 1 yıl olarak ayarlamak için:

VBoxManage modifyvm <name> --biossystemtimeoffset -31536000000

4

Eğer keyfi tarihler belirlemek istiyorsanız, önce ntp'yi devre dışı bırakmalı veya kaldırmalısınız.

  • Devre dışı bırakmak için bir terminal açın ve sudo update-rc.d -f ntp remove
  • Kaldırmak için favori yazılım yönetim yazılımınızı kullanın

Bundan sonra datesistem saatinizi ayarlamak için-komutunu kullanabilirsiniz :

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

Her iki komut da eşdeğerdir. Yalnızca kullanabileceğiniz zamanı ayarlamak için:

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

date-Manpage biraz daha biçim kontrolleri vardır. Tarihi değiştirmek için hepsini kullanabilirsiniz.


Tamam, bunu yaptım ama sudo tarih -seri geri dönmeden önce sadece birkaç saniye tarih tutar. Bununla birlikte, çalışma tarihi tekrar normal olarak ayarladığım zamanı gösterir, ancak paneldeki zaman göstergesi görünmez ve tekrar çalıştırma sırasında saat panel saati ile eşleşecek şekilde değişti ..... gösterge-tarih saatini değiştir de çalışmaz. Sanırım bir böcek açmak zorunda kalacağım.
Jeremy Bicha

Kaldırılmış / devre dışı bırakılmış ntp olduğundan emin misiniz? Kurulu başka bir otomatik zaman yönetimi yazılımı (yani chrony) kullanıyor musunuz?
qbi

VirtualBox'a yeni bir Natty kurulumu ve ntp ile herhangi bir şeyi temizledim ve başka bir zaman yönetimi yazılımı yüklemedim.
Jeremy Bicha

2
Virtualbox, sunucunuzdan müşteriye geçen süreyi “aktarır”. Burada bazı seçenekleri değiştirmeniz gerekecek. Belki virtualbox.org/manual/ch03.html#settings-motherboard yardımcı olur.
qbi

3

Panelin saat ve tarih bölümüne tıklayın, ardından Takvim görünecek ve Saat ve Tarih Ayarlarının altında bulunacak, o yüzden tıklayın.

Asma kilit simgesine tıklayın ve şifrenizi girin, ardından Zamanı Manuel Olarak Ayarla'yı seçin.


Devam edip bunu çoğu kullanıcı için en iyi cevap olarak işaretleyeceğim. Özel sorunum VirtualBox ile oldu.
Jeremy Bicha

1

Yazılım Merkezinde ntpdate'i arayın ve kaldırın ya da terminalde: sudo apt-get remove ntpdate

(Ntp'yi tamamen devre dışı bırakmak için yeniden başlatmanız gerekebilir)

Ardından randevunuzu ayarlayın.


Tamam, ntpdate'i temizledim ve yeniden başlattım, ancak hala sistem saatini ayarlayamıyor ve yapışmasını sağlayamıyorum.
Jeremy Bicha

0

'De verilen ".ps1" (Windows PowerShell betiği) örneğine dayanarak

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

VirtualBox'ın sanal makinesinin başladığı saati değiştirmek için normal bir ".bat" komut dosyası yazdım.

İstenilen başlangıç ​​zamanı "TEMPO_START_TIMESTAMP" değişkeninde epoch formatında ayarlanmıştır. İstediğiniz başlangıç ​​zamanı epoh eşdeğerini " http://www.timestampconvert.com/ " adresinde bulabilirsiniz .

VirtualBox'un başlatılacak sanal makinesinin adı, "NOME" değişkeninde gereklidir (yukarıdaki ".ps1" betiğinde kullanılanla aynı adlandırma).

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%

Aynı zamanda şu anki zamana epoh formatında ihtiyacınız olacak, bunun için aşağıdaki betiği kullanın ("toEpoch.vbs" olarak kaydedin, bu görsel temel betiğe yukarıdaki ".bat" betiğinden denir):

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

Sanal makineyi çalıştırmak için yukarıdaki ".bat" komut dosyasını çalıştırın. "Oracle VM VirtualBox Administration" arayüzünü açmaya gerek yok.

Umarım bu yardımcı olur.

Saygılarımızla

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.