ভার্চুয়ালবক্স ভিএম সর্বদা একই সময় থেকে শুরু করা কি সম্ভব, যদি হয় কীভাবে?


9

আমি প্রশিক্ষণ কোর্সে ব্যবহারের জন্য একটি উইন্ডোজ 7 ভিএম সেটআপ করতে ভিবি ব্যবহার করার চেষ্টা করছি। আমি চাই ভার্চুয়াল মেশিনটি সর্বদা একই শর্ত থেকে শুরু হয়, বিশেষত:

  1. ভিএম সর্বদা একই তারিখ এবং সময়ে শুরু হয়
  2. পূর্ববর্তী অনুশীলনের ফলে ডিস্কটি অপরিবর্তিত রয়েছে

আমি কীভাবে একটি ডিস্ককে "অপরিবর্তনীয়" হিসাবে কনফিগার করতে পারি যা (2) যত্ন নেওয়া উচিত তবে আমি একই সাথে ভিএম শুরু করতে পারি না। আশেপাশের কিছু দেখার পরে আমি এটি দেখতে পেলাম:

একবার ইনস্টল এবং শুরু হয়ে গেলে ভার্চুয়ালবক্স অতিথি সংযোজনগুলি অতিথির সময়টিকে হোস্ট সময়ের সাথে সংলাপ করার চেষ্টা করবে। অতিথি পরিষেবাটিকে হোস্ট ক্লকটি পড়তে নিষেধ করে এটি প্রতিরোধ করা যেতে পারে:

VBoxManage setextradata "VM নাম" "VBoxIntern / ডিভাইস / ভিএমএমদেভ / 0 / কনফিগার / getHostTimeDis अक्षम" 1

আমি ভিএম বন্ধ করে দিয়ে এটি চেষ্টা করেছি এবং এটি শুরু হয়ে গেছে, তবে এটি কিছুই করার জন্য মনে হচ্ছে না। উপর একই ডকুমেন্টেশন পৃষ্ঠাটিতে এছাড়াও আছে একটি প্যারামিটার উল্লেখ "--timesync-সেট শুরু" তবে আমি তারিখ এবং সময় সেট করার জন্য বিন্যাস কোন উল্লেখ দেখতে না পারে। সাহায্য স্বাগত হবে।


"এটি কিছু করতে পারে না" বলে আপনার অর্থ কী "সিস্টেমের সময় ও তারিখটি হোস্টের সাথে যেভাবেই সংহত হয়ে যায়"?
সোপালাজো ডি অ্যারিরিজ

উইন্ডোজ বুটের (সময় কয়েক সেকেন্ড পরে, মানে) সময় ও তারিখ নির্ধারণ করা কি আপনার পক্ষে সমাধান হওয়া উচিত? একটি সহজ। সিএমডি স্ক্রিপ্ট এটি করা উচিত, আমি মনে করি।
সোপালাজো ডি অ্যারিরিজ

উইন্ডোজ নিজেই একটি ইন্টারনেট টাইম সার্ভারের সাথে সময় সিঙ্ক্রোনাইজ করার জন্য কনফিগার করা যেতে পারে।
থরবজর্ন রাভন অ্যান্ডারসন

উত্তর:


16

অতিথির সময়টি যা ছিল তা রাখার জন্য আপনাকে নিম্নলিখিত ক্রিয়াগুলি সম্পাদন করতে হবে:

1. আপনার ভার্চুয়াল মেশিনের টাইম সিঙ্কটি অক্ষম করুন:

1.1 অতিথি টাইমসিস্কে হোস্টকে অক্ষম করুন

VBoxManage setextradata <YOUR_VM_NAME> "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1

VBoxManage setextradata <YOUR_VM_NAME> "VBoxInternal/TM/TSCTiedToExecution" 1

ফিরে যেতে:

VBoxManage setextradata <YOUR_VM_NAME> "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 0

1.2 গেস্টএডিশন টাইমসিস্ক অক্ষম করুন

রেজিস্ট্রিটি পরিবর্তন করতে regedit.exe ব্যবহার করুন।

এই শাখাটি সন্ধান করুন: HKEY_LOCAL_MACHINE Y সিস্টেম \ বর্তমানকন্ট্রোলসেট \ পরিষেবাদিগুলি \ ভিবক্সসোসরাইজ

ImagePathথেকে মান পরিবর্তন করুন

system32\VBoxService.exe

প্রতি

system32\VBoxService.exe --disable-timesync

আপনার ভিএম পুনরায় চালু করুন বা "ভার্চুয়ালবক্স অতিথি সংস্থান পরিষেবা" পরিষেবাটি পুনরায় চালু করুন।

2. উইন্ডোজ সময় সিঙ্ক অক্ষম করুন।

সময়ের সেটিংস পরীক্ষা করুন। ইন্টারনেট টাইম সিঙ্ক অক্ষম করুন।

সূত্র: http://www.ppq.ch/snippets/15-vobxtime


