Difference between revisions of "Syslinux (Español)"
Kynikos.bot (talk | contribs) (Template:Keypress is deprecated in favor of Template:ic, see Help talk:Style/Migration to new Code formatting templates#Template:Keypress) |
Lahwaacz.bot (talk | contribs) (update interlanguage links) (Tag: wiki-scripts) |
||
(57 intermediate revisions by 5 users not shown) | |||
Line 3: | Line 3: | ||
[[fr:Syslinux]] | [[fr:Syslinux]] | ||
[[it:Syslinux]] | [[it:Syslinux]] | ||
− | [[ | + | [[ja:Syslinux]] |
− | [[zh- | + | [[ru:Syslinux]] |
− | {{ | + | [[zh-hans:Syslinux]] |
− | {{ | + | {{Related articles start (Español)}} |
− | {{ | + | {{Related|Arch Boot Process (Español)}} |
− | {{ | + | {{Related|Boot loaders (Español)}} |
− | + | {{Related articles end}} | |
+ | {{TranslationStatus (Español)|Syslinux|2015-01-06|354890}} | ||
− | [[Wikipedia:es:Syslinux|Syslinux]] es una colección de cargadores de arranque capaz de iniciar desde discos duros, CDs, y vía network utilizando PXE. Soporta sistema de archivos [[Wikipedia:es:Tabla_de_asignación_de_archivos|FAT]], [[Wikipedia:es:Ext2|ext2]], [[ | + | [[Wikipedia:es:Syslinux|Syslinux]] es una colección de cargadores de arranque capaz de iniciar desde discos duros, CDs, y vía network utilizando PXE. Soporta sistema de archivos [[Wikipedia:es:Tabla_de_asignación_de_archivos|FAT]], [[Wikipedia:es:Ext2|ext2]], [[ext3]], [[ext4]] y [[Btrfs]]. |
− | + | {{Nota|Syslinux no está en condiciones de acceder a los archivos contenidos en una partición diferente de aquella en la cual se ha instalado. Tal característica (llamada multi-fs) no está aún implementada. Para un gestor de arranque alternativo con características multi-fs. véase [[GRUB (Español)|GRUB]].}} | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ==Instalación== | + | == Sistemas BIOS == |
− | [[Pacman (Español)|Instale]] {{Pkg|syslinux}} desde los [[Official | + | |
+ | === Proceso de arranque de Syslinux === | ||
+ | |||
+ | #'''Etapa 1:''' | ||
+ | #*'''Fase 1''' - '''Carga del MBR''' - En el arranque del ordenador, la BIOS lee el código de arranque contenido en el [[MBR]], la región de los 440 byte, situada al inicio del disco (donde residen los archivos ({{ic|/usr/lib/syslinux/bios/mbr.bin}} o {{ic|/usr/lib/syslinux/bios/gptmbr.bin}}). | ||
+ | #*'''Fase 2''' - '''Busqueda de la partición activa'''. El '''Stage 1 MBR boot code''' busca la partición marcada como activa (etiqueta «boot» en los discos MBR). En el ejemplo se presume que tal partición corresponde a la que está {{ic|/boot}}. | ||
+ | #'''Etapa 2:''' | ||
+ | #*'''Fase 1''' - '''Ejecución del volume boot record''' - El '''Stage 1 MBR boot code''' ejecuta el Volume Boot Record (VBR) de la partición {{ic|/boot}}. En el caso de syslinux, el VBR boot code está en el inicio del sector definido en el archivo {{ic|/boot/syslinux/ldlinux.sys}} creado con la orden {{ic|extlinux --install}}. Advierta que {{ic|ldlinux.sys}} y {{ic|ldlinux.c32}} no son lo mismo. | ||
+ | #*'''Fase 2''' - '''Ejecución de {{ic|/boot/syslinux/ldlinux.sys}}''' - El VBR cargará el resto del archivo {{ic|/boot/syslinux/ldlinux.sys}}, cuya ubicación en el disco no debe cambiar, de lo contrario syslinux no arrancará. {{Nota|En el caso del sistemas de archivos [[Btrfs]], el método anterior no funcionará ya que los archivos están constantemente moviéndose, de lo que resulta un cambio de la ubicación del archivo {{ic|ldlinux.sys}}. Por lo tanto, en el caso de BTRFS el código completo de {{ic|ldlinux.sys}} estará embebido en el espacio que le sigue al VBR y no vendrá instalado en {{ic|/boot/syslinux/ldlinux.sys}}, a diferencia de otros sistemas de archivos.}} | ||
+ | #'''Etapa 3:''' | ||
+ | #*'''Carga de {{ic|/boot/syslinux/ldlinux.c32}}''' - El archivo {{ic|/boot/syslinux/ldlinux.sys}} cargará {{ic|/boot/syslinux/ldlinux.c32}} (módulo del núcleo) que contiene el resto de la parte del '''núcleo''' de syslinux que no encaja en {{ic|ldlinux.sys}} (debido a las limitaciones respecto al tamaño de archivo). El archivo {{ic|ldlinux.c32}} debe estar presente en todas las instalaciones de syslinux/extlinux y debe coincidir con la versión de {{ic|ldlinux.sys}} instalada en la partición. De lo contrario syslinux no podrá arrancar. Véase http://bugzilla.syslinux.org/show_bug.cgi?id=7 para más información. | ||
+ | #'''Etapa 4:''' | ||
+ | #*'''Localización y carga del archivo de configuración''' - Una vez que Syslinux está completamente cargado, buscará {{ic|/boot/syslinux/syslinux.cfg}} (o {{ic|/boot/syslinux/extlinux.conf}} en algunos casos) y lo cargará, si lo encuentra. Si no lo encuentra, syslinux lanzará el prompt {{ic|boot:}}. El paso descrito y el resto de la parte '''no principal''' de syslinyux (los módulos ({{ic|/boot/syslinux/*.c32}}, excluyendo los {{ic|lib*.c32}}, y {{ic|ldlinux.c32}}) necesitan la presencia de los módulos {{ic|/boot/syslinux/lib*.c32}} (bibliotecas). Los módulos de las bibliotecas, {{ic|lib*.c32}}, y los módulos no principales, {{ic|*.c32}}, deben coincidir con la versión de {{ic|ldlinux.sys}} instalada en la partición. | ||
+ | |||
+ | ===Instalación=== | ||
+ | [[Pacman (Español)|Instale]] {{Pkg|syslinux}} desde los [[Official repositories (Español)|repositorios oficiales]]. | ||
{{Nota| | {{Nota| | ||
*A partir de Syslinux 4, Extlinux y Syslinux son la misma cosa. | *A partir de Syslinux 4, Extlinux y Syslinux son la misma cosa. | ||
− | * | + | * {{Pkg|gptfdisk}} es necesario para proporcionar soporte a [[wikipedia:GUID_Partition_Table|GPT]] utilizando el script automático. |
− | ===Instalación automática === | + | * Si su partición boot es FAT, necesita también {{Pkg|mtools}}. |
− | El script {{ic|syslinux-install_update}} | + | }} |
+ | ====Instalación automática ==== | ||
+ | {{Nota|El script {{ic|syslinux-install_update}} es un guión específico de Arch, y no es proporcionado/mantenido por los desarrolladores de Syslinux. Por favor, dirija cualquier informe de error específico a Arch Bug Tracker y no a los desarrolladores.}} | ||
− | + | El script {{ic|syslinux-install_update}} se ocupará de la instalación de Syslinux, de la copia/creación del enlace simbólico para el módulo {{ic|*.c32}} en {{ic|/boot/syslinux}}, de la configuración de la etiqueta «boot» y de la instalación del código de arranque en el MBR. Puede gestionar tablas de particiones [[Master Boot Record (Español)|MBR]] y [[GUID Partition Table (Español)|GPT]], junto con RAID software. | |
− | |||
− | |||
− | |||
− | {{ | + | # Si se utiliza una partición boot separada, asegúrese de que está montada. Compruébelo con {{ic|lsblk}}; si no se ve ningún punto de montaje que indique a {{ic|/boot}}, monte la partición antes de continuar.<br/> |
+ | # Ejecute el script {{ic|syslinux-install_update}} con los siguientes argumentos: {{ic|-i}} (instala los archivos), {{ic|-a}} (marca la partición como ''activa'' con la etiqueta ''boot''), {{ic|-m}} (instala el código de arranque en el ''MBR''):{{bc|# syslinux-install_update -i -a -m}} Si esta orden falla con el mensaje ''Syslinux BIOS install failed'', el problema sea posiblemente que el binario {{ic|extlinux}} no pudo encontrar la partición que contiene {{ic|/boot}}: {{bc|<nowiki> | ||
+ | # extlinux --install /boot/syslinux | ||
+ | extlinux: cannot find device for path /boot/syslinux | ||
+ | extlinux: cannot open device (null) | ||
+ | </nowiki>}} Esto puede ocurrir, por ejemplo, al actualizar de [[LILO]] con un kernel personalizado corriendo, operación que convierte un parámetro de la línea de órdenes del kernel (de ejemplo {{ic|1=root=/dev/sda1}}) en su equivalente numérico {{ic|1=root=801}}, como se evidencia por las salidas de las órdenes {{ic|/proc/cmdline}} y {{ic|mount}}. Es posible remediar este problema ejecutando la instalación manual descrita abajo, cuidando de especificar el parámetro {{ic|1=--device=/dev/sda1}} a {{ic|extlinux}}, o, simplemente, al reiniciar la primera vez el kernel stock de Arch Linux, dado que el uso de su initramfs evita el problema. | ||
+ | # Cree o edite {{ic|/boot/syslinux/syslinux.cfg}} siguiendo las instrucciones de [[#Configuración]]. | ||
+ | |||
+ | {{Advertencia|Es importante señalar a Syslinux la partición root correcta, o el sistema no arrancará. Véase [[#Parámetros del kernel]].}} | ||
− | |||
{{Nota| | {{Nota| | ||
− | * | + | *Al reiniciar el sistema ahora, se tendrá un prompt de Syslinux. Para arrancar automáticamente el sistema o conseguir un menú de arranque, todavía habrá que crear un archivo de configuración. |
− | # | + | * Sise está en otro directorio raíz (por ejemplo, si se está utilizando un disco de instalación) instale syslinux dirigiendo al entorno chroot: |
+ | # syslinux-install_update.sh -i -a -m -c /mnt/ | ||
+ | }} | ||
− | o, | + | ====Instalación manual==== |
− | # | + | {{Nota| |
+ | * Si no está seguro de la tabla de particiones que está utilizando (MBR o GPT), se puede comprobar con la siguiente orden: | ||
+ | # blkid -s PTTYPE -o value /dev/sda | ||
+ | gpt | ||
− | + | * Si sew está tratando de rescatar un sistema instalado con un live CD, asegúrese de efectuar [[Change root (Español)|chroot]] antes de ejecutar las siguientes órdenes. Si no efectúa chroot, será necesario anteponer el punto de montaje a todas las rutas especificadas (salvo las que se inician con {{ic|/dev/}}). | |
− | *Si está tratando de | + | }} |
+ | |||
+ | La partición de arranque, en la que se tiene previsto instalar Syslinux, debe estar formateada con un sistema de archivos FAT, ext2, ext3, ext4, o Btrfs. Se debe instalar sobre un directorio montado (y no sobre una partición {{ic|/dev/sdXY}}). No es necesario instalarlo en el directorio root de un sistema de archivos, por ejemplo, si tenemos la partición {{ic|/dev/sda1}} montada en {{ic|/boot}} es posible instalar Syslinux en el directorio {{ic|syslinux}}: | ||
− | |||
− | |||
# mkdir /boot/syslinux | # mkdir /boot/syslinux | ||
− | # extlinux --install /boot/syslinux | + | # cp -r /usr/lib/syslinux/bios/*.c32 /boot/syslinux/ ## copy ALL the *.c32 files from /usr/lib/syslinux/bios/, DO NOT SYMLINK |
+ | # extlinux --install /boot/syslinux | ||
+ | |||
+ | Después de esto, instale el código de arranque de Syslinux, ({{ic|mbr.bin}} o {{ic|gptmbr.bin}}), en el Master Boot Record, la región de los 440 byte del disco que alberga el código de arranque (que no se debe confundir con MBR conocida como tabla de particiones msdos). | ||
+ | |||
+ | =====Tabla de particiones MBR===== | ||
− | + | Véase el artículo principal: [[Master Boot Record (Español)]]. | |
− | + | Será necesario marcar la partición boot como activa en la tabla de particiones. Las aplicaciones que incluyen la capacidad de hacer la operación descrita son {{ic|fdisk}}, {{ic|cfdisk}}, {{ic|sfdisk}}, {{ic|parted/gparted}} (etiqueta «boot»). Debería tener un aspecto como el siguiente: | |
− | |||
− | Será necesario marcar la partición boot como activa en la tabla de particiones. Las aplicaciones que incluyen la capacidad de hacer la operación descrita son {{ic|fdisk}}, {{ic|cfdisk}}, {{ic|sfdisk}}, {{ic|parted/gparted}}. Debería tener un aspecto como el siguiente: | ||
{{hc|# fdisk -l /dev/sda| | {{hc|# fdisk -l /dev/sda| | ||
[...] | [...] | ||
Line 76: | Line 100: | ||
En este caso, un solo byte de valor 5 se inserta en el contenido del archivo {{ic|altmbr.bin}} y los restantes 440 bytes se escriben en el MBR del dispositivo {{ic|sda}}. Syslinux será instalado en la primera partición lógica ({{ic|/dev/sda5}}) del disco. | En este caso, un solo byte de valor 5 se inserta en el contenido del archivo {{ic|altmbr.bin}} y los restantes 440 bytes se escriben en el MBR del dispositivo {{ic|sda}}. Syslinux será instalado en la primera partición lógica ({{ic|/dev/sda5}}) del disco. | ||
− | ====Tabla de particiones GUID conocida como GPT==== | + | =====Tabla de particiones GUID conocida como GPT===== |
− | + | ||
+ | Véase el artículo principal: [[GUID Partition Table (Español)]]. | ||
− | Es necesario ajustar el bit 2 a los atributos relativos a la partición {{ic|/boot}}. | + | Es necesario ajustar el bit 2 a los atributos (atributo «legacy_boot») relativos a la partición {{ic|/boot}}. |
# sgdisk /dev/sda --attributes=1:set:2 | # sgdisk /dev/sda --attributes=1:set:2 | ||
Line 96: | Line 121: | ||
# syslinux-install_update -i -m | # syslinux-install_update -i -m | ||
− | ==== | + | == Sistemas UEFI == |
− | + | ||
+ | {{Nota| | ||
+ | * {{ic|$esp}} es el punto de montaje de la ESP en las órdenes siguientes. | ||
+ | |||
+ | * {{ic|efi64}} indica sistemas UEFI con arquitectura de x86_64, para IA32 (32-bit), sustituya {{ic|efi64}} con {{ic|efi32}}. | ||
+ | |||
+ | * Syslinux, requiere que el kernel y los archivos initramfs residan en la partición ESP, en tanto que syslinux no tiene, actualmente, la capacidad de acceder a los archivos que están fuera de su propia partición (es decir, fuera de ESP, en este caso). Por esta razón, se recomienda montar ESP en {{ic|/boot}}. | ||
+ | |||
+ | * El script de instalación automática {{ic|/usr/bin/syslinux-install_update}} no es compatible para instalar UEFI. | ||
+ | |||
+ | * La sintaxis de configuración de {{ic|syslinux.cfg}} para UEFI es la misma que la de la BIOS. | ||
+ | }} | ||
+ | |||
+ | === Limitaciones de Syslinux en la modalidad UEFI === | ||
+ | |||
+ | * La aplicación de Syslinux UEFI, {{ic|syslinux.efi}}, no puede ser firmada por {{ic|sbsign}} (paquete sbsigntool) para su uso por UEFI Secure Boot. Bug report - http://bugzilla.syslinux.org/show_bug.cgi?id=8 | ||
+ | |||
+ | * La utilización de la tecla TAB para editar los parámetros del kernel del menú de Syslinux UEFI crea errores en la pantalla (texto encima de otro). Bug report - http://bugzilla.syslinux.org/show_bug.cgi?id=9 | ||
+ | |||
+ | * Syslinux UEFI no soporta cargar en cadena otras aplicaciones EFI como {{ic|UEFI Shell}} o {{ic|Windows Boot Manager}}. Bug report - http://bugzilla.syslinux.org/show_bug.cgi?id=17 | ||
+ | |||
+ | * En algunos casos, puede que Syslinux UEFI no arranque en máquinas virtuales como QEMU/OVMF o VirtualBox o VMware y en algunos entornos de emulación UEFI como DUET. Un contribuidor de Syslinux ha confirmado que estos problemas no están presentes en VMware Workstation 10.0.2 y Syslinux-6.02 o posterior. Bug reports - http://bugzilla.syslinux.org/show_bug.cgi?id=21 and http://bugzilla.syslinux.org/show_bug.cgi?id=23 | ||
+ | |||
+ | * Memdisk no está disponible para UEFI. Bug report - http://bugzilla.syslinux.org/show_bug.cgi?id=30 | ||
+ | |||
+ | === Instalación === | ||
+ | |||
+ | * Instale el paquete {{Pkg|syslinux}} y configure syslinux en la partición EFI del sistema (ESP) como sigue: | ||
+ | |||
+ | # pacman -S syslinux | ||
+ | |||
+ | * Copie los archivos de syslinux a ESP: | ||
+ | |||
+ | # mkdir -p $esp/EFI/syslinux | ||
+ | # cp -r /usr/lib/syslinux/efi64/* $esp/EFI/syslinux | ||
+ | |||
+ | * Cree una entrada de arranque para Syslinux utilizando [[#Unified_Extensible_Firmware_Interface#efibootmgr|efibootmgr]]{{Broken section link}}: | ||
+ | |||
+ | # mount -t efivarfs efivarfs /sys/firmware/efi/efivars | ||
+ | # efibootmgr -c -d /dev/sdX -p 1 -l /EFI/syslinux/syslinux.efi -L "Syslinux" | ||
+ | |||
+ | * Cree o modifique {{ic|$esp/EFI/syslinux/syslinux.cfg}} siguiendo las instrucciones de [[#Configuración]]. | ||
+ | |||
+ | {{Nota|El archivo de configuración de UEFI es {{ic|$esp/EFI/syslinux/syslinux.cfg}}, no {{ic|/boot/syslinux/syslinux.cfg}}. Los archivos en {{ic|/boot/syslinux/}} son específicos de BIOS y no están relacionados con UEFI.}} | ||
== Configuración == | == Configuración == | ||
− | El archivo de configuración de syslinux, {{ic|syslinux.cfg}}, se debe crear en el mismo directorio donde se ha instalado syslinux. En este caso, {{ic|/boot/syslinux/}}. | + | El archivo de configuración de syslinux, {{ic|syslinux.cfg}}, se debe crear en el mismo directorio donde se ha instalado syslinux. En este caso, {{ic|/boot/syslinux/}} para sistemas BIOS y {{ic|$esp/EFI/syslinux/}} para sistemas UEFI. |
El gestor de arranque buscará el archivo {{ic|syslinux.cfg}} (preferido) o bien {{ic|extlinux.conf}} | El gestor de arranque buscará el archivo {{ic|syslinux.cfg}} (preferido) o bien {{ic|extlinux.conf}} | ||
Line 109: | Line 177: | ||
=== Ejemplos === | === Ejemplos === | ||
− | |||
− | |||
− | {{Nota| | + | {{Nota|Cualquier archivo de configuración mostrado en estos ejemplos necesita ser editado para establecer los parámetros adecuados del kernel. Véase la sección [[#Parámetros del kernel]].}} |
+ | |||
+ | ==== Prompt de arranque ==== | ||
+ | Este es un archivo de configuración simple que mostrará un prompt {{ic|boot:}} y un arranque automático después de 5 segundos. Si desea arrancar directamente sin ver el prompt, ajuste {{ic|PROMPT}} a {{ic|0}}. | ||
Configuración: | Configuración: | ||
Line 122: | Line 191: | ||
LABEL arch | LABEL arch | ||
LINUX ../vmlinuz-linux | LINUX ../vmlinuz-linux | ||
− | APPEND root=/dev/sda2 | + | APPEND root=/dev/sda2 rw |
INITRD ../initramfs-linux.img | INITRD ../initramfs-linux.img | ||
LABEL archfallback | LABEL archfallback | ||
LINUX ../vmlinuz-linux | LINUX ../vmlinuz-linux | ||
− | APPEND root=/dev/sda2 | + | APPEND root=/dev/sda2 rw |
INITRD ../initramfs-linux-fallback.img</nowiki> | INITRD ../initramfs-linux-fallback.img</nowiki> | ||
}} | }} | ||
− | + | ==== Menú de arranque en modo texto ==== | |
− | |||
− | |||
− | |||
− | |||
− | + | Syslinux también le permite utilizar un menú de arranque. Para utilizarlo, copiar el modulo {{ic|menu}} en el directorio Syslinux: | |
− | + | # cp /usr/lib/syslinux/bios/menu.c32 /boot/syslinux/ | |
− | |||
− | + | Configuration: | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
{{hc|/boot/syslinux/syslinux.cfg|<nowiki> | {{hc|/boot/syslinux/syslinux.cfg|<nowiki> | ||
UI menu.c32 | UI menu.c32 | ||
Line 163: | Line 217: | ||
MENU LABEL Arch Linux | MENU LABEL Arch Linux | ||
LINUX ../vmlinuz-linux | LINUX ../vmlinuz-linux | ||
− | APPEND root=/dev/sda2 | + | APPEND root=/dev/sda2 rw |
INITRD ../initramfs-linux.img | INITRD ../initramfs-linux.img | ||
Line 169: | Line 223: | ||
MENU LABEL Arch Linux Fallback | MENU LABEL Arch Linux Fallback | ||
LINUX ../vmlinuz-linux | LINUX ../vmlinuz-linux | ||
− | APPEND root=/dev/sda2 | + | APPEND root=/dev/sda2 rw |
INITRD ../initramfs-linux-fallback.img</nowiki> | INITRD ../initramfs-linux-fallback.img</nowiki> | ||
}} | }} | ||
− | Para más detalles sobre el | + | Para más detalles sobre el sistema de menús, véase [http://git.kernel.org/?p=boot/syslinux/syslinux.git;a=blob;f=doc/menu.txt the Syslinux documentation] or [http://www.syslinux.org/wiki/index.php/Menu the Syslinux wiki]. |
− | ==== Menú de arranque modo gráfico ==== | + | ==== Menú de arranque en modo gráfico ==== |
Syslinux permite también el uso de un menú de arranque gráfico. Para usarlo, copie el módulo COM32 {{ic|vesamenu}} en la carpeta de Syslinux | Syslinux permite también el uso de un menú de arranque gráfico. Para usarlo, copie el módulo COM32 {{ic|vesamenu}} en la carpeta de Syslinux | ||
− | # cp /usr/lib/syslinux/vesamenu.c32 /boot/syslinux/ | + | # cp /usr/lib/syslinux/bios/vesamenu.c32 /boot/syslinux/ |
− | Si {{ic|/ | + | {{Nota|Si utiliza [[Unified Extensible Firmware Interface (Español)|UEFI]] asegúrese de copiar desde {{ic|/usr/lib/syslinux/efi64/}} ({{ic|efi32}} para sistemas i686), de lo contrario se mostrará una pantalla en negro. En ese caso, arranque desde un medio live y utilice [[Change root (Español)|chroot]] para hacer los cambios apropiados.}} |
− | |||
− | [https://projects.archlinux.org/archiso.git/tree/configs/releng/syslinux | + | Esta configuración utiliza el mismo diseño del menú del CD de instalación de Arch Install, dicha configuración se puede encontrar en [https://projects.archlinux.org/archiso.git/tree/configs/releng/syslinux projects.archlinux.org]. La [https://projects.archlinux.org/archiso.git/plain/configs/releng/syslinux/splash.png imagen de fondo de Arch Linux] se puede descargar desde allí, también. Copie la imagen a {{ic|/boot/syslinux/splash.png}}. |
Configuración: | Configuración: | ||
Line 219: | Line 272: | ||
MENU LABEL Arch Linux | MENU LABEL Arch Linux | ||
LINUX ../vmlinuz-linux | LINUX ../vmlinuz-linux | ||
− | APPEND root=/dev/sda2 | + | APPEND root=/dev/sda2 rw |
INITRD ../initramfs-linux.img | INITRD ../initramfs-linux.img | ||
Line 226: | Line 279: | ||
MENU LABEL Arch Linux Fallback | MENU LABEL Arch Linux Fallback | ||
LINUX ../vmlinuz-linux | LINUX ../vmlinuz-linux | ||
− | APPEND root=/dev/sda2 | + | APPEND root=/dev/sda2 rw |
INITRD ../initramfs-linux-fallback.img</nowiki> | INITRD ../initramfs-linux-fallback.img</nowiki> | ||
}} | }} | ||
Line 233: | Line 286: | ||
Para usarla, inserte {{ic|MENU RESOLUTION 1440 900}} para configurar, por ejemplo, una resolución de 1440x900. | Para usarla, inserte {{ic|MENU RESOLUTION 1440 900}} para configurar, por ejemplo, una resolución de 1440x900. | ||
La imagen background tendrá que ser de la misma resolución, de otra manera, Syslinux rechazará la carga del menú. | La imagen background tendrá que ser de la misma resolución, de otra manera, Syslinux rechazará la carga del menú. | ||
+ | |||
+ | === Parámetros del kernel === | ||
+ | |||
+ | Los [[kernel parameters (Español)|parámetros del kernel]] se establecen en la línea {{ic|APPEND}} de {{ic|syslinux.cfg}}. Se recomienda realizar los siguientes cambios para la entrada fallback también. | ||
+ | |||
+ | En el caso más simple, el nombre de la partición raiz en el parámetro {{ic|root}} necesita ser reemplazado. Cambie {{ic|/dev/sda2}} para que indique la partición root correcta. | ||
+ | |||
+ | APPEND root=/dev/sda2 | ||
+ | |||
+ | Si desea utilizar [[UUID]] para [[persistent block device naming]] cambie la línea {{ic|APPEND}} como sigue, sustituyendo {{ic|1234}} con la {{ic|UUID}} de la partición root: | ||
+ | |||
+ | APPEND root=UUID=''1234'' rw | ||
+ | |||
+ | Si utiliza el cifrado [[LUKS]] cambie la línea {{ic|APPEND}} para utilizar el volumen cifrado: | ||
+ | |||
+ | APPEND root=/dev/mapper/''group''-''name'' cryptdevice=/dev/sda2:''name'' rw | ||
+ | |||
+ | Si está utilizando el software [[Wikipedia:RAID|RAID]] con [http://neil.brown.name/blog/mdadm mdadm], cambie la línea {{ic|APPEND}} para dar cabida a sus matrices RAID. A modo de ejemplo, la siguiente línea tiene capacidad para tres matrices RAID 1 y establece la matriz apropiada para root: | ||
+ | |||
+ | APPEND root=/dev/md1 rw md=0,/dev/sda2,/dev/sdb2 md=1,/dev/sda3,/dev/sdb3 md=2,/dev/sda4,/dev/sdb4 | ||
+ | |||
+ | Si el arranque desde una partición de software RAID falla al utilizar el método de nodo del dispositivo del kernel propuesto arriba como alternativa, una vía más confiable, es usar las etiquetas de las particiones: | ||
+ | |||
+ | APPEND root=LABEL=LAETIQUETADELAPARTICIÓNROOT rw | ||
=== Arranque automático === | === Arranque automático === | ||
Si no desea ver el menú de Syslinux en absoluto, comente todas los comandos {{ic|UI}} y asegúrese de que hay un {{ic|DEFAULT}} configurado en {{ic|syslinux.cfg}}. | Si no desea ver el menú de Syslinux en absoluto, comente todas los comandos {{ic|UI}} y asegúrese de que hay un {{ic|DEFAULT}} configurado en {{ic|syslinux.cfg}}. | ||
+ | |||
+ | === Seguridad === | ||
+ | |||
+ | Syslinux tiene dos niveles de seguridad para el gestor de arranque: una contraseña maestra para el menú y una contraseña para cada elemento del menú. En {{ic|syslinux.cfg}}, utilice | ||
+ | {{bc| | ||
+ | MENU MASTER PASSWD passwd | ||
+ | }} | ||
+ | para establecer una contraseña maestra del gestor de arranque, y | ||
+ | {{bc| | ||
+ | MENU PASSWD passwd | ||
+ | }} | ||
+ | dentro de un bloque {{ic|LABEL}} para proteger con contraseña los elementos individuales del arranque. | ||
=== Chainloading === | === Chainloading === | ||
Line 249: | Line 338: | ||
{{ic|hd0 3}} representa la tercera partición del primer disco identificado en la BIOS —advierta que, las unidades se cuentan desde cero, pero las particiones se cuentan desde uno—. | {{ic|hd0 3}} representa la tercera partición del primer disco identificado en la BIOS —advierta que, las unidades se cuentan desde cero, pero las particiones se cuentan desde uno—. | ||
+ | |||
+ | {{Nota|En Windows, esto omite el propio gestor de arranque del sistema, ({{ic|bootmgr}}), que es requerido por algunas actualizaciones importantes ([http://support.microsoft.com/kb/2883200 eg.]) para completar. En tales casos, puede ser aconsejable establecer temporalmente el flag boot del MBR en la partición de Windows (por ejemplo, con [[GParted]]), dejando la actualización al finalizar la instalación, y restableciendo luego el flag a la partición syslinux (por ejemplo, desde el propio Windows con [http://www.online-tech-tips.com/computer-tips/set-active-partition-vista-xp DiskPart]).}} | ||
Si no está seguro de qué unidad se identifica como la primera de su BIOS, puede utilizar el identificador MBR, o, si utiliza GPT, la etiqueta del sistema de archivos. Para conocer el identificador de MBR, utilice la orden: | Si no está seguro de qué unidad se identifica como la primera de su BIOS, puede utilizar el identificador MBR, o, si utiliza GPT, la etiqueta del sistema de archivos. Para conocer el identificador de MBR, utilice la orden: | ||
Line 309: | Line 400: | ||
linux /boot/vmlinuz-linux | linux /boot/vmlinuz-linux | ||
initrd /boot/initramfs-linux.img | initrd /boot/initramfs-linux.img | ||
− | append root=/dev/sda3 | + | append root=/dev/sda3 rw quiet |
Line 319: | Line 410: | ||
=== Usar memtest === | === Usar memtest === | ||
− | Instale {{Pkg|memtest+}} desde los [[Official | + | Instale {{Pkg|memtest+}}{{Broken package link|package not found}} desde los [[Official repositories (Español)|repositorios oficiales]]. |
− | Use la sección{{ic|LABEL}} para lanzar [[ | + | Use la sección{{ic|LABEL}} para lanzar [[wikipedia:es:Memtest86+|memtest]]: |
{{hc|/boot/syslinux/syslinux.cfg| | {{hc|/boot/syslinux/syslinux.cfg| | ||
... | ... | ||
Line 357: | Line 448: | ||
}} | }} | ||
− | === | + | === Distribución del teclado=== |
− | Si tiene que editar a menudo sus parámetros de arranque, es posible que desee volver a asignar la distribución del teclado. Esto le permite introducir | + | Si tiene que editar a menudo sus parámetros de arranque, es posible que desee volver a asignar la distribución del teclado. Esto le permite introducir caracteres como «=», «/» y otros caracteres fácilmente con un teclado no americano. |
Primero tiene que crear una distribución de teclado compatible (por ejemplo, con uno español): | Primero tiene que crear una distribución de teclado compatible (por ejemplo, con uno español): | ||
− | + | {{Nota|{{ic|us.kmap}} necesita ser creado o no funcionará.}} | |
− | + | $ cp /usr/share/kbd/keymaps/i386/qwertz/es.map.gz . | |
− | + | $ cp /usr/share/kbd/keymaps/i386/qwerty/us.map.gz . | |
− | + | $ gunzip es.map.gz | |
− | + | $ gunzip us.map.gz | |
+ | $ mv es.map es.kmap | ||
+ | $ mv us.map us.kmap | ||
# keytab-lilo es > es.ktl | # keytab-lilo es > es.ktl | ||
Line 382: | Line 475: | ||
}} | }} | ||
para ocultar el menú mientras se muestra sólo el tiempo de espera. Presione cualquier tecla para que aparezca el menú. | para ocultar el menú mientras se muestra sólo el tiempo de espera. Presione cualquier tecla para que aparezca el menú. | ||
+ | |||
+ | === Pxelinux=== | ||
+ | |||
+ | {{Nota|Pare UEFI, Syslinux utiliza el mismo binario para el arranque del disco y para el arranque a través de red. Para cargar archivos de TFTP u otros protocolos de red se requerirá arrancar Syslinux en modo red.}} | ||
+ | |||
+ | '''PXELINUX''' es propocionado por {{Pkg|syslinux}}. | ||
+ | |||
+ | Copie el gestor de arranque {{ic|<nowiki>{l,}pxelinux.0</nowiki>}} (proporcionado por el paquete syslinux) al directorio boot del cliente. Para la versión 5.00 y posteriores, también copie {{ic|ldlinux.c32}} del mismo paquete: | ||
+ | |||
+ | # cp /usr/lib/syslinux/bios/pxelinux.0 "$root/boot" | ||
+ | # cp /usr/lib/syslinux/bios/ldlinux.c32 "$root/boot" | ||
+ | # mkdir "$root/boot/pxelinux.cfg" | ||
+ | |||
+ | También crearemos el directorio {{ic|pxelinux.cfg}}, que es donde pxelinux buscará los archivos de configuración por defecto. Dado que no se intanta hacer distinciones entre distintos MAC de varios equipos, se creará el archivo de configuración {{ic|default}}. | ||
+ | |||
+ | {{hc|# vim "$root/boot/pxelinux.cfg/default"|<nowiki> | ||
+ | default linux | ||
+ | |||
+ | label linux | ||
+ | kernel vmlinuz-linux | ||
+ | append initrd=initramfs-linux.img quiet ip=:::::eth0:dhcp nfsroot=10.0.0.1:/arch | ||
+ | </nowiki>}} | ||
+ | |||
+ | O, si se está usando NBD, utilice la siguiente línea append : | ||
+ | |||
+ | {{bc|<nowiki>append ro initrd=initramfs-linux.img ip=:::::eth0:dhcp nbd_host=10.0.0.1 nbd_name=arch root=/dev/nbd0</nowiki>}} | ||
+ | |||
+ | {{Nota|Tendrá que cambiar {{ic|nbd_host}} y/o {{ic|nfsroot}}, respectivamente, para que coincida con la configuración de red (la dirección del servidor NFS/NBD)}} | ||
+ | |||
+ | La sintaxis de configuración pxelinux es idéntica a syslinux; consulte la documentación de los desarrolladores para obtener más información . | ||
+ | |||
+ | E kernel e initramfs serán transferidos vía TFTP, por lo que las rutas serán las relativas al root del servitor TFTP. En otro caso, el sistema de archivos root puede ser el propio del montado mediante NFS, en cuyo caso la ruta será la relativa al root del servidor NFS. | ||
+ | |||
+ | Para cargar pxelinux, sustituya {{ic|filename "/grub/i386-pc/core.0";}} en {{ic|/etc/dhcpd.conf}} con {{ic|filename "/pxelinux.0"}} | ||
+ | |||
+ | === Arrancar una imágen ISO9660 con memdisk === | ||
+ | |||
+ | Syslinux permite arrancar imágenes ISO directamente con el módulo [http://www.syslinux.org/wiki/index.php/MEMDISK memdisk], véase [[Multiboot USB drive#Using Syslinux and memdisk]] para obtener ejemplos. | ||
==Solución de Problemas== | ==Solución de Problemas== | ||
Line 405: | Line 536: | ||
:4. Reinicie. | :4. Reinicie. | ||
− | + | === Fallo de fsck en la partición root === | |
En el caso de una eventual partición root gravemente dañada (con el journal dañado), abra la shell de emergencia de Syslinux y monte el sistema de archivo root: | En el caso de una eventual partición root gravemente dañada (con el journal dañado), abra la shell de emergencia de Syslinux y monte el sistema de archivo root: | ||
Line 414: | Line 545: | ||
# cp /new_root/sbin/tune2fs /sbin/ | # cp /new_root/sbin/tune2fs /sbin/ | ||
− | Siga con las instrucciones descritas en [ | + | Siga con las instrucciones descritas en [[Fsck#ext2fs_:_no_external_journal|ext2fs: no external journal]] para crear un journal nuevo para la partición root. |
===Default o UI no encontrado en su equipo=== | ===Default o UI no encontrado en su equipo=== | ||
Line 433: | Line 564: | ||
# syslinux-install_update -iam | # syslinux-install_update -iam | ||
y reinicie. | y reinicie. | ||
+ | |||
+ | También recibirá este error si está tratando de arrancar desde una matriz [[RAID]] md 1 creada con una versión de los metadatos no soportada por Syslinux. A partir de agosto de 2013 mdadm creará, de forma predeterminada, una matriz con la versión 1.2 de los metadatos, pero Syslinux tan solo soporta la versión 1.0. Si este es el caso, tendrá que volver a crear su matriz [[RAID]] pasando la opción {{ic|1=--metadata=1.0}} para mdadm. | ||
===¡Se inicia Windows en vez de Syslinux!=== | ===¡Se inicia Windows en vez de Syslinux!=== | ||
Line 440: | Line 573: | ||
===Entradas del menú sin ningún efecto=== | ===Entradas del menú sin ningún efecto=== | ||
− | Si se selecciona una entrada del | + | Si se selecciona una entrada del menú de arranque y no sucede nada, tan solo «refresque» el menú, probablemente signifique que tiene un error en el archivo {{ic|syslinux.cfg}}. Presione {{ic|Tab}} y modifique los parámetros del arranque. Alternativamente, pulse {{ic|Esc}} y escriba en el {{ic|LABEL}} de su entrada de arranque (por ejemplo, ''arch''). Otra causa podría ser que no se tiene un kernel instalado. Encuentre una manera de acceder a su sistema de archivos (a través de live CD, etc.) y asegúrese de que existe {{ic|/mount/vmlinuz-linux}} y no tiene un tamaño de 0. Si este es el caso, [[Kernel_Panics#Option_2:_Reinstall_kernel|reinstale su kernel]]{{Broken section link}}. |
===Imposible eliminar ldlinux.sys=== | ===Imposible eliminar ldlinux.sys=== | ||
− | El archivo {{ic|ldlinux.sys}} tiene establecido el atributo de inmutable, para prevenir que pueda ser borrado o | + | El archivo {{ic|ldlinux.sys}} tiene establecido el atributo de inmutable, para prevenir que pueda ser borrado o sobrescrito. Esto implica que el sector en el que reside el archivo en cuestión no debe cambiar, de lo contrario Syslinux tendrá que ser reinstalado. Para ello tendrá que eliminarlo, ejecutando las siguientes órdenes: |
# chattr -i /boot/syslinux/ldlinux.sys | # chattr -i /boot/syslinux/ldlinux.sys | ||
Line 456: | Line 589: | ||
APPEND root=/dev/sda6 ro 5 '''vga=current''' quiet splash | APPEND root=/dev/sda6 ro 5 '''vga=current''' quiet splash | ||
+ | |||
+ | === Cargar Windows no funciona, cuando se instala en otra unidad === | ||
+ | |||
+ | Si Windows está instalado en una unidad diferente a la de Arch y tiene problemas para cargarlo, pruebe la siguiente configuración: | ||
+ | |||
+ | LABEL Windows | ||
+ | MENU LABEL Windows | ||
+ | COM32 chain.c32 | ||
+ | APPEND mbr:0xdfc1ba9e swap | ||
+ | |||
+ | sustituya el código mbr con el de la unidad de windows (puede ver cómo [[#Chainloading|más arriba]]), y añada {{ic|swap}} a las opciones. | ||
+ | |||
+ | === Leer el registro del gestor de arranque === | ||
+ | |||
+ | En algunos casos, por ejemplo, el gestor de arranque no puede arrancar el kernel, es muy conveniente obtener más información sobre el proceso de arranque. ''Syslinux'' vuelca mensajes de error en la pantalla, pero sobrescribe rápidamente el texto. Para evitar la pérdida de la información del registro hay que desactivar {{ic|menu UI}} en {{ic|syslinux.cfg}} y utilizar "command-line" por defecto del prompt. Esto implica: | ||
+ | |||
+ | * evitar la directiva UI | ||
+ | * evitar ONTIMEOUT | ||
+ | * evitar ONERROR | ||
+ | * evitar MENU CLEAR | ||
+ | * utilizar un TIMEOUT superior | ||
+ | * utilizar PROMPT 1 | ||
+ | * utilizar DEFAULT <etiqueta_problemática> | ||
+ | |||
+ | Para obtener un registro más detallado de depuración de errores se necesita recompilar el paquete {{Pkg|syslinux}} con la adición de CFLAGS: | ||
== Véase también == | == Véase también == | ||
− | * [http://www.syslinux.org Official | + | |
+ | * [http://www.syslinux.org Official website] | ||
* [http://www.josephn.net/scrapbook/pxelinux_stuff PXELinux configuration] | * [http://www.josephn.net/scrapbook/pxelinux_stuff PXELinux configuration] | ||
+ | * [http://blog.jak.me/2013/01/03/creating-a-multiboot-usb-stick-using-syslinux/ Multiboot USB using Syslinux] |
Latest revision as of 22:17, 13 December 2017
Syslinux es una colección de cargadores de arranque capaz de iniciar desde discos duros, CDs, y vía network utilizando PXE. Soporta sistema de archivos FAT, ext2, ext3, ext4 y Btrfs.
Contents
- 1 Sistemas BIOS
- 2 Sistemas UEFI
- 3 Configuración
- 3.1 Ejemplos
- 3.2 Parámetros del kernel
- 3.3 Arranque automático
- 3.4 Seguridad
- 3.5 Chainloading
- 3.6 Chainloading de otros sistemas Linux
- 3.7 Usar memtest
- 3.8 HDT
- 3.9 Reinicio y apagado
- 3.10 Limpiar el menú
- 3.11 Distribución del teclado
- 3.12 Ocultar el menú
- 3.13 Pxelinux
- 3.14 Arrancar una imágen ISO9660 con memdisk
- 4 Solución de Problemas
- 4.1 Utilizar el prompt de Syslinux
- 4.2 Fallo de fsck en la partición root
- 4.3 Default o UI no encontrado en su equipo
- 4.4 Missing operating system
- 4.5 ¡Se inicia Windows en vez de Syslinux!
- 4.6 Entradas del menú sin ningún efecto
- 4.7 Imposible eliminar ldlinux.sys
- 4.8 Se visualiza un cuadrado blanco en el ángulo superior izquierdo cuando se utiliza vesamenu
- 4.9 Cargar Windows no funciona, cuando se instala en otra unidad
- 4.10 Leer el registro del gestor de arranque
- 5 Véase también
Sistemas BIOS
Proceso de arranque de Syslinux
- Etapa 1:
- Fase 1 - Carga del MBR - En el arranque del ordenador, la BIOS lee el código de arranque contenido en el MBR, la región de los 440 byte, situada al inicio del disco (donde residen los archivos (
/usr/lib/syslinux/bios/mbr.bin
o/usr/lib/syslinux/bios/gptmbr.bin
). - Fase 2 - Busqueda de la partición activa. El Stage 1 MBR boot code busca la partición marcada como activa (etiqueta «boot» en los discos MBR). En el ejemplo se presume que tal partición corresponde a la que está
/boot
.
- Fase 1 - Carga del MBR - En el arranque del ordenador, la BIOS lee el código de arranque contenido en el MBR, la región de los 440 byte, situada al inicio del disco (donde residen los archivos (
- Etapa 2:
- Fase 1 - Ejecución del volume boot record - El Stage 1 MBR boot code ejecuta el Volume Boot Record (VBR) de la partición
/boot
. En el caso de syslinux, el VBR boot code está en el inicio del sector definido en el archivo/boot/syslinux/ldlinux.sys
creado con la ordenextlinux --install
. Advierta queldlinux.sys
yldlinux.c32
no son lo mismo. - Fase 2 - Ejecución de
/boot/syslinux/ldlinux.sys
- El VBR cargará el resto del archivo/boot/syslinux/ldlinux.sys
, cuya ubicación en el disco no debe cambiar, de lo contrario syslinux no arrancará.Nota: En el caso del sistemas de archivos Btrfs, el método anterior no funcionará ya que los archivos están constantemente moviéndose, de lo que resulta un cambio de la ubicación del archivoldlinux.sys
. Por lo tanto, en el caso de BTRFS el código completo deldlinux.sys
estará embebido en el espacio que le sigue al VBR y no vendrá instalado en/boot/syslinux/ldlinux.sys
, a diferencia de otros sistemas de archivos.
- Fase 1 - Ejecución del volume boot record - El Stage 1 MBR boot code ejecuta el Volume Boot Record (VBR) de la partición
- Etapa 3:
- Carga de
/boot/syslinux/ldlinux.c32
- El archivo/boot/syslinux/ldlinux.sys
cargará/boot/syslinux/ldlinux.c32
(módulo del núcleo) que contiene el resto de la parte del núcleo de syslinux que no encaja enldlinux.sys
(debido a las limitaciones respecto al tamaño de archivo). El archivoldlinux.c32
debe estar presente en todas las instalaciones de syslinux/extlinux y debe coincidir con la versión deldlinux.sys
instalada en la partición. De lo contrario syslinux no podrá arrancar. Véase http://bugzilla.syslinux.org/show_bug.cgi?id=7 para más información.
- Carga de
- Etapa 4:
- Localización y carga del archivo de configuración - Una vez que Syslinux está completamente cargado, buscará
/boot/syslinux/syslinux.cfg
(o/boot/syslinux/extlinux.conf
en algunos casos) y lo cargará, si lo encuentra. Si no lo encuentra, syslinux lanzará el promptboot:
. El paso descrito y el resto de la parte no principal de syslinyux (los módulos (/boot/syslinux/*.c32
, excluyendo loslib*.c32
, yldlinux.c32
) necesitan la presencia de los módulos/boot/syslinux/lib*.c32
(bibliotecas). Los módulos de las bibliotecas,lib*.c32
, y los módulos no principales,*.c32
, deben coincidir con la versión deldlinux.sys
instalada en la partición.
- Localización y carga del archivo de configuración - Una vez que Syslinux está completamente cargado, buscará
Instalación
Instale syslinux desde los repositorios oficiales.
Instalación automática
syslinux-install_update
es un guión específico de Arch, y no es proporcionado/mantenido por los desarrolladores de Syslinux. Por favor, dirija cualquier informe de error específico a Arch Bug Tracker y no a los desarrolladores.El script syslinux-install_update
se ocupará de la instalación de Syslinux, de la copia/creación del enlace simbólico para el módulo *.c32
en /boot/syslinux
, de la configuración de la etiqueta «boot» y de la instalación del código de arranque en el MBR. Puede gestionar tablas de particiones MBR y GPT, junto con RAID software.
- Si se utiliza una partición boot separada, asegúrese de que está montada. Compruébelo con
lsblk
; si no se ve ningún punto de montaje que indique a/boot
, monte la partición antes de continuar. - Ejecute el script
syslinux-install_update
con los siguientes argumentos:-i
(instala los archivos),-a
(marca la partición como activa con la etiqueta boot),-m
(instala el código de arranque en el MBR):# syslinux-install_update -i -a -m
Si esta orden falla con el mensaje Syslinux BIOS install failed, el problema sea posiblemente que el binarioextlinux
no pudo encontrar la partición que contiene/boot
:# extlinux --install /boot/syslinux extlinux: cannot find device for path /boot/syslinux extlinux: cannot open device (null)
Esto puede ocurrir, por ejemplo, al actualizar de LILO con un kernel personalizado corriendo, operación que convierte un parámetro de la línea de órdenes del kernel (de ejemploroot=/dev/sda1
) en su equivalente numéricoroot=801
, como se evidencia por las salidas de las órdenes/proc/cmdline
ymount
. Es posible remediar este problema ejecutando la instalación manual descrita abajo, cuidando de especificar el parámetro--device=/dev/sda1
aextlinux
, o, simplemente, al reiniciar la primera vez el kernel stock de Arch Linux, dado que el uso de su initramfs evita el problema. - Cree o edite
/boot/syslinux/syslinux.cfg
siguiendo las instrucciones de #Configuración.
- Al reiniciar el sistema ahora, se tendrá un prompt de Syslinux. Para arrancar automáticamente el sistema o conseguir un menú de arranque, todavía habrá que crear un archivo de configuración.
- Sise está en otro directorio raíz (por ejemplo, si se está utilizando un disco de instalación) instale syslinux dirigiendo al entorno chroot:
# syslinux-install_update.sh -i -a -m -c /mnt/
Instalación manual
- Si no está seguro de la tabla de particiones que está utilizando (MBR o GPT), se puede comprobar con la siguiente orden:
# blkid -s PTTYPE -o value /dev/sda gpt
- Si sew está tratando de rescatar un sistema instalado con un live CD, asegúrese de efectuar chroot antes de ejecutar las siguientes órdenes. Si no efectúa chroot, será necesario anteponer el punto de montaje a todas las rutas especificadas (salvo las que se inician con
/dev/
).
La partición de arranque, en la que se tiene previsto instalar Syslinux, debe estar formateada con un sistema de archivos FAT, ext2, ext3, ext4, o Btrfs. Se debe instalar sobre un directorio montado (y no sobre una partición /dev/sdXY
). No es necesario instalarlo en el directorio root de un sistema de archivos, por ejemplo, si tenemos la partición /dev/sda1
montada en /boot
es posible instalar Syslinux en el directorio syslinux
:
# mkdir /boot/syslinux # cp -r /usr/lib/syslinux/bios/*.c32 /boot/syslinux/ ## copy ALL the *.c32 files from /usr/lib/syslinux/bios/, DO NOT SYMLINK # extlinux --install /boot/syslinux
Después de esto, instale el código de arranque de Syslinux, (mbr.bin
o gptmbr.bin
), en el Master Boot Record, la región de los 440 byte del disco que alberga el código de arranque (que no se debe confundir con MBR conocida como tabla de particiones msdos).
Tabla de particiones MBR
Véase el artículo principal: Master Boot Record (Español).
Será necesario marcar la partición boot como activa en la tabla de particiones. Las aplicaciones que incluyen la capacidad de hacer la operación descrita son fdisk
, cfdisk
, sfdisk
, parted/gparted
(etiqueta «boot»). Debería tener un aspecto como el siguiente:
# fdisk -l /dev/sda
[...] Device Boot Start End Blocks Id System /dev/sda1 * 2048 104447 51200 83 Linux /dev/sda2 104448 625142447 312519000 83 Linux
Instale Syslinux en el MBR:
# dd bs=440 count=1 conv=notrunc if=/usr/lib/syslinux/mbr.bin of=/dev/sda
Syslinux proporciona un MBR alternativo: altmbr.bin
. Este MBR no escanea en busca de particiones booteables, sino que el último byte de la MBR establece un valor que indica la partición desde la cual efectuar el arranque. Aquí está un ejemplo de cómo altmbr.bin
puede copiar esa posición:
# printf '\x5' | cat /usr/lib/syslinux/altmbr.bin - | \ dd bs=440 count=1 iflag=fullblock conv=notrunc of=/dev/sda
En este caso, un solo byte de valor 5 se inserta en el contenido del archivo altmbr.bin
y los restantes 440 bytes se escriben en el MBR del dispositivo sda
. Syslinux será instalado en la primera partición lógica (/dev/sda5
) del disco.
Tabla de particiones GUID conocida como GPT
Véase el artículo principal: GUID Partition Table (Español).
Es necesario ajustar el bit 2 a los atributos (atributo «legacy_boot») relativos a la partición /boot
.
# sgdisk /dev/sda --attributes=1:set:2
Esto cambiará el atributo legacy BIOS bootable en la partición 1. Para comprobarlo:
# sgdisk /dev/sda --attributes=1:show
1:2:1 (legacy BIOS bootable)
Instalación en el MBR:
# dd bs=440 conv=notrunc count=1 if=/usr/lib/syslinux/gptmbr.bin of=/dev/sda
Si esto no funciona, pruebe con esto:
# syslinux-install_update -i -m
Sistemas UEFI
-
$esp
es el punto de montaje de la ESP en las órdenes siguientes.
-
efi64
indica sistemas UEFI con arquitectura de x86_64, para IA32 (32-bit), sustituyaefi64
conefi32
.
- Syslinux, requiere que el kernel y los archivos initramfs residan en la partición ESP, en tanto que syslinux no tiene, actualmente, la capacidad de acceder a los archivos que están fuera de su propia partición (es decir, fuera de ESP, en este caso). Por esta razón, se recomienda montar ESP en
/boot
.
- El script de instalación automática
/usr/bin/syslinux-install_update
no es compatible para instalar UEFI.
- La sintaxis de configuración de
syslinux.cfg
para UEFI es la misma que la de la BIOS.
Limitaciones de Syslinux en la modalidad UEFI
- La aplicación de Syslinux UEFI,
syslinux.efi
, no puede ser firmada porsbsign
(paquete sbsigntool) para su uso por UEFI Secure Boot. Bug report - http://bugzilla.syslinux.org/show_bug.cgi?id=8
- La utilización de la tecla TAB para editar los parámetros del kernel del menú de Syslinux UEFI crea errores en la pantalla (texto encima de otro). Bug report - http://bugzilla.syslinux.org/show_bug.cgi?id=9
- Syslinux UEFI no soporta cargar en cadena otras aplicaciones EFI como
UEFI Shell
oWindows Boot Manager
. Bug report - http://bugzilla.syslinux.org/show_bug.cgi?id=17
- En algunos casos, puede que Syslinux UEFI no arranque en máquinas virtuales como QEMU/OVMF o VirtualBox o VMware y en algunos entornos de emulación UEFI como DUET. Un contribuidor de Syslinux ha confirmado que estos problemas no están presentes en VMware Workstation 10.0.2 y Syslinux-6.02 o posterior. Bug reports - http://bugzilla.syslinux.org/show_bug.cgi?id=21 and http://bugzilla.syslinux.org/show_bug.cgi?id=23
- Memdisk no está disponible para UEFI. Bug report - http://bugzilla.syslinux.org/show_bug.cgi?id=30
Instalación
- Instale el paquete syslinux y configure syslinux en la partición EFI del sistema (ESP) como sigue:
# pacman -S syslinux
- Copie los archivos de syslinux a ESP:
# mkdir -p $esp/EFI/syslinux # cp -r /usr/lib/syslinux/efi64/* $esp/EFI/syslinux
- Cree una entrada de arranque para Syslinux utilizando efibootmgr[broken link: invalid section]:
# mount -t efivarfs efivarfs /sys/firmware/efi/efivars # efibootmgr -c -d /dev/sdX -p 1 -l /EFI/syslinux/syslinux.efi -L "Syslinux"
- Cree o modifique
$esp/EFI/syslinux/syslinux.cfg
siguiendo las instrucciones de #Configuración.
$esp/EFI/syslinux/syslinux.cfg
, no /boot/syslinux/syslinux.cfg
. Los archivos en /boot/syslinux/
son específicos de BIOS y no están relacionados con UEFI.Configuración
El archivo de configuración de syslinux, syslinux.cfg
, se debe crear en el mismo directorio donde se ha instalado syslinux. En este caso, /boot/syslinux/
para sistemas BIOS y $esp/EFI/syslinux/
para sistemas UEFI.
El gestor de arranque buscará el archivo syslinux.cfg
(preferido) o bien extlinux.conf
Ejemplos
Prompt de arranque
Este es un archivo de configuración simple que mostrará un prompt boot:
y un arranque automático después de 5 segundos. Si desea arrancar directamente sin ver el prompt, ajuste PROMPT
a 0
.
Configuración:
/boot/syslinux/syslinux.cfg
PROMPT 1 TIMEOUT 50 DEFAULT arch LABEL arch LINUX ../vmlinuz-linux APPEND root=/dev/sda2 rw INITRD ../initramfs-linux.img LABEL archfallback LINUX ../vmlinuz-linux APPEND root=/dev/sda2 rw INITRD ../initramfs-linux-fallback.img
Menú de arranque en modo texto
Syslinux también le permite utilizar un menú de arranque. Para utilizarlo, copiar el modulo menu
en el directorio Syslinux:
# cp /usr/lib/syslinux/bios/menu.c32 /boot/syslinux/
Configuration:
/boot/syslinux/syslinux.cfg
UI menu.c32 PROMPT 0 MENU TITLE Boot Menu TIMEOUT 50 DEFAULT arch LABEL arch MENU LABEL Arch Linux LINUX ../vmlinuz-linux APPEND root=/dev/sda2 rw INITRD ../initramfs-linux.img LABEL archfallback MENU LABEL Arch Linux Fallback LINUX ../vmlinuz-linux APPEND root=/dev/sda2 rw INITRD ../initramfs-linux-fallback.img
Para más detalles sobre el sistema de menús, véase the Syslinux documentation or the Syslinux wiki.
Menú de arranque en modo gráfico
Syslinux permite también el uso de un menú de arranque gráfico. Para usarlo, copie el módulo COM32 vesamenu
en la carpeta de Syslinux
# cp /usr/lib/syslinux/bios/vesamenu.c32 /boot/syslinux/
/usr/lib/syslinux/efi64/
(efi32
para sistemas i686), de lo contrario se mostrará una pantalla en negro. En ese caso, arranque desde un medio live y utilice chroot para hacer los cambios apropiados.Esta configuración utiliza el mismo diseño del menú del CD de instalación de Arch Install, dicha configuración se puede encontrar en projects.archlinux.org. La imagen de fondo de Arch Linux se puede descargar desde allí, también. Copie la imagen a /boot/syslinux/splash.png
.
Configuración:
/boot/syslinux/syslinux.cfg
UI vesamenu.c32 DEFAULT arch PROMPT 0 MENU TITLE Boot Menu MENU BACKGROUND splash.png TIMEOUT 50 MENU WIDTH 78 MENU MARGIN 4 MENU ROWS 5 MENU VSHIFT 10 MENU TIMEOUTROW 13 MENU TABMSGROW 11 MENU CMDLINEROW 11 MENU HELPMSGROW 16 MENU HELPMSGENDROW 29 # Refer to http://www.syslinux.org/wiki/index.php/Comboot/menu.c32 MENU COLOR border 30;44 #40ffffff #a0000000 std MENU COLOR title 1;36;44 #9033ccff #a0000000 std MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all MENU COLOR unsel 37;44 #50ffffff #a0000000 std MENU COLOR help 37;40 #c0ffffff #a0000000 std MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std MENU COLOR msg07 37;40 #90ffffff #a0000000 std MENU COLOR tabmsg 31;40 #30ffffff #00000000 std LABEL arch MENU LABEL Arch Linux LINUX ../vmlinuz-linux APPEND root=/dev/sda2 rw INITRD ../initramfs-linux.img LABEL archfallback MENU LABEL Arch Linux Fallback LINUX ../vmlinuz-linux APPEND root=/dev/sda2 rw INITRD ../initramfs-linux-fallback.img
A partir de Syslinux 3.84, vesamenu.c32
soporta la directiva MENU RESOLUTION $WIDTH $HEIGHT
.
Para usarla, inserte MENU RESOLUTION 1440 900
para configurar, por ejemplo, una resolución de 1440x900.
La imagen background tendrá que ser de la misma resolución, de otra manera, Syslinux rechazará la carga del menú.
Parámetros del kernel
Los parámetros del kernel se establecen en la línea APPEND
de syslinux.cfg
. Se recomienda realizar los siguientes cambios para la entrada fallback también.
En el caso más simple, el nombre de la partición raiz en el parámetro root
necesita ser reemplazado. Cambie /dev/sda2
para que indique la partición root correcta.
APPEND root=/dev/sda2
Si desea utilizar UUID para persistent block device naming cambie la línea APPEND
como sigue, sustituyendo 1234
con la UUID
de la partición root:
APPEND root=UUID=1234 rw
Si utiliza el cifrado LUKS cambie la línea APPEND
para utilizar el volumen cifrado:
APPEND root=/dev/mapper/group-name cryptdevice=/dev/sda2:name rw
Si está utilizando el software RAID con mdadm, cambie la línea APPEND
para dar cabida a sus matrices RAID. A modo de ejemplo, la siguiente línea tiene capacidad para tres matrices RAID 1 y establece la matriz apropiada para root:
APPEND root=/dev/md1 rw md=0,/dev/sda2,/dev/sdb2 md=1,/dev/sda3,/dev/sdb3 md=2,/dev/sda4,/dev/sdb4
Si el arranque desde una partición de software RAID falla al utilizar el método de nodo del dispositivo del kernel propuesto arriba como alternativa, una vía más confiable, es usar las etiquetas de las particiones:
APPEND root=LABEL=LAETIQUETADELAPARTICIÓNROOT rw
Arranque automático
Si no desea ver el menú de Syslinux en absoluto, comente todas los comandos UI
y asegúrese de que hay un DEFAULT
configurado en syslinux.cfg
.
Seguridad
Syslinux tiene dos niveles de seguridad para el gestor de arranque: una contraseña maestra para el menú y una contraseña para cada elemento del menú. En syslinux.cfg
, utilice
MENU MASTER PASSWD passwd
para establecer una contraseña maestra del gestor de arranque, y
MENU PASSWD passwd
dentro de un bloque LABEL
para proteger con contraseña los elementos individuales del arranque.
Chainloading
Si desea cargar en cadena otros sistemas operativos (como Windows) u otros gestores de arranque, copie (o utilice un enlace simbólico) el módulo chain.c32
en el directorio Syslinux (para más detalles, consulte las instrucciones de la sección anterior). A continuación, cree una sección en el archivo de configuración:
/boot/syslinux/syslinux.cfg
... LABEL windows MENU LABEL Windows COM32 chain.c32 APPEND hd0 3 ...
hd0 3
representa la tercera partición del primer disco identificado en la BIOS —advierta que, las unidades se cuentan desde cero, pero las particiones se cuentan desde uno—.
bootmgr
), que es requerido por algunas actualizaciones importantes (eg.) para completar. En tales casos, puede ser aconsejable establecer temporalmente el flag boot del MBR en la partición de Windows (por ejemplo, con GParted), dejando la actualización al finalizar la instalación, y restableciendo luego el flag a la partición syslinux (por ejemplo, desde el propio Windows con DiskPart).Si no está seguro de qué unidad se identifica como la primera de su BIOS, puede utilizar el identificador MBR, o, si utiliza GPT, la etiqueta del sistema de archivos. Para conocer el identificador de MBR, utilice la orden:
# fdisk -l /dev/sdb
Disk /dev/sdb: 128.0 GB, 128035676160 bytes 255 heads, 63 sectors/track, 15566 cylinders, total 250069680 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xf00f1fd3 Device Boot Start End Blocks Id System /dev/sdb1 2048 4196351 2097152 7 HPFS/NTFS/exFAT /dev/sdb2 4196352 250066943 122935296 7 HPFS/NTFS/exFAT
reemplazando /dev/sdb
con la unidad que desea cargar en cadena. Utilizando el número hexadecimal de Disk identifier: 0xf00f1fd3
en este caso, la sintaxis en syslinux.cfg
sería:
/boot/syslinux/syslinux.cfg
... LABEL windows MENU LABEL Windows COM32 chain.c32 APPEND mbr:0xf00f1fd3 ...
Para más información sobre chainloading, consulte la wiki de Syslinux.
Si tiene GRUB instalado en la misma partición, se puede cargar en cadena utilizando:
/boot/syslinux/syslinux.cfg
... LABEL grub2 MENU LABEL Grub2 COM32 chain.c32 append file=../grub/boot.img ...
Esto puede ser necesario para el arranque a partir de imágenes ISO.
Chainloading de otros sistemas Linux
Al hacer el chainloading de un gestor de arranque como el de Windows, no hay ningún problema, ya que cuenta con un gestor de arranque para empezar, mientras Syslinux sea capaz de cargar archivos que residan en la misma partición del archivo de configuración. Por lo tanto, si usted tiene otra versión de Linux instalada en una partición diferente y sin /boot
compartida, debe utilizar Extlinux. En pocas palabras, se puede instalar este último en el superbloque de la partición para poder ser llamado por Syslinux instalado en el MBR. Extlinux es parte del proyecto Syslinux y está incluida en el paquete syslinux.
Las instrucciones siguientes presuponen que ya ha instalado Syslinux. Estas instruccións también presumen la típica configuración de Arch Linux de que se está utilizando la ruta de acceso a /boot/syslinux
y que el chainloaded /
está en /dev/sda3
.
Una vez que arranque Linux (la distribución que Syslinux inicia por defecto), se monta otra partición root de la otra distribución en un punto de montaje que desee. En este ejemplo vamos a usar /mnt
. Tenga en cuenta que si utiliza una partición /boot separada será necesario montarla: El ejemplo supone que ésta es /dev/sda2
.
# mount /dev/sda3 /mnt # mount /dev/sda2 /mnt/boot (only necessary for separate /boot)
Instale extlinux y copie los archivos *.c32 necesarios:
# extlinux -i /mnt/boot/syslinux # cp /usr/lib/syslinux/{chain,menu}.c32 /mnt/boot/syslinux
Crearemos /mnt/boot/syslinux/syslinux.cfg
como sigue:
/boot/syslinux/syslinux.cfg on /dev/sda3
timeout 10 ui menu.c32 label Other Linux linux /boot/vmlinuz-linux initrd /boot/initramfs-linux.img append root=/dev/sda3 rw quiet label MAIN com32 chain.c32 append hd0 0
Tratado en la página de usuario de Djgera.
Usar memtest
Instale memtest+[broken link: package not found] desde los repositorios oficiales.
Use la secciónLABEL
para lanzar memtest:
/boot/syslinux/syslinux.cfg
... LABEL memtest MENU LABEL Memtest86+ LINUX ../memtest86+/memtest.bin ...
HDT
HDT (Hardware Detection Tool) es un instrumento para visualizar información sobre el hardware. Como siempre, el archivo .c32
debe ser copiado o debe crearse un enlace simbólico en /boot/syslinux/
.
Para obtener información del dispositivo PCI, o bien copie, o bien cree un enlace simbólico, de /usr/share/hwdata/pci.ids
a /boot/syslinux/pci.ids
y añada lo siguiente al archivo de configuración:
/boot/syslinux/syslinux.cfg
LABEL hdt MENU LABEL Hardware Info COM32 hdt.c32
Reinicio y apagado
Use la siguiente sección para reiniciar o apagar su equipo:
/boot/syslinux/syslinux.cfg
LABEL reboot MENU LABEL Reboot COM32 reboot.c32 LABEL poweroff MENU LABEL Power Off COMBOOT poweroff.com
Limpiar el menú
Para borrar la pantalla al salir del menú, añada la siguiente línea:
/boot/syslinux/syslinux.cfg
MENU CLEAR
Distribución del teclado
Si tiene que editar a menudo sus parámetros de arranque, es posible que desee volver a asignar la distribución del teclado. Esto le permite introducir caracteres como «=», «/» y otros caracteres fácilmente con un teclado no americano.
Primero tiene que crear una distribución de teclado compatible (por ejemplo, con uno español):
us.kmap
necesita ser creado o no funcionará.$ cp /usr/share/kbd/keymaps/i386/qwertz/es.map.gz . $ cp /usr/share/kbd/keymaps/i386/qwerty/us.map.gz . $ gunzip es.map.gz $ gunzip us.map.gz $ mv es.map es.kmap $ mv us.map us.kmap # keytab-lilo es > es.ktl
Con privilegios root, copie es.ktl
a /boot/syslinux/
y establezca como propietario a root:
# chown root:root /boot/syslinux/es.ktl
Ahora edite syslinux.conf
y añada:
/boot/syslinux/syslinux.cfg
KBDMAP es.ktl
Ocultar el menú
Utilice la opción:
/boot/syslinux/syslinux.cfg
MENU HIDDEN
para ocultar el menú mientras se muestra sólo el tiempo de espera. Presione cualquier tecla para que aparezca el menú.
Pxelinux
PXELINUX es propocionado por syslinux.
Copie el gestor de arranque {l,}pxelinux.0
(proporcionado por el paquete syslinux) al directorio boot del cliente. Para la versión 5.00 y posteriores, también copie ldlinux.c32
del mismo paquete:
# cp /usr/lib/syslinux/bios/pxelinux.0 "$root/boot" # cp /usr/lib/syslinux/bios/ldlinux.c32 "$root/boot" # mkdir "$root/boot/pxelinux.cfg"
También crearemos el directorio pxelinux.cfg
, que es donde pxelinux buscará los archivos de configuración por defecto. Dado que no se intanta hacer distinciones entre distintos MAC de varios equipos, se creará el archivo de configuración default
.
# vim "$root/boot/pxelinux.cfg/default"
default linux label linux kernel vmlinuz-linux append initrd=initramfs-linux.img quiet ip=:::::eth0:dhcp nfsroot=10.0.0.1:/arch
O, si se está usando NBD, utilice la siguiente línea append :
append ro initrd=initramfs-linux.img ip=:::::eth0:dhcp nbd_host=10.0.0.1 nbd_name=arch root=/dev/nbd0
nbd_host
y/o nfsroot
, respectivamente, para que coincida con la configuración de red (la dirección del servidor NFS/NBD)La sintaxis de configuración pxelinux es idéntica a syslinux; consulte la documentación de los desarrolladores para obtener más información .
E kernel e initramfs serán transferidos vía TFTP, por lo que las rutas serán las relativas al root del servitor TFTP. En otro caso, el sistema de archivos root puede ser el propio del montado mediante NFS, en cuyo caso la ruta será la relativa al root del servidor NFS.
Para cargar pxelinux, sustituya filename "/grub/i386-pc/core.0";
en /etc/dhcpd.conf
con filename "/pxelinux.0"
Arrancar una imágen ISO9660 con memdisk
Syslinux permite arrancar imágenes ISO directamente con el módulo memdisk, véase Multiboot USB drive#Using Syslinux and memdisk para obtener ejemplos.
Solución de Problemas
Utilizar el prompt de Syslinux
Es posible escribir el valor del parámetro LABEL
correspondiente al sistema operativo que se quiere ejecutar (según su syslinux.cfg
). Si ha usado la configuración de ejemplo, escriba:
boot: arch
Si se obtiene un error al cargar el archivo de configuración, es posible pasar manualmente el parámetro del boot, por ejemplo:
boot: ../vmlinuz-linux root=/dev/sda2 ro initrd=../initramfs-linux.img
Si no se tiene acceso a boot:
en ramfs, y cuando sea incapaz temporalmente de arrancar el kernel, prosiga como sigue:
- 1. Cree un directorio temporal, donde montar la partición root (si no existe ya):
# mkdir -p /new_root
- 2. Monte
/
en/new_root
(en el caso de que/boot/
esté en una partición separada, tendrá que montar ambas):
/boot
está en una partición ext2 entonces busybox no se puede montar.# mount /dev/sd[a-z][1-9] /new_root
- 3. Use
vim
y modifiquesyslinux.cfg
de acuerdo a sus necesidades y guarde el archivo.
- 4. Reinicie.
Fallo de fsck en la partición root
En el caso de una eventual partición root gravemente dañada (con el journal dañado), abra la shell de emergencia de Syslinux y monte el sistema de archivo root:
# mount /dev/root partition /new_root
Y obtenga el ejecutable tune2fs binary que se encuentra en la partición root partition (el cual no está incluido en Syslinux):
# cp /new_root/sbin/tune2fs /sbin/
Siga con las instrucciones descritas en ext2fs: no external journal para crear un journal nuevo para la partición root.
Default o UI no encontrado en su equipo
Algunos fabricantes de placas madre no proporcionan buena compatibilidad para arrancar desde dispositivos USB u otros.
Mientras que una unidad USB con formato ext4 puede permitir el arranque en un equipo más reciente, algunos equipos antiguos pueden bloquearse si la partición de arranque que contiene el kernel y el initrd no está en una partición FAT16. Para evitar que una máquina antigua cargándose con ldlinux
falle al leer syslinux.cfg
, use cfdisk
para crear una partición FAT16 (<= 2GB) y formatearla usando dosfstools:
# mkfs.msdos -F 16 /dev/sda1
a continuación, instale y configure Syslinux.
Missing operating system
Si aparece este mensaje, compruebe si la partición que contiene /boot
tiene el flag de arranque habilitado. Si el flag está activado, entonces, tal vez, esta partición comienza en el sector 1 en vez del 63 o 2048. Compruebe esta circunstancia con fdisk -l
. Si se inicia en el sector 1, se puede mover la partición(s) con gparted
desde un disco de rescate. O bien, si tiene una partición boot separada, puede hacer una copia de seguridad de /boot
con:
# cp -a /boot /boot.bak
y luego arrancar con el disco de instalación de Arch. A continuación, use cfdisk
para borrar la partición /boot
, y volver a crearla. Esta vez se debe comenzar en el sector adecuado, 63. Ahora monte sus particiones y efectue un chroot
en el sistema montado, como se describe en la Beginners guide (guía de principiantes). Restaure /boot
con la orden:
# cp -a /boot.bak/* /boot
Compruebe que /etc/fstab
es correcto. Entonces, ejecute:
# syslinux-install_update -iam
y reinicie.
También recibirá este error si está tratando de arrancar desde una matriz RAID md 1 creada con una versión de los metadatos no soportada por Syslinux. A partir de agosto de 2013 mdadm creará, de forma predeterminada, una matriz con la versión 1.2 de los metadatos, pero Syslinux tan solo soporta la versión 1.0. Si este es el caso, tendrá que volver a crear su matriz RAID pasando la opción --metadata=1.0
para mdadm.
¡Se inicia Windows en vez de Syslinux!
Solución: Asegúrese de que la partición que contiene /boot
tiene el indicador (flag) boot activo. También, asegúrese de que el indicador boot no está activado en la partición de Windows. Consulte la sección de instalación anterior.
El MBR que viene con Syslinux busca la primera partición activa que tiene el flag boot habilitado. Es probable que Syslinux encontrase primero la partición de Windows y que la misma tuviese el flag boot activo. Si lo desea, es posible utilizar tambien el MBR porporcionado por Windows o MS-DOS fdisk
.
Entradas del menú sin ningún efecto
Si se selecciona una entrada del menú de arranque y no sucede nada, tan solo «refresque» el menú, probablemente signifique que tiene un error en el archivo syslinux.cfg
. Presione Tab
y modifique los parámetros del arranque. Alternativamente, pulse Esc
y escriba en el LABEL
de su entrada de arranque (por ejemplo, arch). Otra causa podría ser que no se tiene un kernel instalado. Encuentre una manera de acceder a su sistema de archivos (a través de live CD, etc.) y asegúrese de que existe /mount/vmlinuz-linux
y no tiene un tamaño de 0. Si este es el caso, reinstale su kernel[broken link: invalid section].
Imposible eliminar ldlinux.sys
El archivo ldlinux.sys
tiene establecido el atributo de inmutable, para prevenir que pueda ser borrado o sobrescrito. Esto implica que el sector en el que reside el archivo en cuestión no debe cambiar, de lo contrario Syslinux tendrá que ser reinstalado. Para ello tendrá que eliminarlo, ejecutando las siguientes órdenes:
# chattr -i /boot/syslinux/ldlinux.sys # rm /boot/syslinux/ldlinux.sys
Problemas: A partir de linux-3.0, el controlador de modesetting trata de mantener el contenido actual de la pantalla después de cambiar la resolución (por lo menos, lo hace con mi Intel, al tener Syslinux en modo texto). Parece que esto va mal cuando se combina con el módulo vesamenu en Syslinux (el bloque blanco es, en realidad, un intento de mantener el menú de Syslinux, pero el controlador no logra captar la imagen de la modalidad gráfica vesa).
Si tiene una resolución personalizada y se utiliza vesamenu
junto con modesetting, pruebe insertando lo siguiente en syslinux.cfg
para remover el bloque blanco y continuar el arranque en modo gráfico:
APPEND root=/dev/sda6 ro 5 vga=current quiet splash
Cargar Windows no funciona, cuando se instala en otra unidad
Si Windows está instalado en una unidad diferente a la de Arch y tiene problemas para cargarlo, pruebe la siguiente configuración:
LABEL Windows MENU LABEL Windows COM32 chain.c32 APPEND mbr:0xdfc1ba9e swap
sustituya el código mbr con el de la unidad de windows (puede ver cómo más arriba), y añada swap
a las opciones.
Leer el registro del gestor de arranque
En algunos casos, por ejemplo, el gestor de arranque no puede arrancar el kernel, es muy conveniente obtener más información sobre el proceso de arranque. Syslinux vuelca mensajes de error en la pantalla, pero sobrescribe rápidamente el texto. Para evitar la pérdida de la información del registro hay que desactivar menu UI
en syslinux.cfg
y utilizar "command-line" por defecto del prompt. Esto implica:
- evitar la directiva UI
- evitar ONTIMEOUT
- evitar ONERROR
- evitar MENU CLEAR
- utilizar un TIMEOUT superior
- utilizar PROMPT 1
- utilizar DEFAULT <etiqueta_problemática>
Para obtener un registro más detallado de depuración de errores se necesita recompilar el paquete syslinux con la adición de CFLAGS: