VirtualBox встановлює серійний номер BIOS кожного екземпляра VM на 0. Схоже, можна змінити деякі параметри BIOS, але я не бачив нічого, що безпосередньо посилається на серійний номер.
Хтось може запропонувати спосіб це зробити?
VirtualBox встановлює серійний номер BIOS кожного екземпляра VM на 0. Схоже, можна змінити деякі параметри BIOS, але я не бачив нічого, що безпосередньо посилається на серійний номер.
Хтось може запропонувати спосіб це зробити?
Відповіді:
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 в ключах.
Не з будь-яких зовнішніх налаштувань. Але ви можете з коду, а потім створити його самостійно:
Вихідний файл: DevPcBios.cpp
Рядок: 1014READCFGSTR("DmiSystemSerial", pszDmiSystemSerial, "0");
Змініть "0" на будь-яке значення, яке вам потрібно.
EDIT: Ви, мабуть, можете використовувати VBoxManage setextradata . Раніше я використовував його для інших типів конфігурацій (не пов'язаних з біосом), і не перевіряв цей конкретний параметр. Спробуй:
VBoxManage setextradata *YourVMName* VBoxInternal/Devices/pcbios/0/Config/DmiSystemSerial "*yourserial*"
Інакше ... поверніться до редагування та створення вихідного коду.
Удачі.
Якщо ви запускаєте цю команду і отримуєте помилку, на яку посилається Роджер, вам потрібно створити резервну копію команди, виконавши команду без останнього параметра (VALUE).
Це видаляє запис, що викликає помилку.
Якщо ви не впевнені в тому, якою була остання команда порушень, відкрийте файл ~~~ .vbox (XML) у корені папки VirtualMachines конкретного VM та перегляньте розділ EXTRADATA.
Запуск виклику командного рядка в vboxmanage - це найкращий спосіб змінити їх. Редагування файлу xml не припадає на 100% часу.
Прийнята відповідь не оновила серійний номер правильно для мене; натомість я виконав ці кроки, щоб успішно оновити серійний номер. Зауважте, гостьова ОС була macOS, а хост - windows.
ПРИМІТКА. Перед тим, як запустити цю команду, потрібно закрити віртуальну скриньку, щоб зберегти її.
cd "C:\Program Files\Oracle\VirtualBox\"
VBoxManage.exe setextradata "VM NAME" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" "SERIAL_HERE"
див. джерело . * КОРИСНІ ПОСИЛАННЯ
VBoxManage.exe list vms
.Спробуйте скористатись порядковим номером, який містить 20-ти байт шістнадцятковий рядок:
VBoxManage setextradata "VM name" "VBoxInternal/Devices/ahci/0/Config/Port0/SerialNumber" "serial"
( Довідка )