ধন্যবাদ। আপনার "1.2 ডিস্টেবল গেস্টএডিশন টাইমসিসঙ্ক" হ'ল একমাত্র বিকল্প যা আমার পক্ষে কাজ করে বলে মনে হয়েছিল। হোস্টের পরিবর্তনগুলি ভার্চুয়ালবক্স দ্বারা ফিরিয়ে দেওয়া হতে থাকে। আমি ভিএম শুরু করার পরে ফাইলটি একবার দেখে নেব এবং এক্সট্রাডাটা এক্সএমএল এন্ট্রিগুলি সরিয়ে ফেলা হবে।
গ্রেমেটার

5

নিম্নলিখিত পদক্ষেপগুলি কার্যকর হবে, যদি হোস্ট মেশিনটি উইন্ডোজ / লিনাক্স হয়।

  1. যদি "টার্গেট মেশিন" উইন্ডোজ হয়: "টার্গেট ভার্চুয়াল মেশিন" খুলুন এবং "কন্ট্রোল প্যানেল -> তারিখ এবং সময় -> ইন্টারনেট সময় -> সেটিংস পরিবর্তন করুন -> অক্ষম করুন" একটি ইন্টারনেট টাইম সার্ভারের সাথে সিঙ্ক্রোনাইজ করুন ""।

  2. হোস্ট মেশিনে "yourfilename.ps1" (উইন্ডোজ) / "yourfilename.sh" (লিনাক্স) ফাইল হিসাবে লাইনগুলি অনুলিপি করুন। পদক্ষেপ 3 বর্ণিত এই ফাইলটি সম্পাদনা করুন। 4. 5।


হোস্ট: উইন্ডোস

$vbox_path="C:\Program Files\ORACLE\VirtualBox"
$vm_name="Win7_VB"
$start_utc=1444176000

#DO NOT CHANGE ANYTHING BELOW THIS LINE
$now_utc_ms=[int64](([datetime]::UtcNow)-(get-date "1/1/1970")).TotalMilliseconds
$dif_utc_ms=$start_utc * 1000 - $now_utc_ms
Write-Host "START UTC:" $start_utc*1000 " DIF UTC:" $dif_utc_ms " NEW UTC:" $now_utc_ms

cd $vbox_path
VBoxManage setextradata $vm_name "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" "0"
VBoxManage setextradata $vm_name "VBoxInternal/TM/TSCTiedToExecution" 1
VBoxManage modifyvm     $vm_name --biossystemtimeoffset $dif_utc_ms
VBoxManage startvm      $vm_name
Start-Sleep -s 5

হোস্ট: লিনাক্স

#!/bin/sh
vbox_path="/usr/bin/"
vm_name="Win7_VB"
start_utc=1444176000

#DO NOT CHANGE ANYTHING BELOW THIS LINE
now_utc_ms=$(($(date +%s)*1000))
dif_utc_ms=$(($(($start_utc * 1000)) - $now_utc_ms))
echo "START UTC:" $(($start_utc * 1000)) " DIF UTC:" $dif_utc_ms "NOW UTC:" $now_utc_ms

cd $vbox_path
VBoxManage setextradata $vm_name "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" "0"
VBoxManage setextradata $vm_name "VBoxInternal/TM/TSCTiedToExecution" 1
VBoxManage modifyvm     $vm_name --biossystemtimeoffset $dif_utc_ms
VBoxManage startvm      $vm_name
sleep 5
  1. ভার্চুয়ালবক্স ইনস্টলেশন পথের সাথে "vbox_path" আপডেট করুন। (হোস্ট: উইন্ডোজ)
  2. ভার্চুয়ালবক্স চিত্রের নামের সাথে "vm_name" আপডেট করুন যা শুরু হবে।
  3. Http://www.epochconverter.com/ এর সাহায্যে "start_utc" আপডেট করুন । টার্গেট মেশিনটি সর্বদা "স্টার্ট_টাক" সময় দিয়ে শুরু হবে। যুগের রূপান্তরকারী
  4. প্রশাসক হিসাবে স্টার্ট মেনু থেকে "উইন্ডোজ পাওয়ারশেল" খুলুন । (হোস্ট: উইন্ডোজ)
  5. নিম্নলিখিত আদেশ এবং উত্তর প্রশ্নের উত্তর [Y] হিসাবে চালান Run (হোস্ট: উইন্ডোজ)

    Set-ExecutionPolicy RemoteSigned
    
  6. "Yourfilename.ps1" এ ডান ক্লিক দিয়ে চালান এবং টার্গেট মেশিন শুরু করতে "পাওয়ার উইথ উইথ রান" নির্বাচন করুন। (হোস্ট: উইন্ডোজ)

  7. টার্গেট মেশিন শুরু করতে নীচে একটি লিনাক্স টার্মিনাল এক্সিকিউট কমান্ড শুরু করুন (হোস্ট: লিনাক্স)

    chmod +x yourfilename.sh && sh yourfilename.sh
    

দ্রষ্টব্য: লক্ষ্যযুক্ত ভার্চুয়াল মেশিন চালানোর জন্য সর্বদা পদক্ষেপ 8 (হোস্ট: উইন্ডোজ) / পদক্ষেপ 9 (হোস্ট: লিনাক্স) ব্যবহার করুন।


