मैं VirtualBox में BIOS सीरियल नंबर कैसे बदल सकता हूं?


17

वर्चुअलबॉक्स हर वीएम उदाहरण के BIOS सीरियल नंबर को 0. पर सेट करता है। ऐसा लगता है कि कुछ BIOS सेटिंग्स को बदलना संभव है, लेकिन मैंने ऐसा कुछ भी नहीं देखा है जो सीधे सीरियल नंबर का संदर्भ देता है।

क्या कोई ऐसा करने का तरीका सुझा सकता है?


1
कोई विशेष कारण जो आप ऐसा करना चाहते हैं?
जेरेड हार्ले

1
हाँ। मेरे पास एक पीसी इन्वेंट्री सॉफ्टवेयर टूल है जो कंप्यूटर की विशिष्ट पहचान करने के लिए BIOS सीरियल नंबर का उपयोग करता है। यह भौतिक हार्डवेयर के लिए और अन्य विक्रेताओं से VMs के लिए ठीक काम करता है, लेकिन यह नहीं जानता कि कई VirtualBox VMs को कैसे संभालना है।
रोजर

आपके द्वारा पकड़ी गई त्रुटि को दर्शाने के लिए मेरे उत्तर को संपादित करें।
एक बौना

आपको इस पर कोई खबर है, रोजर? यह जानना पसंद करेंगे कि यह कैसे निकला।
एक बौना

मैंने कभी यह निर्धारित नहीं किया कि यह कैसे करना है। मुझे VirtualBox मंचों पर कुछ प्रतिक्रियाएं मिलीं, लेकिन कुछ भी नहीं मिला जो काम किया। यदि मैं उत्तर भर में दौड़ता हूं, तो मैं यहां एक अपडेट जोड़ना सुनिश्चित करूंगा।
रोजर

जवाबों:


22

http://www.virtualbox.org/manual/ch09.html#changedmi

वास्तव में इसके लिए विस्तृत उत्तर है।

आप ऐसा करके बायोस सीरियल नंबर सेट कर सकते हैं:

VBoxManage setextradata "VM name" 
"VBoxInternal/Devices/pcbios/0/Config/DmiSystemSerial" "System Serial"

धारावाहिक में स्ट्रिंग मान के रूप में सेट नहीं होने के कारण आपको जो त्रुटि हो रही है, यदि आपके पास एक शुद्ध संख्या है, तो आपको इसे इस string:तरह से प्रस्तुत करना चाहिए :

VBoxManage setextradata "VM name" 
"VBoxInternal/Devices/pcbios/0/Config/DmiSystemSerial" "string:1234"

नोट: यदि आपका वीएम ईएफआई फर्मवेयर का उपयोग करने के लिए कॉन्फ़िगर किया गया है, तो आपको चाबियों में एफएफआई द्वारा पीसीबीबी को बदलने की आवश्यकता है।


3
ध्यान दें कि ये निर्देश BIOS का उपयोग करने वाले सिस्टम के लिए हैं । यदि आपका सिस्टम "सेटिंग्स -> सिस्टम -> मदरबोर्ड -> सक्षम ईएफआई" द्वारा नियंत्रित ईएफआई का उपयोग करता है - तो आपको उपरोक्त कमांड में "एफबीआई" के साथ "पीसीबीओआईएस" को बदलने की आवश्यकता है।
ntc2

8

किसी बाहरी सेटिंग से नहीं। लेकिन आप कोड से कर सकते हैं और फिर इसे स्वयं बना सकते हैं:

स्रोत फ़ाइल: DevPcBios.cpp
लाइन: 1014READCFGSTR("DmiSystemSerial", pszDmiSystemSerial, "0");

आपको जो भी मूल्य की आवश्यकता है, उसे "0" बदलें।


संपादित करें: आप जाहिरा तौर पर VBoxManage setextradata का उपयोग कर सकते हैं । मैंने इसे अन्य प्रकार के कॉन्फ़िगरेशन (बायोस संबंधित नहीं) के लिए अतीत में उपयोग किया है और इस विशेष सेटिंग का परीक्षण नहीं किया है। इसकी कोशिश करें:

VBoxManage setextradata *YourVMName* VBoxInternal/Devices/pcbios/0/Config/DmiSystemSerial "*yourserial*"

अन्यथा ... स्रोत कोड संपादन और भवन पर वापस जाएं।

शुभकामनाएँ।


1
हम्म। धन्यवाद - इतना करीब, लेकिन अभी तक वहाँ नहीं। मैंने यह कोशिश की: "c: \ Program Files \ Sun \ VirtualBox \ VBoxManage.exe" setextradata "डेमो सर्वर" VBoxInternal / Devices / pcbios / 0 / config / DmiSerial "123" यह काम करने लगा, लेकिन जब मैंने VM लॉन्च किया यह त्रुटि संदेश मिला: वर्चुअल मशीन डेमो सर्वर शुरू करने में विफल। उपकरण पीसीबी डिवाइस के लिए अमान्य कॉन्फ़िगरेशन (VERR_PDM_DEVINS_UNKNOWN_CFG_VALUES)। VM (VERR_PDM_DEVINS_UNKNOWN_CFG_VALUES) बनाने में अज्ञात त्रुटि। मशीन की परिभाषा को हटाना और फिर से तैयार करना इसे ठीक करता है, इसलिए कोई नुकसान नहीं हुआ। मुझे लगता है कि आप वास्तव में करीब हैं - कोई अन्य सुझाव?
रोजर

