Hoy
traigo algo que muchas veces necesitamos en el trabajo, y es como casi
siempre trabajamos con clonaciones y demás, si tenemos 2 disco duros y
en uno tenemos la imagen de un Linex (debian) ( que se lo hemos añadido
en un disco duro ide viejo) y el otro el Windows XP (este es el original
que es sata), por lo que tenemos 2 discos, uno IDE y otro SATA, para no
estropear el arranque del Windows que tenemos en la bios le he dicho
que arranque primero el Linux (disco IDE) y luego el Windows (disco
SATA) el grub lo he instalado en el disco IDE.
Por lo que tenemos en el hd0 (ide) el linux y tenemos el grub instalado que sera el sda y en el hd1(sata) el windows que es el sdb.
Ahora arrancamos el linux.
1.- Veremos en el fichero /boot/grub/device.map tenemos puesto los disco duro de la siguiente forma, lo vemos por la marca y el modelo del sico
(hd0) /dev/disk/by-id/ata-IC35L040AVVN07-0_VNP214B2SZEKEE DISCO IDE
(hd1) /dev/disk/by-id/ata-MAXTOR_STM3160812AS_9LS3BCFC Disco SATAo también lo podemos ver de la siguiente forma
(hd0) /dev/sda
(hd1) /dev/sdb
(hd0) /dev/disk/by-id/ata-IC35L040AVVN07-0_VNP214B2SZEKEE DISCO IDE
(hd1) /dev/disk/by-id/ata-MAXTOR_STM3160812AS_9LS3BCFC Disco SATAo también lo podemos ver de la siguiente forma
(hd0) /dev/sda
(hd1) /dev/sdb
2.- Tendremos que crear el fichero que es habitual para la carga de otro sistema en el grub, que lo solemos llamar 11_windows en el directorio /etc/grub.d/
#!/bin/sh -e
cat << EOF
menuentry "Windows XP" {
set root=(hd1,1)
drivemap -s hd0 hd1
chainloader (hd1,1)+1
}
EOF
Le damos permiso de ejecucion
chmod +x /etc/grub.d/11_windows
y ahora actualizamos el grub
update-grub2
El problema que tenemos es que por la filosofía de Windows necesita que este instalado en el primer disco duro y en la primera partición, y como le hemos dichos en la bios que ahora el disco duro de windows es el segundo disco duro (sdb) tenemos que indicarle en el grub que el el windows esta en la primera para ello lo hacemos con el comando drivemap y diciendole que el hd0 ahora es el hd
Si
queremos que el windows sea el primero en arrancar y añadir un poco más
de tiempo en la pantalla del grub modificaremos el fichero /etc/default/grub este es el que maneja los parametros del grub.
En las primeras lineas tenemos lo necesario
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
# /boot/grub/grub.cfg.
GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
# linexedu background
GRUB_BACKGROUND=/usr/share/backgrounds/grub.png
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
# linexedu background
GRUB_BACKGROUND=/usr/share/backgrounds/grub.png
Cambiamos el GRUB_DEFAULT
por la posición donde se encuentre nuestro windows en el menu del grub
empezando a contar desde cero (en mi caso es el 4) y añadimos más tiempo
(segundos) en el GRUB_TIMEOUT, por lo que quedara de la siguiente forma:
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
GRUB_DEFAULT=4
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=3
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
# /boot/grub/grub.cfg.
GRUB_DEFAULT=4
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=3
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
Ejecutamos ahora otra vez comando de : update-grub2
No hay comentarios:
Publicar un comentario