Grub2 en modo ‘Dual Boot’: Windows 10 / CentOS 7.2

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