Cómo agregar un nuevo kernel a grub2

24

¿Cómo podemos agregar un núcleo a grub2? Sabía lo que podíamos hacer con las versiones anteriores, pero parece haber cambiado. ¿Qué archivos debemos editar?

Amir Zadeh
fuente

Respuestas:

11

Para agregar un nuevo kernel a grub2:

  1. Mueve tu kernel a / boot /
  2. Ejecute sudo update-grub

update-grub escaneará su computadora en busca de núcleos y creará una lista de los núcleos disponibles en el arranque.

Para que pueda seleccionar qué núcleo iniciar en el momento del inicio, es posible que tenga que mantener presionado el botón SHIFT justo después de que su BIOS publique.

Puede editar / etc / default / grub para cambiar las opciones de arranque y los parámetros predeterminados que pueda necesitar.

Linux no Debian

Vea las notas de grub para su distribución, como estos documentos de Fedora GRUB 2 .

  • grub2-mkconfig -o /boot/grub2/grub.cfg
earthmeLon
fuente
¿Qué sucede si tiene 2 distribuciones de Linux sin una partición separada / de arranque? ¿Tiene que copiar el núcleo del rootfs secundario al primario? ¿O 'grub-update' también verifica otras particiones en busca de nuevos núcleos?
jiggunjer
Esta es una pregunta separada, pero cualquiera de los ejecutables utilizados debería leerse /boot/y generarse correctamente. El archivo de configuración de grub (ej . /etc/default/grub:) puede ser diferente según el sistema operativo, así que asegúrese de sincronizarlos. Sin embargo, la mejor práctica podría ser que un solo sistema operativo genere entradas de grub para usted.
earthmeLon
No es realmente una pregunta separada, OP no especificó su configuración, y las botas duales son comunes. Pensé que podría agregar valor a su respuesta, que ya es bueno. En otras palabras, el sistema operativo secundario ni siquiera necesita su propio grub, el grub del primario buscará / arrancará carpetas en todas las particiones y encontrará los núcleos.
jiggunjer
1
¿Cómo muevo un kernel a / boot? mv kernel /boot? ¿Dónde encuentro un núcleo que se pueda mover a / boot?
Thomas Weller
3

Estoy ejecutando Fedora 20, y el comando para actualizar grub2 es grub2-mkconfig. Además, todo el proceso se puede lograr con el kernel build make:

make xconfig (make config, etc)
make bzImage
make modules
sudo make modules_install
sudu make install

Este (último paso) copiará el núcleo en / boot, y actualizará el cargador de arranque grub2. Muy fácil, y funcionó correctamente en mi caso. Mi único problema es que realmente no aprendes ningún detalle importante del proceso, todo está automatizado. Si tiene problemas y tiene que descubrir qué está mal, podría quedarse atascado.

philbrooksjazz
fuente
sudo make installme dice: Cannot find LILO.
René Nyffenegger
¿Posiblemente estás construyendo una versión mucho más antigua del kernel? LILO se utilizó en la versión del kernel anterior a 3.x (no estoy seguro de la versión exacta) ¿Con qué distribución está trabajando?
philbrooksjazz
Esto estaba en Arch Linux, con el nuevo rc (4.6.0-rc5) que he clonado desde el repositorio de Linux Torvalds.
René Nyffenegger
0

/boot/grub/grub.cfges el archivo que reemplazó menu.lsta grub1

En los sistemas Debian / Ubuntu esto es generado por update-grub, que ejecuta los scripts al /etc/grub.dusar algo similar a run-parts.

Flexografía
fuente
0

Si el nuevo kernel se instala con dpkg (como si se compilara con make-kpkg), update-grub2 es suficiente (también elimina no más kernels existentes)

Señor shunz
fuente
0

Ya no "edita" para agregar núcleos. Los escanea y los agrega dinámicamente. Si DEBE agregar uno, un escaneo no encuentra que debe buscar en /etc/grub.d y modificar o copiar y personalizar40 (se agrega al final, por lo que es un gran lugar para probar su configuración antes de colocarlo en la parte superior de su lista).

RobotHumanos
fuente
0

Pruebe update-grubo update-grub2dependiendo de su versión de grub. Tendrá que ejecutar estos como raíz, sudo. Esto funcionó para mí cuando instalé una segunda distribución de Linux sin reinstalar grub.

beatgammit
fuente
Me di cuenta de que mi respuesta es similar a la respuesta de Alan, pero agregué el comando grub2.
beatgammit