हम्म ... क्या आपने अपने कमांड की एक वर्बिटिम कॉपी / पेस्ट कमेंट बॉक्स में किया था? क्योंकि / कॉन्फ़िग और / DmiSerial के बीच कोई स्पैव नहीं है। बावजूद इसके मैं इसे आगे बढ़ाऊंगा। लगता है कि मुझे VirtualBox स्थापित करना होगा। अब तक केवल मेरे नोट्स पर निर्भर था :)
ए बौना

बाह! यह मेरा सिर। मैं संबंधित कोड लाइन पोस्ट करता हूं और फिर इसे मेरे पुराने नोटों के खिलाफ भी नहीं देखता। यह / DmiSerial नहीं है। संस्करण 1.5 और अब के बीच इसका नाम बदल दिया गया है। यह अब है / DmiSystemSerial
A Dwarf

धन्यवाद, एक बौना, आपकी सभी मदद के लिए। मैंने DmiSerial को DmiSystemSerial के साथ बदलने का प्रयास किया, कमांड लाइन (अंतरिक्ष के बिना, जो एक टाइपो था) को फिर से चलाया, और वही त्रुटि मिली।
रोजर

मेरे ज्ञान के लिए इसका मतलब केवल यह हो सकता है कि यह पूरी तरह से अभी तक लागू नहीं हुआ है और आप इसे इस तरह से नहीं कर सकते। इस बिंदु पर मुझे डर है कि मैं उपयोगी नहीं रहूंगा। आपको वर्चुअलबॉक्स मंचों पर जाना चाहिए और वहां से प्रयास करना चाहिए। वे उत्कृष्ट लोग हैं और आपको अधिक सूचित जवाब मिलेगा। मैं अंत में परिणाम जानना चाहूंगा, यदि आप इतने दयालु होंगे और ऐसा होने पर अपने स्वयं के प्रश्न का उत्तर पोस्ट करेंगे। शुभकामनाएं।
एक बौना

3

यदि आप उस कमांड को चलाते हैं, और रोजर द्वारा संदर्भित त्रुटि प्राप्त करते हैं, तो आपको अंतिम पैरामीटर (VALUE) के बिना कमांड चलाकर कमांड को वापस करने की आवश्यकता है।

यह त्रुटि के कारण प्रविष्टि को निकालता है।

यदि आप इस बारे में अनिश्चित हैं कि अंतिम आक्रामक कमांड क्या था, तो विशिष्ट वीएम के वर्चुअलाइमैकिन्स फ़ोल्डर की जड़ में ~~~ .vbox (XML) फ़ाइल खोलें और EXTRADATA अनुभाग की समीक्षा करें।

कमांड-लाइन कॉल को vboxmanage पर चलाना इनको संशोधित करने का सबसे अच्छा तरीका है। Xml फ़ाइल को संपादित करने से 100% समय नहीं टिकता है।


2

स्वीकार किए गए उत्तर ने मेरे लिए क्रम संख्या को सही ढंग से अपडेट नहीं किया; इसके बजाय, मैंने सीरियल नंबर को सफलतापूर्वक अपडेट करने के लिए इन चरणों का पालन किया। ध्यान दें अतिथि OS macOS था और होस्ट विंडोज़ था।

नोट: इसे सहेजने के लिए इस आदेश को चलाने से पहले आपको वर्चुअलबॉक्स बंद करना होगा।

  1. व्यवस्थापक के रूप में विंडोज़ कमांड प्रॉम्प्ट खोलें
  2. cd "C:\Program Files\Oracle\VirtualBox\"
  3. VBoxManage.exe setextradata "VM NAME" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" "SERIAL_HERE" स्रोत देखें । *
    यकीन नहीं होता कि पीसीबीबी कमांड ने काम क्यों नहीं किया, लेकिन एफी ने किया।

सहायक लिंक्स


1
आपको "efi" की आवश्यकता है और "pcbios" का उपयोग करके उत्तर स्वीकार किया है, यह संभवतः इसलिए है क्योंकि आप (U) EFI का उपयोग कर रहे हैं और वह व्यक्ति पारंपरिक BIOS का उपयोग कर रहा था। चाहे आप EFI या BIOS का उपयोग कर रहे हों, वर्चुअल बॉक्स में "सेटिंग्स -> सिस्टम -> मदरबोर्ड -> सक्षम EFI" चेक बॉक्स द्वारा निर्धारित किया जाता है।
ntc2

आह समझ में आता है! धन्यवाद @ ntc2
josh7weaver

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.