Hola Comunidad, necesito ayuda. Estoy creando una máquina virtual 100% headless, pero al momento de ejecutar, se detiene y me muestra el instalador en modo texto. Comparto la estructura: cat <<EOF > preseed.cfg # Localización y Teclado d-i debian-installer/locale string es_CO.UTF-8 d-i debian-installer/language string es d-i debian-installer/country string CO d-i localechooser/supported-locales multiselect es_CO.UTF-8 d-i keyboard-configuration/xkb-keymap select latam d-i keyboard-configuration/layoutcode string latam # Configuración de Red (Modo NAT/DHCP) d-i netcfg/choose_interface select auto d-i netcfg/get_hostname string machine d-i netcfg/get_domain string local d-i netcfg/link_wait_timeout string 10 d-i netcfg/dhcp_timeout string 60 # Espejo (Mirror) - Estados Unidos, Sin Proxy d-i mirror/country string manual d-i mirror/http/hostname string deb.debian.org d-i mirror/http/directory string /debian d-i mirror/http/proxy string # Configuración de APT d-i apt-setup/non-free-firmware boolean true d-i apt-setup/contrib boolean true d-i apt-setup/non-free boolean true # Cuentas de Usuario d-i d-i d-i d-i d-i d-i d-i # Zona Horaria - Bogotá, Colombia d-i clock-setup/utc boolean true d-i time/zone string America/Bogota d-i clock-setup/ntp boolean true # Particionado Automático (Todo el disco - Recomendado) d-i partman-auto/disk string /dev/vda d-i partman-auto/method string regular d-i partman-lvm/device_remove_lvm boolean true d-i partman-md/device_remove_md boolean true d-i partman-auto/choose_recipe select atomic d-i partman-partitioning/confirm_write_new_label boolean true d-i partman/choose_partition select finish d-i partman/confirm boolean true d-i partman/confirm_nooverwrite boolean true d-i partman-auto/confirm boolean true d-i partman-auto/confirm_nooverwrite boolean true # Selección de Software (SSH Server + Utilidades estándar) tasksel tasksel/first multiselect standard, ssh-server d-i pkgsel/include string build-essential d-i pkgsel/upgrade select full-upgrade popularity-contest popularity-contest/participate boolean false # Instalación del Cargador de Arranque (GRUB) d-i grub-installer/only_debian boolean true d-i grub-installer/bootdev string /dev/vda # Finalización (Reinicio automático tras terminar) d-i finish-install/reboot_in_progress note EOF sudo virt-install \ --name debian12 \ --vcpus 2 \ --memory 2048 \ --disk size=20,bus=virtio,format=qcow2 \ --os-variant debian12 \ --network network=default,model=virtio \ --graphics none \ --console pty,target_type=serial \ --location https://deb.debian.org/debian/dists/bookworm/main/installer-amd64/ \ --initrd-inject=./preseed.cfg \ --extra-args "auto=true priority=critical preseed/file=/preseed.cfg console=ttyS0,115200n8" \ --check all=off Error: Una vez ejecutado, me muestra el instalador gráfico. Saludos !
On Wed, Jan 21, 2026 at 12:26:42PM +0000, Andrés Miranda wrote:
Hola Comunidad, necesito ayuda. Estoy creando una máquina virtual 100% headless, pero al momento de ejecutar, se detiene y me muestra el instalador en modo texto.
Please use English when interacting with the libvirt community, as there's no guarantee that other people will be able to understand your native language.
Comparto la estructura:
cat <<EOF > preseed.cfg # Localización y Teclado d-i debian-installer/locale string es_CO.UTF-8 d-i debian-installer/language string es d-i debian-installer/country string CO d-i localechooser/supported-locales multiselect es_CO.UTF-8 d-i keyboard-configuration/xkb-keymap select latam d-i keyboard-configuration/layoutcode string latam # Configuración de Red (Modo NAT/DHCP) d-i netcfg/choose_interface select auto d-i netcfg/get_hostname string machine d-i netcfg/get_domain string local d-i netcfg/link_wait_timeout string 10 d-i netcfg/dhcp_timeout string 60 # Espejo (Mirror) - Estados Unidos, Sin Proxy d-i mirror/country string manual d-i mirror/http/hostname string deb.debian.org d-i mirror/http/directory string /debian d-i mirror/http/proxy string # Configuración de APT d-i apt-setup/non-free-firmware boolean true d-i apt-setup/contrib boolean true d-i apt-setup/non-free boolean true # Cuentas de Usuario d-i d-i d-i d-i d-i d-i d-i # Zona Horaria - Bogotá, Colombia d-i clock-setup/utc boolean true d-i time/zone string America/Bogota d-i clock-setup/ntp boolean true # Particionado Automático (Todo el disco - Recomendado) d-i partman-auto/disk string /dev/vda d-i partman-auto/method string regular d-i partman-lvm/device_remove_lvm boolean true d-i partman-md/device_remove_md boolean true d-i partman-auto/choose_recipe select atomic d-i partman-partitioning/confirm_write_new_label boolean true d-i partman/choose_partition select finish d-i partman/confirm boolean true d-i partman/confirm_nooverwrite boolean true d-i partman-auto/confirm boolean true d-i partman-auto/confirm_nooverwrite boolean true # Selección de Software (SSH Server + Utilidades estándar) tasksel tasksel/first multiselect standard, ssh-server d-i pkgsel/include string build-essential d-i pkgsel/upgrade select full-upgrade popularity-contest popularity-contest/participate boolean false # Instalación del Cargador de Arranque (GRUB) d-i grub-installer/only_debian boolean true d-i grub-installer/bootdev string /dev/vda # Finalización (Reinicio automático tras terminar) d-i finish-install/reboot_in_progress note EOF
sudo virt-install \ --name debian12 \ --vcpus 2 \ --memory 2048 \ --disk size=20,bus=virtio,format=qcow2 \ --os-variant debian12 \ --network network=default,model=virtio \ --graphics none \ --console pty,target_type=serial \ --location https://deb.debian.org/debian/dists/bookworm/main/installer-amd64/ \ --initrd-inject=./preseed.cfg \ --extra-args "auto=true priority=critical preseed/file=/preseed.cfg console=ttyS0,115200n8" \ --check all=off
Error: Una vez ejecutado, me muestra el instalador gráfico.
Saludos !
Looking at /var/log/syslog in the installer environment: preseed: successfully loaded preseed file from file:///preseed.cfg reopen-console: Found /preseed.cfg; falling back to simple mode for preseeding reopen-console: Found "auto" in the command line; falling back to simple mode for preseeding reopen-console: Running with preseeding. Picking preferred ttyS0 ONLY main-menu[1670]: INFO: Menu item 'file-preseed' selected preseed: successfully loaded preseed file from file:///preseed.cfg ... main-menu[1670]: INFO: Menu item 'localechooser' selected localechooser: info: debian-installer/language preseeded to 'es' (seen: true) localechooser: info: debian-installer/country preseeded to 'CO' (seen: true) localechooser: info: debian-installer/locale preseeded to 'es_CO.UTF-8' (seen: true) localechooser: info: Preseeded language ignored: unknown language code So I'm guessing this is the line it doesn't like: d-i localechooser/supported-locales multiselect es_CO.UTF-8 Anyway the OS installer is clearly picking up your configuration, so the problem is not in libvirt or the virtualization stack. You'll just have to figure out how to fix your preseed file :) Best of luck! -- Andrea Bolognani / Red Hat / Virtualization
On Wed, Jan 21, 2026 at 12:26:42PM -0000, Andrés Miranda wrote:
Hola Comunidad, necesito ayuda.
Hi, not sure I get it correctly, but I'll reply in English rather than my native language which I guess you wouldn't speak.
Estoy creando una máquina virtual 100% headless, pero al momento de ejecutar, se detiene y me muestra el instalador en modo texto.
Comparto la estructura:
cat <<EOF > preseed.cfg # Localización y Teclado d-i debian-installer/locale string es_CO.UTF-8 d-i debian-installer/language string es d-i debian-installer/country string CO d-i localechooser/supported-locales multiselect es_CO.UTF-8 d-i keyboard-configuration/xkb-keymap select latam d-i keyboard-configuration/layoutcode string latam # Configuración de Red (Modo NAT/DHCP) d-i netcfg/choose_interface select auto d-i netcfg/get_hostname string machine d-i netcfg/get_domain string local d-i netcfg/link_wait_timeout string 10 d-i netcfg/dhcp_timeout string 60 # Espejo (Mirror) - Estados Unidos, Sin Proxy d-i mirror/country string manual d-i mirror/http/hostname string deb.debian.org d-i mirror/http/directory string /debian d-i mirror/http/proxy string # Configuración de APT d-i apt-setup/non-free-firmware boolean true d-i apt-setup/contrib boolean true d-i apt-setup/non-free boolean true # Cuentas de Usuario d-i d-i d-i d-i d-i d-i d-i # Zona Horaria - Bogotá, Colombia d-i clock-setup/utc boolean true d-i time/zone string America/Bogota d-i clock-setup/ntp boolean true # Particionado Automático (Todo el disco - Recomendado) d-i partman-auto/disk string /dev/vda d-i partman-auto/method string regular d-i partman-lvm/device_remove_lvm boolean true d-i partman-md/device_remove_md boolean true d-i partman-auto/choose_recipe select atomic d-i partman-partitioning/confirm_write_new_label boolean true d-i partman/choose_partition select finish d-i partman/confirm boolean true d-i partman/confirm_nooverwrite boolean true d-i partman-auto/confirm boolean true d-i partman-auto/confirm_nooverwrite boolean true # Selección de Software (SSH Server + Utilidades estándar) tasksel tasksel/first multiselect standard, ssh-server d-i pkgsel/include string build-essential d-i pkgsel/upgrade select full-upgrade popularity-contest popularity-contest/participate boolean false # Instalación del Cargador de Arranque (GRUB) d-i grub-installer/only_debian boolean true d-i grub-installer/bootdev string /dev/vda # Finalización (Reinicio automático tras terminar) d-i finish-install/reboot_in_progress note EOF
If I take this ^^ preseed file (and remove the comments and empty lines, for some reason the installer gives me an error otherwise) I get the serial console and the installer on that, it only asks me for language, root password and one user info (probably what you want).
sudo virt-install \ --name debian12 \ --vcpus 2 \ --memory 2048 \ --disk size=20,bus=virtio,format=qcow2 \ --os-variant debian12 \ --network network=default,model=virtio \ --graphics none \ --console pty,target_type=serial \ --location https://deb.debian.org/debian/dists/bookworm/main/installer-amd64/ \ --initrd-inject=./preseed.cfg \ --extra-args "auto=true priority=critical preseed/file=/preseed.cfg console=ttyS0,115200n8" \ --check all=off
Any reason why you have `--check all=off`? Have you tried with `--autoconsole text`? Once virt-install is started, can you connect with `virsh console` ?
Error: Una vez ejecutado, me muestra el instalador gráfico.
Saludos !
participants (3)
-
Andrea Bolognani -
Andrés Miranda -
Martin Kletzander