| 1 | [[PageOutline(2-5,Índice)]] |
| 2 | = Arranque en equipos UEFI = |
| 3 | En el arranque de los equipos UEFI hay que tener en cuenta: |
| 4 | • Los cargadores de arranque de los sistemas operativos, que están en la partición de sistema EFI (ESP) |
| 5 | • La NVRAM (memoria no volátil) que guarda la información del orden de arranque |
| 6 | |
| 7 | == Partición ESP (EFI system Partition) == |
| 8 | |
| 9 | En los equipos UEFI los cargadores de arranque se guardan en la primera partición dentro del directorio EFI. Cada cargador de arranque se guardará en un subdirectorio que puede llamarse Microsoft, ubuntu, etc. dependiendo del sistema operativo o Part-Disco-Particion si se ha restaurado con OpenGnsys. |
| 10 | |
| 11 | Cuando un equipo ha sido restaurado con OpenGnsys el contenido de la partición primera debe ser parecido a este: |
| 12 | {{{ |
| 13 | /mnt/nvme0n1p1/ |
| 14 | • boot |
| 15 | ◦ grub → Vacío |
| 16 | ◦ grubMBR → Configuración del grub. |
| 17 | • EFI |
| 18 | ◦ grub → Primera etapa del grub. |
| 19 | ◦ Part-01-02 → Cargador de arranque de la partición segunda del primer disco. |
| 20 | }}} |
| 21 | == NVRAM == |
| 22 | |
| 23 | Al iniciar un equipo UEFI, consulta la NVRAM que contiene la información del orden de arranque del equipo e inicia el cargador de arranque que tenga en primer lugar. En caso de fallo irá al siguiente. |
| 24 | |
| 25 | Cuando configuramos un equipo para trabajar con OpenGnsys, definiremos en la UEFI la tarjeta de red como el dispositivo de arranque en primer lugar. |
| 26 | |
| 27 | El restaurar un equipo, en la fase de postconfiguración, se instala el grub y se configura en la NVRAM en segundo lugar, tras la tarjeta de red. De modo que si hay un fallo de red o se desconecta el cable, el equipo muestra el menú del grub permitiendo acceder a los distintos sistemas operativos instalados. |
| 28 | |
| 29 | Al iniciar un sistema operativo desde OpenGnsys, se configurará una entrada en la NVRAM para este cargador de arranque. |
| 30 | |
| 31 | Siguiendo con el ejemplo de un equipo restaurado con OpenGnsys, podemos ver el contenido de la NVRAM con: |
| 32 | |
| 33 | {{{ |
| 34 | ogNvramList |
| 35 | 1 UEFI: PXE IPv4 Realtek PCIe GBE Family Controller * |
| 36 | 2 grub * |
| 37 | 4 Part-01-02 * |
| 38 | }}} |
| 39 | |
| 40 | Y el orden de arranque: |
| 41 | |
| 42 | {{{ |
| 43 | ogNvramGetOrder |
| 44 | 0001,0002,0004 |
| 45 | }}} |
| 46 | |
| 47 | == Ejemplo: Ordenadores portátiles == |
| 48 | |
| 49 | Cuando tenemos portátiles le ponemos el cable de red para restaurar, pero para el uso normal utilizan la WIFI. |
| 50 | |
| 51 | Podemos querer que en el caso de no haber cable de red, se arranque directamente en Windows. En ese caso, continuando con el ejemplo anterior, la siguiente función permite cambiar el orden de arranque en la NVRAM para que Windows sea el segundo tras la tarjeta de red. |
| 52 | {{{ |
| 53 | ogNvramSetOrder 1 4 2 |
| 54 | }}} |
| 55 | |
| 56 | == Funciones para modificar el orden de arranque == |
| 57 | |
| 58 | OpenGnsys ofrece una serie de funciones para modificar la NVRAM. |
| 59 | |
| 60 | '''ogNvramActiveEntry''' |
| 61 | {{{ |
| 62 | Función ogNvramActiveEntry: Configura a activa entrada del gestor de arranque (NVRAM). |
| 63 | Formato: ogNvramActiveEntry [ Num_order_entry | Label_entry ] |
| 64 | Ejemplo: ogNvramActiveEntry 2 |
| 65 | Ejemplo: ogNvramActiveEntry "Windows Boot Manager" |
| 66 | }}} |
| 67 | |
| 68 | '''ogNvramAddEntry''' |
| 69 | {{{ |
| 70 | Función ogNvramAddEntry: Crea nueva entrada del gestor de arranque (NVRAM). |
| 71 | Formato: ogNvramAddEntry Str_label_entry Str_boot_loader [ Bool_add_bootorder ] |
| 72 | Ejemplo: ogNvramAddEntry 1 2 TRUE |
| 73 | Ejemplo: ogNvramAddEntry grub /EFI/grub/grubx64.efi TRUE |
| 74 | Ejemplo: ogNvramAddEntry Windows /EFI/Microsoft/Boot/bootmgfw.efi |
| 75 | }}} |
| 76 | |
| 77 | '''ogNvramDeleteEntry''' |
| 78 | {{{ |
| 79 | Función ogNvramDeleteEntry: Borra entrada del gestor de arranque (NVRAM). |
| 80 | Formato: ogNvramDeleteEntry [ Num_order_entry | Label_entry ] |
| 81 | Ejemplo: ogNvramDeleteEntry 2 |
| 82 | Ejemplo: ogNvramDeleteEntry "Windows Boot Manager" |
| 83 | }}} |
| 84 | |
| 85 | '''ogNvramGetCurrent''' |
| 86 | {{{ |
| 87 | Función ogNvramGetCurrent: Muestra la entrada del gestor de arranque (NVRAM) que ha iniciado el equipo. |
| 88 | Formato: ogNvramGetCurrent |
| 89 | Ejemplo: ogNvramGetCurrent |
| 90 | }}} |
| 91 | |
| 92 | '''ogNvramGetNext''' |
| 93 | {{{ |
| 94 | Función ogNvramGetNext: Muestra la entrada del gestor de arranque (NVRAM) que se utilizará en el próximo arranque. |
| 95 | Formato: ogNvramGetNext |
| 96 | Ejemplo: ogNvramGetNext |
| 97 | }}} |
| 98 | |
| 99 | '''ogNvramGetOrder''' |
| 100 | {{{ |
| 101 | Función ogNvramGetOrder: Muestra el orden de las entradas del gestor de arranque (NVRAM). |
| 102 | Formato: ogNvramGetOrder |
| 103 | Ejemplo: ogNvramGetOrder |
| 104 | }}} |
| 105 | |
| 106 | '''ogNvramGetTimeout''' |
| 107 | {{{ |
| 108 | Función ogNvramGetTimeout: Muestra el tiempo de espera del gestor de arranque (NVRAM). |
| 109 | Formato: ogNvramGetTimeout |
| 110 | Ejemplo: ogNvramGetTimeout |
| 111 | }}} |
| 112 | |
| 113 | '''ogNvramInactiveEntry''' |
| 114 | {{{ |
| 115 | Función ogNvramInactiveEntry: Configura a inactiva entrada del gestor de arranque (NVRAM). |
| 116 | Formato: ogNvramInactiveEntry [ Num_order_entry | Label_entry ] |
| 117 | Ejemplo: ogNvramInactiveEntry 2 |
| 118 | Ejemplo: ogNvramInactiveEntry "Windows Boot Manager" |
| 119 | |
| 120 | }}} |
| 121 | |
| 122 | '''ogNvramList''' |
| 123 | {{{ |
| 124 | Función ogNvramList: Lista las entradas del gestor de arranque (NVRAN) marcando con un asterisco las activas |
| 125 | Formato: ogNvramList |
| 126 | Ejemplo: ogNvramList |
| 127 | }}} |
| 128 | |
| 129 | '''ogNvramSetNext''' |
| 130 | {{{ |
| 131 | Función ogNvramSetNext: Configura el próximo arranque con la entrada del gestor de arranque (NVRAM). |
| 132 | Formato: ogNvramSetNext [ Num_order_entry | Label_entry ] |
| 133 | Ejemplo: ogNvramSetNext 2 |
| 134 | Ejemplo: ogNvramSetNext "Windows Boot Manager" |
| 135 | }}} |
| 136 | |
| 137 | '''ogNvramSetOrder''' |
| 138 | {{{ |
| 139 | Función ogNvramSetOrder: Configura el orden de las entradas del gestor de arranque (NVRAM). |
| 140 | Formato: ogNvramSetOrder Num_order1 [ Num_order2 ] ... |
| 141 | Ejemplo: ogNvramSetOrder 1 3 |
| 142 | }}} |
| 143 | |
| 144 | '''ogNvramSetTimeout''' |
| 145 | {{{ |
| 146 | Función ogNvramSetTimeout: Configura el tiempo de espera del gestor de arranque (NVRAM). |
| 147 | Formato: ogNvramSetTimeout int_Timeout (seg) |
| 148 | Ejemplo: ogNvramSetTimeout 2 |
| 149 | }}} |