Los siguientes comandos son más genéricos que para la versión 3.13.0-35 del kernel únicamente.
1. Monte la partición efi y copie allí los archivos del núcleo
$ mount /dev/sda3 /boot/efi
$ mkdir -pv /boot/efi/EFI/ubuntu/
$ cp -uv /boot/vmlinuz-* /boot/initrd.img-* /boot/efi/EFI/ubuntu/
'/boot/vmlinuz-3.13.0-35-generic' -> '/boot/efi/EFI/ubuntu/vmlinuz-3.13.0-35-generic'
'/boot/initrd.img-3.13.0-35-generic' -> '/boot/efi/EFI/ubuntu/initrd.img-3.13.0-35-generic'
2. Cambiar el nombre del archivo del núcleo
Acorte el nombre del archivo del núcleo al eliminarlo -generic
porque parece que hay un límite de ruta de 39 caracteres de longitud y Cambiar el nombre de los archivos del núcleo para terminar .efi
, esto garantiza la compatibilidad con la mayoría de los sistemas
$ for f in /boot/efi/EFI/ubuntu/vmlinuz-*-generic; do mv -uv -- "$f" "${f//-generic/}.efi"; done
'/boot/efi/EFI/ubuntu/vmlinuz-3.13.0-35-generic' -> '/boot/efi/EFI/ubuntu/vmlinuz-3.13.0-35-generic.efi'`
El acortamiento del nombre del archivo de kernel de nombre anterior no es suficiente para un kernel de línea principaldpkg
instalado , porque por ejemplo, sin todavía tiene 40 caracteres de longitud./EFI/ubuntu/vmlinuz-3.16.0-031600rc6.efi
-generic
3. Agregue una nueva entrada al menú de arranque EFI
Reemplace 3.13.0-35
en este ejemplo con su versión de kernel específica
$ kv=3.13.0-35;efibootmgr -c -p 3 -L $kv -l \EFI\ubuntu\vmlinuz-$kv.efi -u root=/dev/sda1 initrd=\\EFI\\ubuntu\\initrd.img-$kv-generic ro rootfstype=ext4 debug ignore_loglevel libata.force=dump_id crashkernel=384M-:128M
Esta nueva entrada del menú de inicio se convertirá en su nueva opción de inicio predeterminada.
Puede que no necesite los parámetros de depuración adicionales debug
, ignore_loglevel
, libata.force=dump_id
y crashkernel=384M-:128M
. Initrd
debe estar presente; de lo contrario, el inicio se bloquea en " Cambiado a tscksource tsc " porque el dispositivo raíz sda1 no se puede abrir.