[[PageOutline(2-5,Índice)]] = Postconfiguración del arranque dual. = Nos permite: * Habilitar arranque duales sin red. * Habilitar arranque particiones !Linux/Windows desde la consola web. * Habilitar inicios de sistemas operativos !Linux/Windows directamente sin pasar por BIOS. * Independizar el hardware (físico o virtual). * Windows 7: Permite iniciar windows 7 en máquinas virtual o física con diferentes controladoras de discos. * Linux: elimina dispositivos de red no detectados, UUID de la partición, etc A continuación se describen funciones que pueden ser utilizadas en el script de postconfiguración. == Configuración del gestor de gestor de arranque de Windows XP/7 == Permite restaurar el Windows en un disco duro distinto \\ Permite restaurar el MS Windows en una partición distinta. \\ Permite varios MS Windows en un mismo ordenador. '''ogFixBootSector:''' configura el sector de arranque de la partición Windows. {{{ ogFixBootSector numdisk numpart }}} '''ogWindowsBootParameter:''' configura el gestor de arranque de Windows XP/Vista/7/8. {{{ ogWindowsBootParameter numdisk numpart }}} '''ogWindowsRegisterPartition:''' registra en Windows que la partición indicada es su nueva unidad C:\. {{{ ogWindowsRegisterPartition numdisk numpart C numdisk numpart }}} '''buildToOrder:''' independiza Windows del Hardware. {{{ buildToOrder numdisk numpart }}} Ejemplo de una configuración de windows '''configureOsCustom numdisk numpart''' {{{ .... ogFixBootSector $1 $2 ogWindowsBootParameters $1 $2 ogWindowsRegisterPartition $1 $2 C $1 $2 buildToOrder $1 $2 ... }}} == Configurar el gestor de arranque grub2. == Permite instalar el grub2 en el MBR o en el sector de arranque de la partición del GNU/Linux. \\ Permite auto configurar el grub2: \\ * Si se instala en el sector de arranque de la partición sólo permite iniciar el sistema de esa partición, * Si se instala en el MBR, detectará los sistemas operativos instalados en el disco duro y configura una menu de arranque, en el mismo orden que las particiones, y como valor por defecto el sistema alojado en la primera partición. * Si se indica auto configurar el grub2, permite iniciar los parámetros de kernel para la auto configuración. '''ogGrubInstallPartition:''' instala Grub en la partición con los datos sólo de dicha partición {{{ ogGrubInstallPartition num_disk num_part [configurar] [parámetros] }}} '''ogGrubInstallMbr:''' instala Grub en el MBR con los datos de todos los sistemas operativos {{{ ogGrubInstallMbr numdisk numpart [configurar] [parámetros] }}} Ejemplo de una configuración de GNU/Linux 32/64 bits '''configureOsCustom numdisk numpart''' {{{ # Instalar grub2 en la Partición indicada sin regenerar el fichero de configuración ogGrubInstallPartition $1 $2 # Instalar grub2 en el MBR regenerando el fichero en la partición indicada ogGrubInstallMbr $1 $2 TRUE "nomodeset irqpoll pci=noacpi" }}} Podemos instalar el fichero de configuración del grub en la cache; no requiere hacer ninguna configuración previa, sólo tener cache. Esto me permite utilizar el grub en sistemas de varios windows y sin linux. === Funciones auxiliares para configurar el grub2 en MBR. === Se han de realizar después de haber configurado el grub en el MBR. '''Incluir como entrada por defecto el inicio de cliente de opengnsys'''. {{{ ogGrubAddOgclient numdisk numpart [timeout] }}} Si el alumno no elige un sistema operativo en el tiempo que especifiquemos se iniciará el cliente de opengnsys. Esto permite realizar el mantenimiento de los equipos de forma remota arrancándolos con Wake On Lan. La entrada del grub tendrá los mismos parámetros que tuviera el cliente de opengnsys al incluirla, salvo que siempre estará en modo usuario. Si se realizan cambios en el servidor de !OpenGnSys que afecte al arranque del equipo, para que se guarden en el grub, es necesario arrancar el equipo en cliente de !OpenGnSys desde PXE y volver a realizar la postconfiguración de GNU/Linux. '''Ocultar alguna partición que no queremos que se utilice.''' Al configurar el grub en el MBR mostrará todos los sistemas operativos instalados en el equipo. Esta función nos permite ocultar algunos de ellos. {{{ ogGrubDeleteEntry numdisk numpart numpart_borrar }}} '''Ocultar las particiones de windows que no se estén iniciando.''' Al instalar el grub detecta todos los sistemas windows y en las entradas no tiene en cuenta si las particiones están activadas o si están ocultas o visibles. Si tenemos varios sistemas operativos de windows, al iniciar uno de ellos hemos de ocultar los demás. {{{ ogGrubHidePartitions numdisk numpart }}} Nota: sólo se realiza si existe más de una partición de Windows. Ejemplo de una configuración de GNU/Linux 32/64 bits. '''configureOsCustom numdisk numpart''' {{{ # Instalamos grub con los parametros del kernel de la partición PARM=$(ogLinuxBootParameters "$3" "$4" |cut -d\ -f4-) ogGrubInstallMbr "$1" "$2" TRUE "$PARM" ogGrubAddOgclient "$1" "$2" 15 ogGrubHidePartitions "$1" "$2" # Aulas en la que oculto la particion 2 en el Grub. NOPART2="I2.33 I2.35 A0.30 A4.30 A4.31 A4.32 A4.33 A4.34 A4.35 B1.31 B1.33 B1.35 B2.30 TEORIA" # Oculto la segunda partición en algunas aulas. ogCheckStringInGroup $(ogGetGroupName) "$NOPART2" && ogGrubDeleteEntry "$1" "$2" 2 }}} === Funciones que independizan GNU/Linux del harware === '''ogSetLinuxName:''' asigna el nombre del equipo {{{ ogSetLinuxName numdisk numpart }}} '''ogConfigureFstab:''' configura fstab eliminando las referencia al UUID del equipo modelo. {{{ ogConfigureFstab numdisk numpart }}} '''ogCleanLinuxDevices:''' independiza el sistema operativo del hardware. Elimina referencia a la dirección ethernet del equipo modelo. {{{ ogCleanLinuxDevices numdisk numpart }}} Ejemplo para hacer GNU/Linux independiente del hardware '''configureOsCustom numdisk numpart''' {{{ ogSetLinuxName $1 $2 ogConfigureFstab $1 $2 ogCleanLinuxDevices $1 $2 }}} == Configuración del arranque del cliente para que arranque del grub. == Para utilizar el grub que hemos instalado podremos configurar en la BIOS en arranque por red, pero configurar opengnsys para que el cliente arranque desde disco duro o desde la partición que deseemos. Podemos definirlo en la consola de administración: nos iremos al aula a la que pertenece el equipo, entraremos en la opción "!NetBoot Avanzado" y elegiremos la opción del MBR del disco o de los sectores de arranque de una partición concreta. [[Image(wiki:DocumentacionUsuario1.0.6/AdministracionUnidad:26.png)]] Si queremos ampliar está información podemos consultar la [wiki:DocumentacionUsuario1.0.6/AdministracionUnidad#Gestordearranqueremoto documentación del gestor de arranque remoto] '''Cambios en la platilla PXE del arranque con MBR''' Solo es necesario sí incluyo la línea de arranque con OpenGnSys en el grub y tengo Sistemas windows que arrancan con reinicio. Hemos de cambiar la plantilla del MBR para incluir que lea las marcas que me permiten arrancar este sistema operativo. Los cambios se pueden realizar desde la consola, en la parte de administración en la pestaña "NetBoot Avanzado". Podemos crear una nueva o modificar la existente. La platilla quedaría así: {{{ ##NO-TOCAR-ESTA-LINEA MBR-Windows default saved timeout 1 hiddenmenu fallback 1 2 3 title firsboot find --set-root --ignore-floppies --ignore-cd /ogboot.me cmp /ogboot.me /ogboot.firstboot || ls FALLBACK write /ogboot.firstboot iniciado chainloader +1 savedefault fallback boot title secondboot find --set-root --ignore-floppies --ignore-cd /ogboot.me cmp /ogboot.me /ogboot.secondboot || ls FALLBACK write /ogboot.secondboot iniciado chainloader +1 savedefault fallback boot timeout 1 title MBR keeppxe chainloader (hd0)+1 rootnoverify (hd0) boot }}}