VirtualBox에서 BIOS 일련 번호를 어떻게 변경합니까?


17

VirtualBox는 모든 VM 인스턴스의 BIOS 일련 번호를 0으로 설정합니다. 일부 BIOS 설정을 변경하는 것이 가능하지만 일련 번호를 직접 참조하는 항목은 보지 못했습니다.

누구든지 이것을 할 수있는 방법을 제안 할 수 있습니까?


1
당신이 이것을하고 싶은 특별한 이유가 있습니까?
Jared Harley

1
예. BIOS 일련 번호를 사용하여 컴퓨터를 고유하게 식별하는 PC 인벤토리 소프트웨어 도구가 있습니다. 실제 하드웨어 및 다른 공급 업체의 VM에는 적합하지만 여러 VirtualBox VM을 처리하는 방법을 모릅니다.
Roger

잡은 오류를 반영하여 내 답변을 편집했습니다.
Dwarf

이것에 대한 뉴스가 있습니까, 로저? 그것이 어떻게 나타 났는지 알고 싶습니다.
Dwarf

나는 그것을하는 방법을 결정하지 않았다. VirtualBox 포럼에서 몇 가지 답변을 받았지만 아무런 효과가 없었습니다. 답변을 살펴보면 여기에 업데이트를 추가해야합니다.
Roger

답변:


22

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

이에 대한 자세한 답변이 있습니다.

다음을 수행하여 BIOS 일련 번호를 설정할 수 있습니다.

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"

참고 : VM이 EFI 펌웨어를 사용하도록 구성된 경우 키에서 pcbios를 efi로 교체해야합니다.


3
이 지침은 BIOS를 사용하는 시스템을위한 것 입니다. 시스템이 사용하는 경우 EFI를 -에 의해 제어 "설정 -> 시스템 -> 메인 보드 -> EFI 사용"- 그럼 당신은 위의 명령에서 "EFI"와 "pcbios"를 교체해야합니다.
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 "Demo Server"VBoxInternal / Devices / pcbios / 0 / Config / DmiSerial "123"작동하는 것 같지만 VM을 시작할 때 이 오류 메시지가 나타납니다. 가상 머신 데모 서버를 시작하지 못했습니다. 장치 pcbios 장치 (VERR_PDM_DEVINS_UNKNOWN_CFG_VALUES)의 구성이 잘못되었습니다. VM 생성 중 알 수없는 오류 (VERR_PDM_DEVINS_UNKNOWN_CFG_VALUES). 기계 정의를 삭제하고 다시 작성하면 문제가 해결되지 않았습니다. 나는 당신이 정말로 가깝다고 생각합니다-다른 제안?
Roger

흠 ... 당신은 주석 상자에 명령을 그대로 복사 / 붙여 넣기 했습니까? / Config와 / DmiSerial 사이에는 공백이 없기 때문입니다. 어쨌든 나는 이것을 더 탐구 할 것이다. VirtualBox를 설치해야 할 것 같습니다. 지금까지 내 노트에만 의존하고있었습니다 :)
Dwarf

바! 이 머리 야 관련 코드 줄을 게시 한 다음 훨씬 오래된 노트와 비교해도 확인하지 않습니다. / DmiSerial이 아닙니다. 버전 1.5와 현재 사이에 이름이 바뀌 었습니다. 그것은 / 지금 DmiSystemSerial입니다
난장이

도와 주셔서 감사합니다. DmiSerial을 DmiSystemSerial로 바꾸려고 시도했지만 공백이없는 명령 줄을 다시 입력했는데 같은 오류가 발생했습니다.
Roger

내 지식으로는 이것이 아직 완전히 구현되지 않았 으며이 방법으로 수행 할 수 없다는 것을 의미 할 수 있습니다. 이 시점에서 나는 유용하지 않을까 두려워한다. 당신은 VirtualBox 포럼에 가서 거기에서 시도해야합니다. 그들은 훌륭한 사람들이며 더 많은 정보를 얻을 수 있습니다. 그러나 나는 당신이 너무 친절하고 그럴 때 자신의 질문에 대한 답변을 게시한다면 최종 결과를 알고 싶습니다. 모두 제일 좋다.
드워프

3

해당 명령을 실행하고 Roger가 참조한 오류가 발생하면 마지막 매개 변수 (VALUE)없이 명령을 실행하여 명령을 취소해야합니다.

오류가 발생한 항목을 제거합니다.

마지막 위반 명령이 무엇인지 확실하지 않은 경우 특정 VM의 VirtualMachines 폴더 루트에서 ~~~ .vbox (XML) 파일을 열고 EXTRADATA 섹션을 검토하십시오.

vboxmanage에 대한 명령 줄 호출을 실행하는 것이 가장 좋은 방법입니다. xml 파일을 편집해도 100 % 시간이 걸리지 않습니다.


2

수락 된 답변으로 일련 번호가 올바르게 업데이트되지 않았습니다. 대신 일련 번호를 성공적으로 업데이트하기 위해 다음 단계를 수행했습니다. 게스트 OS는 macOS이고 호스트는 windows였습니다.

참고 : 가상 상자를 저장하려면이 명령을 실행하기 전에 가상 상자를 닫아야합니다.

  1. 관리자 권한 으로 Windows 명령 프롬프트 엽니 다
  2. cd "C:\Program Files\Oracle\VirtualBox\"
  3. VBoxManage.exe setextradata "VM NAME" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" "SERIAL_HERE" 소스를 참조하십시오 . *
    pcbios 명령이 작동하지 않았다하지만 EFI했던 확실하지 왜.

도움이되는 링크

  • 유효한 일련 번호를 찾는 데 문제가 있으면 여기의 지침을 따르십시오 .
  • 확실하지 않은 경우 VM 이름이 실행되는 것을 VBoxManage.exe list vms.

1
"efi"가 필요하고 "pcbios"를 사용하여 응답을 수락 한 경우 (U) EFI를 사용하고 있고 해당 사용자가 기존 BIOS를 사용했기 때문일 수 있습니다. EFI 또는 BIOS 사용 여부는 VirtualBox의 "설정-> 시스템-> 마더 보드-> EFI 사용"확인란에 의해 결정됩니다.
ntc2

아 이해가 되네요! 감사합니다 @ ntc2
josh7weaver

1

20 바이트 16 진 문자열이 포함 된 일련 번호를 사용해보십시오.

VBoxManage setextradata "VM name" "VBoxInternal/Devices/ahci/0/Config/Port0/SerialNumber" "serial"

( 참조 )

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.