
Cuando inicio una instalación desatendida con VirtualBox y Debian 9/Ubuntu 18.0.4, la instalación se detiene en la pantalla donde se debe seleccionar el país:
Esta es mi línea de comando:
VBoxManage unattended install $VMNAME --user=$OSUSERNAME --password=$OSPASSWORD --country=UK --time-zone=UTC --hostname=testserver.local --iso=./build/$ISOFILENAME --install-additions
VBoxManage startvm $VMNAME --type headless
También probé los consejos dados en elDocumentación de VirtualBox, que enumera un parámetro adicional para el idioma:
VBoxManage unattended install $VMNAME --user=$OSUSERNAME --password=$OSPASSWORD --country=UK --time-zone=UTC --hostname=testserver.local --iso=./build/$ISOFILENAME --install-additions --language=en-US
... sin éxito. Este es el resultado de los scripts:
VBoxManage: info: Preparing unattended installation of Ubuntu_64 in machine 'testserver' (e643e8fd-28f9-466b-a390-5ca21df28a8b).
VBoxManage: info: Using values:
isoPath = /Users/me/Dev/vboxinstall/build/ubuntu-18.04.2-live-server-amd64.iso
user = TEST
password = TEST
fullUserName =
productKey =
additionsIsoPath = /Applications/VirtualBox.app/Contents/MacOS/VBoxGuestAdditions.iso
installGuestAdditions = true
validationKitIsoPath =
installTestExecService = false
locale = en_US
country = US
timeZone = EAT
proxy =
hostname = testserver.local
packageSelectionAdjustments =
auxiliaryBasePath = /Users/me/VirtualBox VMs/testserver/Unattended-e643e8fd-28f9-466b-a390-5ca21df28a8b-
imageIndex = 1
scriptTemplatePath = /Applications/VirtualBox.app/Contents/MacOS/UnattendedTemplates/ubuntu_preseed.cfg
postInstallScriptTemplatePath = /Applications/VirtualBox.app/Contents/MacOS/UnattendedTemplates/debian_postinstall.sh
postInstallCommand =
extraInstallKernelParameters = auto=true preseed/file=/cdrom/preseed.cfg priority=critical quiet splash noprompt noshell automatic-ubiquity debian-installer/locale=en_US keyboard-configuration/layoutcode=us languagechooser/language-name=English localechooser/supported-locales=en_US.UTF-8 countrychooser/shortlist=KE --
language = en-US
detectedOSTypeId =
detectedOSVersion =
detectedOSFlavor =
detectedOSLanguages = en-US
detectedOSHints =
VBoxManage: info: VM 'testserver' (e643e8fd-28f9-466b-a390-5ca21df28a8b) is ready to be started (e.g. VBoxManage startvm).
Waiting for VM "testserver" to power on...
VM "testserver" has been successfully started.
¿Cómo puedo ejecutar una instalación 100% desatendida de Debian 9 o Ubuntu 18.0.4 LTS en VirtualBox?
Respuesta1
Hay un problema con syslinux en Debian desde Stretch en adelante: inicia automáticamente el instalador gráfico en lugar de iniciar la install
entrada del menú.
Puede encontrar más detalles sobre el problema y una solución aquí: https://www.virtualbox.org/ticket/18410
Básicamente, la solución consiste en usar VirtualBox --auxiliary-base-path
para especificar la ubicación donde Virtualbox debe extraer los archivos isolinux de la ISO y parchearlos.
aux_base_path="$(mktemp -d --tmpdir unattended-install-XXXXX)"
VBoxManage unattended install 'vm-name' --auxiliary-base-path "$aux_base_path"/ ...
( ...
es un marcador de posición para sus otras opciones)
Ahora es posible parchear el archivo de configuración principal de isolinux para ejecutar la install
entrada del menú de forma predeterminada en lugar del menú VESA:
sed -i 's/^default vesa.*/default install/' "$aux_base_path"/isolinux-isolinux.cfg
Ahora puede iniciar la máquina virtual y debería realizarse la instalación desatendida:
VBoxManage startvm 'vm-name'
Nota: los comandos anteriores son para Unix Shell (Linux y MacOS). Para la consola de Windows, use una ruta de carpeta existente como %UserProfile%/
en lugar de "$aux_base_path/"
y use:
$f = Get-Content isolinux-isolinux.cfg | %{$_ -replace "^default vesa.*","default install"}
$f > isolinux-isolinux.cfg