Configurar Grub2 en modo ‘Dual Boot‘: Windows 10 / CentOS 7.2
El comportamiento de grub2 en CentOS/RedHat 7 no es el esperado en la forma que lo hacen otras distribuciones como Debian, si por ejemplo hemos instalado ademas un Stma. Operativo Windows 8.x/10.x. Por lo tanto debemos realizar una customización que nos permita seleccionar el S. O. deseado en el arranque.
==> Ficheros relevantes de grub2:
-> Dentro de /boot, tenemos 2 subdirectorios ../grub y ../grub2
# ls /boot/grub2/
device.map fonts grub.cfg grubenv i386-pc locale themes
-> Mapeo de particiones para grub2
# cat /boot/grub2/device.map
# this device map was generated by anaconda
(hd0) /dev/sda
(hd1) /dev/sdb
(hd2) /dev/sda
-> Comportamiento por defecto al iniciar grub2
# cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=»$(sed ‘s, release .*$,,g’ /etc/system-release)»
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT=»console»
GRUB_CMDLINE_LINUX=»rd.lvm.lv=cl_centos/root rd.lvm.lv=cl_centos/swap rhgb quiet»
GRUB_DISABLE_RECOVERY=»true»
#GRUB_DISABLE_LINUX_UUID=true
==> Configuración de grub2:
-> Inicialmente NO vemos todavia el arranque para Windows, puesto que requiere ser customizado.
# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file …
Found linux image: /boot/vmlinuz-3.10.0-327.4.5.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-327.4.5.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-327.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-327.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-6fec4145dcd94f41903f46cf10581e3d
Found initrd image: /boot/initramfs-0-rescue-6fec4145dcd94f41903f46cf10581e3d.img
done
==> Plantillas de Customización de grub2:
-> Por defecto:
# ll /etc/grub.d/
total 76
-rwxr-xr-x. 1 root root 8702 ene 5 18:51 00_header -> Entorno.
-rwxr-xr-x. 1 root root 992 may 4 2015 00_tuned
-rwxr-xr-x. 1 root root 232 ene 5 18:51 01_users
-rwxr-xr-x. 1 root root 10232 ene 5 18:51 10_linux -> Busca Núcleos Instalados.
-rwxr-xr-x. 1 root root 10275 ene 5 18:51 20_linux_xen
-rwxr-xr-x. 1 root root 2559 ene 5 18:51 20_ppc_terminfo
-rwxr-xr-x. 1 root root 11169 ene 5 18:51 30_os-prober -> Busca Sistemas Operativos.
-rwxr-xr-x. 1 root root 214 ene 5 18:51 40_custom -> Customización.
-rwxr-xr-x. 1 root root 216 ene 5 18:51 41_custom -> Customización.
-rw-r–r–. 1 root root 483 ene 5 18:51 README
-> Elegiremos crear un nuevo custom: ‘45_Windows-10‘ al que añadiremos los parámetros de identificación disco/partición que identificaremos a continuación.
==> Identificación de Discos/Particiones Mapeadas:
# fdisk -l | grep «Disk /dev»
Disk /dev/sda: 750.2 GB, 750156374016 bytes, 1465149168 sectors
Disk /dev/mapper/cl_centos-root: 53.7 GB, 53687091200 bytes, 104857600 sectors
Disk /dev/mapper/cl_centos-swap: 3221 MB, 3221225472 bytes, 6291456 sectors
Disk /dev/mapper/cl_centos-home: 268.4 GB, 268435456000 bytes, 524288000 sectors
# blkid
/dev/sda1: LABEL=»Reservado para el sistema» UUID=»0CF27EF4F27EE0FE» TYPE=»ntfs»
/dev/sda2: UUID=»268C82EA8C82B439″ TYPE=»ntfs»
/dev/sda3: UUID=»fad987a4-e579-4bed-aa66-7f9977bb700a» TYPE=»xfs»
/dev/sda5: UUID=»TKdSzX-txB6-dNkE-EmhB-NvAo-MI1u-9Zx2Zj» TYPE=»LVM2_member»
/dev/mapper/cl_centos-swap: UUID=»c085632a-9797-4686-b11e-dfe6c0e6a371″ TYPE=»swap»
/dev/dm-2: UUID=»a3e008ff-6244-44e1-93be-b9910fe69c46″ TYPE=»xfs»
/dev/dm-0: UUID=»43b48077-82c1-40b5-92d4-9df1486fb7e5″ TYPE=»xfs»
# cat /boot/grub2/grub.cfg |grep msdos
insmod part_msdos
set root=’hd0,msdos3′
search –no-floppy –fs-uuid –set=root –hint-bios=hd0,msdos3 –hint-efi=hd0,msdos3 –hint-baremetal=ahci0,msdos3 –hint=’hd0,msdos3′ fad987a4-e579-4bed-aa66-7f9977bb700a
insmod part_msdos
set root=’hd0,msdos3′
search –no-floppy –fs-uuid –set=root –hint-bios=hd0,msdos3 –hint-efi=hd0,msdos3 –hint-baremetal=ahci0,msdos3 –hint=’hd0,msdos3′ fad987a4-e579-4bed-aa66-7f9977bb700a
insmod part_msdos
set root=’hd0,msdos3′
search –no-floppy –fs-uuid –set=root –hint-bios=hd0,msdos3 –hint-efi=hd0,msdos3 –hint-baremetal=ahci0,msdos3 –hint=’hd0,msdos3′ fad987a4-e579-4bed-aa66-7f9977bb700a
==> Creamos Nuestro Nuevo archivo de Customización:
# vi 45_Windows-10
#! /bin/sh -e
echo «Añadiendo Windows 10» >&2
cat <<EOF
menuentry «Windows 10» {
set root=(hd0,1) # Primer Disco, Primera Partición.
chainloader +1
}
EOF
-> Permitimos ejecución:
# chmod +x 45_Windows-10
==> Generamos un Nuevo fichero de Configuración de grub2:
# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file …
Found linux image: /boot/vmlinuz-3.10.0-327.4.5.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-327.4.5.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-327.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-327.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-6fec4145dcd94f41903f46cf10581e3d
Found initrd image: /boot/initramfs-0-rescue-6fec4145dcd94f41903f46cf10581e3d.img
Añadiendo Windows 10
done
==> Podemos ahora establecer nuestro S. O. de arranque por defecto:
# grub2-set-default 0 -> El primer Stma. comenzará por ‘0’.
Documento en PDF -> Grub2_DualBoot_Windows10_CentOs7
0