লিনাক্স হোস্ট রয়েছে এমন ব্যবহারকারীদের জন্য, আমি এই উত্তরটির উপর ভিত্তি করে একটি বাশ স্ক্রিপ্ট তৈরি করেছি যা আপনি এখানে পেতে পারেন: gist.github.com/breautek/be83414034b973d53691645d6e178bb4 একে একে startvm.sh হিসাবে সংরক্ষণ করুন chmod +x startvm.shএবং ./startvm.shএটি চালানোর জন্য ব্যবহার করুন । সম্ভবত ম্যাক হোস্টেও কাজ করবে, তবে আমি এটি পরীক্ষা করিনি।
নর্মন ব্রেউ

1

ওপির (মার্টিনকে) মূল প্রশ্নের উত্তর দেওয়ার জন্য: ভার্চুয়ালবক্স ভিএম সর্বদা একই সময় থেকে শুরু করা সম্ভব, যদি হয় তবে কীভাবে?

এটা সহজভাবে সম্ভব

(ক) কমান্ড লাইনে VBoxManage কমান্ড ব্যবহার করে (অফলাইন মোডে, অর্থাৎ ভিএম শুরু করার আগে ) "গেটহোস্টটাইমডিজিয়েবল" বৈশিষ্ট্য = 1 নির্ধারণ করুন

(খ) আগে নেওয়া সংরক্ষিত স্ন্যাপশট থেকে একটি ভিএম শুরু করুন। (কাঙ্ক্ষিত শুরু সময়ে)

প্রতিটি কমান্ডের প্রয়োজন নেই, প্রতিটি সময় এটি কাজ করে। (উইন্ডোজ হোস্টে উইন্ডোজ গেস্টের জন্য পরীক্ষিত)

এই উত্তরটি অলিভার সালজবার্গের পূর্ববর্তী উত্তরের নিকটে, তিনি "গেটহোস্টটাইমডিজিয়েবল" পরামিতি মিস করেছেন ব্যতীত answer অফকোর্স ইন্টারনেট টাইম সিঙ্ক (এনটিপি) অক্ষম করা উচিত, সংরক্ষিত স্ন্যাপশটে।


0

স্ন্যাপশট ব্যবহার করুন।

  1. একটি নতুন স্ন্যাপশট তৈরি করতে, শুধুমাত্র ব্যবহার নিন স্ন্যাপশট বোতামে স্ন্যাপশট ওভারভিউ:

    এখানে চিত্র বর্ণনা লিখুন

  2. স্ন্যাপশটের নাম দিন এবং এটি সংরক্ষণ করুন।

  3. যখন আপনি পরে স্থির স্থিতি বুট করতে চান, তখন পুনরুদ্ধার স্ন্যাপশট বোতামটি দিয়ে আপনার আগের স্ন্যাপশটে ফিরে যান :

    এখানে চিত্র বর্ণনা লিখুন

আপনি যদি নিশ্চিত হন যে আপনার স্ন্যাপশটের সর্বদা একই তারিখ রয়েছে তবে আপনি সম্ভবত উইন্ডোতে ইন্টারনেট টাইম সিঙ্ক্রোনাইজেশনটি অক্ষম করতে চান উইন্ডোটিতে কনফিগারেশন ডায়ালগটিতে একটি ইন্টারনেট টাইম সার্ভার চেকবক্সের সাথে সিঙ্ক্রোনাইজটি আনচেক করে।


এটি একটি দুর্দান্ত সমাধান এবং আমার জন্য সমস্যাটি সমাধান করে। তখন মনে হচ্ছে আমি যদি স্ন্যাপশট ব্যবহার করি তবে ডিস্কটিকে "অপরিবর্তনীয়" তৈরি করার বিষয়ে আমার মাথা ঘামানোর দরকার নেই - আমি কি ঠিক আছি? এছাড়াও, যদিও আমার সমস্যাটি সমাধান করার জন্য আমার এটির প্রয়োজন নেই, আমি আমার আগের পোস্টে উল্লিখিত VBoxManage কমান্ডগুলির উদ্দেশ্য সম্পর্কে জানতে আগ্রহী (এবং কীভাবে তাদের কাজ করতে হবে)
মার্টিন কে

দয়া করে এই কমান্ডটি সম্পর্কে ডকুমেন্টেশন দেখুন: ভার্চুয়ালবক্স.আর / ম্যানুয়াল / ch09.html#disabletimesync একটি অপরিবর্তনীয় ডিস্কের কী লাভ হবে বা এই প্রসঙ্গে আসলে এর অর্থ কী তা আমি দেখতে পাচ্ছি না।
ডের হচস্টাপলার

আমার মূল পোস্ট অনুসারে, আপনি যে নথিপত্রগুলি উল্লেখ করেছেন তা আমি ইতিমধ্যে দেখেছি এবং এটিকে কাজে লাগানোর চেষ্টা করেছি - তবে এটি কিছুই করেনি। আমি অবশ্যই কিছু মিস করছি - তবে কী?
মার্টিন কে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.