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
다른 답변에서 언급했듯이 VirtualBox에서 게스트로 Ubuntu를 실행하는 경우 게스트 추가에 의해 시스템 시간이 자동으로 동기화됩니다 (마더 보드 설정의 옵션이 아님).
이 경우 귀하의 솔루션은 게스트 추가 기능을 비활성화하는 것입니다.
sudo service vboxadd-service stop
또는
sudo /etc/init.d/vboxadd-service stop
그런 다음 date --set
시스템 설정 애플릿을 사용 하거나 사용하여 명령 행에서 원하는 시간을 설정할 수 있습니다.
다음에 다시 부팅하면 VirtualBox 서비스가 다시 시작되거나 수동으로 수행 할 수 있습니다.
sudo service virtualbox-guest-utils stop
입니다. 패키지 이름이 바뀌 었습니까?
임의의 날짜를 설정하려면 먼저 ntp를 비활성화하거나 제거해야합니다.
sudo update-rc.d -f ntp remove
그런 다음 date
-command를 사용하여 시스템 시간을 설정할 수 있습니다.
date -s "17 April 2011 12:34:56"
date --set="17 April 2011 12:34:56"
두 명령 모두 동일합니다. 사용할 수있는 시간 만 설정하려면 다음을 수행하십시오.
date +%T -s "12:34:56"
date
-manpage는 좀 더 형식 컨트롤이 있습니다. 모두 사용하여 날짜를 변경할 수 있습니다
패널의 시간 및 날짜 섹션을 클릭하면 달력이 나타나고 그 아래에 시간 및 날짜 설정이 있음을 클릭하십시오.
자물쇠 아이콘을 클릭하고 암호를 입력 한 다음 수동으로 시간 설정을 선택하십시오.
소프트웨어 센터에서 ntpdate를 찾아서 제거하거나 터미널에서 sudo apt-get remove ntpdate를 제거하십시오.
(ntp를 완전히 비활성화하려면 재부팅해야 할 수도 있습니다)
그런 다음 날짜를 설정하십시오.
".ps1"(Windows PowerShell 스크립트) 예제를 기반으로합니다.
VirtualBox 가상 머신이 시작되는 시간을 변경하기 위해 일반 ".bat"스크립트 파일을 작성했습니다.
원하는 시작 시간은 에포크 형식의 변수 "TEMPO_START_TIMESTAMP"에 설정되어 있습니다. " http://www.timestampconvert.com/ " 에서 원하는 시작 시간을 얻을 수 있습니다 .
시작될 VirtualBox의 가상 머신 이름은 변수 "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 관리"인터페이스를 열 필요가 없습니다.
이게 도움이 되길 바란다.
문안 인사