PDA

View Full Version : proyecto para documentar el arranque de openSUSE



karlggest
15-Apr-2022, 12:06
Hola!!

El arranque en los sistemas modernos es bastante más complejo de lo esperable. Si bien el grueso de instalaciones de openSUSE no tienen problema con esto, lo cierto es que tampoco se escapa.

Y por supuesto, cuando hay un Windows por medio ya qué os cuento lol!

En la wiki entre otras cosas tenemos esto: https://es.opensuse.org/SDB:Instalar_openSUSE_con_UEFI_y_Arranque_seguro , pero como veis está bastante desfasado. La idea es que echéis una mano aportando cosas (comentarios, capturas)(ver nota 1).

En mi opinión, habría que cubrir en qué casos es buena idea usar "legacy" y en cuáles es mejor usar "UEFI" e incluso "secure boot" (en mi opinión, sólo se justifica usar Legacy cuando algún sistema operativo preexistente ha sido instalado así). También habría que cubrir cómo se configura eso y cómo saber qué modo se está usando para arrancar por defecto. Una forma podría seguir un esquema como éste:

Legacy vs UEFI.
Ejemplos de configuración Legacy.
Ejemplos de configuración UEFI+secure boot.
Entender cómo arranca el sistema instalado.


En mi opinión eso cubriría todo pero se necesitarían varias capturas de ejemplo, particularmente de portátiles, pero también de equipos de escritorio, para ver las diversas formas de configurar tanto los modos legacy, UEFI, legacy+UEFI, como respecto a la forma de establecer el orden de arranque.

No es problema que pongáis texto aquí para que lo copie yo u otro a la wiki, o que lo escribáis allí aunque no uséis plantilla y apenas formato. De todas formas, ni siquiera está decidida una forma de llamarle a la página o páginas y eso podría ser una buena primera cosa a decidir (una página para todo? una para cada punto? sugerencias?).

Por supuesto, sería guay si alguien pudiera aportar alguna experiencia instalando openSUSE en un Mac. Y aunque hable de doble (o triple o más) arranque, también atañe a instalaciones de openSUSE en solitario.

Sin más, mi agradecimiento a quien decida participar en esto, incluso si solamente aporta algunas capturas de su BIOS.

Salud!!

nota 1: en la wiki se espera que las capturas de openSUSE sigan el estándar (tema) openSUSE, pero tanto las ventanas activas de YaST solemos tenerlas en su tema por defecto como si aportáis alguna de la BIOS pues será para cada equipo de una forma diferente.

mikrios
16-Apr-2022, 15:58
Hola:

Ni me lo pienso, volver a la página cero del hd (512 =registros+arranque) y solo 4 primarias, de eso ya se me van las ganas, ademas uefi, no solo lee registros, si no que lee FS .

Para él arranque , veo vídeos de openQA, se adjuntan con las pruebas y se pueden bajar y copiar una instantánea de las imágenes (VLC lo reproduce muy bien, lo mismo que el propio reproductor de openQA) . (video o.gg de unos 13,7Mb, este es de pruebas de raid)

Por cierto el de la 15.4 está como OpenSUSE Leap 15.0 (por si vas a buscar, por ahí, ademas hace unos días, salio una buena iso con muy pocos errores, ejemplo la build 208.2 paso la prueba con 197 oks , (24 fallos de soft, y 41 y alguno sin terminar) Teniendo en cuenta que son varias arquitecturas .

Mira si te vale algo de ahí (en cuanto a uefi, no se si iban por la 2.7, pero son muchas paginas del pdf ) .

El arranque, para las cpus con muchos núcleos systemd, va rápido (mucho mas que si fuese SySvn) ., lo que veo falta de depuración y al menos unificar, las cosas mas importantes (hay muchos servicios donde elegir, ejemplo de ello tienes a wiked y networkmanager ) .

Saludos cordiales

karlggest
17-Apr-2022, 04:48
Hola mikrios!

Gracias por participar. La idea no es exactamente documentar el proceso de arranque, sino describir de forma amplia cómo realizar ese proceso en equipos reales.

Veamos.

En las viejas BIOS podías establecer le orden de arranque de los distintos dispositivos, y en algunos casos tenías que ordenar apropiadamente los discos duros (p. ej. incluyendo USB) para que el "arranque de disco" fuera exactamente lo que tú querías. Otras BIOS eran más simples y tenías todos los dispositivos en lista, y en agunas incluso había cosas que simplemente no podías hacer. Describir cómo arrancar un DVD para instalar openSUSE es, en esos entornos, sencillo.

Supongamos dos discos (SSD en sda, HDD en sdb) en el que hay instalado un Windows 10 que es una actualización de un Windows 7 u 8.

Desde el punto de vista de la BIOS hay dos dispositivos arrancables, pero si tienes la compatibilidad que muchas veces (no siempre) se llama Legacy, eso te da 4 posibilidades: sda UEFI, sda legacy, sdb UEFI, sdb Legacy.

Existen muchas posibilidades de que un Windows 7 u 8 hayan sido instalados como legacy. Entonces sda tiene al menos dos particiones: una pequeña y oculta para el propio Windows con el arranque, y una general con el sistema Windows instalado. Aunque actualices a Windows 10, conservarás el arranque.

O puede que Windows haya sido instalado como UEFI. En ese caso habrá una partición EFI además de las dos anteriores. Al arrancar en sda UEFI se cargará el arranque desde esa partición EFI.

Tengo un montón de imágenes de Windows 7 y Windows 8 que no pueden arrancar si seleccionas UEFI para cargar el DVD o USB de instalación. Aquí es donde hay que aclarar que si arrancas un sistema operativo como UEFI se instalará como UEFI y si lo arrancas en modo legacy lo instalará como legacy.

El punto de instalar openSUSE es que también instala el sistema tal cual lo arranques, y el mismo medio de instalación soporta ambas formas. Si tú cargas el DVD/USB como DVD UEFI ó USB UEFI te instalará el sistema como UEFI, mientras que si lo cargas como Legacy, lo instalará como legacy.

Es importante porque no hay ninguna razón que impida que tengas uno instalado de una forma y otro instalado de otra, sobre todo si están en distintos discos. Y sí, openSUSE en modo legacy puede usar particiones GPT desde hace años.

Un detalle importante del sistema UEFI es el hecho de que la BIOS arranca directamente las particiones EFI disponibles. Puedes, por ejemplo, tener una partición EFI para Windows y otra para openSUSE y utilizar el menú de arraque de la BIOS (p.ej. F9 ó F12) para elegir qué sistema arrancar. Las particiones EFI ni siquiera tienen por qué estar en distintos discos, pueden perfectamente estar en uno sólo.

Esto es todo el meollo. Secure boot es una parida que simplemente tiene una cadena para verificar una firma aprobada de alguna forma por Microsoft. Se desaconseja usar Secure Boot si no puedes garantizar qué la distribución de turno a instalar tenga esa firma, pero eso no es el caso de openSUSE, así que realmente no hay ninguna necesidad de desactivarlo.

El objetivo de este hilo no es soltar este rollo en un documento, que es muy fácil de entender si ya sabes de qué va, y un auténtico galimatías en caso contrario, sino proporcionar un documento de ayuda para esta cuestión. Y para eso hay que hacer dos cosas.
* Debatir una recomendación unívoca (UEFI vs Legacy, Secure Boot sí o no).
* Proporcionar algún ejemplo concreto de alguna BIOS concreta respecto a cómo se configura lo anterior. Cuantos más ejemplos, mejor.

Y ya si tenemos algún ejemplo de arranque doble concreto mejor que mejor.

Salud!!

mikrios
17-Apr-2022, 19:42
Hola:


Tienes razón es una galimatías , y hay que tener en mente la historia de como han ido pasando las cosas (o por lo menos separar una de otras )

Efi era lo que había antes, después se unifico (creo que entraron $ y phoenix) y actualmente para abreviar se le vuelve a llamar efi (los significados están por la wiki) . En si son normas, especificaciones, acuerdos o convencionales , Si no se llega a eso cada uno hace lo que quiera, aún así se a interpretado o cambiado sin tener en cuenta esas normas .
Una de ellas es el arranque seguro, (que es de uefi o actualmente de efi) , La causa la sabemos casi todos y uno de los mas perjudicados a sido, $, ahora bien la firma por parte del soft, también ha tenido que ser comprada por $ a otra empresa (según tengo entendido) .

El arranque en uefi, puede estar en cualquier lugar (como lee también FS, sobre todo las /boot/efi) , ahora bien el administrador de arranque,controladores, las utilidades , o programas para la ayuda del arranque, tiene que estar en una partición con sistema de archivos compatible con fat12, 16 y 32, no sirve exfat ni ntfs) y ojo que mantiene la compatibilidad con mbr así que las posibilidades quedan a un sistema de particionado de mbr y gpt : da ahí ya tu sabes, mbr pagina cero 512bytes de los cuales hay que restar 4 de 16bytes cada uno y 2 de 8 bytes cada uno y los 442 que sobran van para el arranque ( los bytes informan de nº particiones, tipo, la activa, etc....) , bien ahí es donde se ramifica en cierta forma mbr y uefi en el arranque del pc .
(sobre gpt, pues no hace mucha falta hablar, me supongo que te acordaras, cuando vinieron discos mayores de 2,2Teras, aún creo que no había uefi, y no recuerdo si en algunos era una actualización en la bios otros alguna utilidad, en mis equipos tuve que recurrir a crear varias particiones, para aprovechar el disco) , en win creo que era posible usar gpt desde la versión vista, (las posibilidades, pues mayor de 2,2 teras, mas de 120 y pico primarias, creo que para win son 128, formato avanzado, redundancia en las tablas, etc..) .

El arranque, en aquella época, (por lo menos los que teníamos que apretarnos los bolsillos, era un cloníco de ibm) se configuraba en bios, si tenía que arrancar con disquetes de 720 o 1,44Mb, tenias que cambiar el orden, después vinieron los cd, y lo mismo, mas tarde se podía fijar otro posible arranque 1dispositivo disco C, segundo cd, 3 etc.. si fallaba uno iba al siguiente, y si cambiaba el orden. El cable conectaba por pata dos dispositivos, se tenía que configurar con los jumper.

En esas cosas, solía haber cambios, por ejemplo ya había una protección en la bios, que tenias que des activar cuando instalabas un sistema operativo . (no era un arranque seguro, pero evitaba que se instalara un virus, al proteger cierta zona, creo que la escritura al mbr ) .

El que uno vea los dispositivos dobles (con uefi y sin uefi, es 1ªpor el modo CSM 2º por el menú de arranque uefi) , ahora bien, si lo haces en uefi, ya después no puedes arrancar en mbr , incluso uno en uefi y otro en mbr, en el arranque que recuerde no se veían entre si , en otros equipos no tienes CSM o bien todo uefi o todo mbr, la elección posible creo que la del menú de arranque de uefi (en Asus la F8) . (cosa que no he probado, hacerlo por el menú de arranque de uefi, pero con dejar un dvd dentro se puede probar) .

El dejar el equipo en UEFI, y arranque seguro, juegas con la base de datos de la bios (firmware) y la del sistema operativo (a veces había problemas con la mok, creo que es la del fabricante) . en la bios tienes 2 posibilidades $ u otro S.O. , pero eso le da igual a $, el pondrá su arranque seguro según le convenga (por lo menos en una asus así lo hizo) .

Si la activas la protección, la posibilidad de probar un sistema sea o no live, creo que la pierdes y el tenerla activa, puede salvar a uno de un malware .

Legacy rom , sería volver al pasado, aún la mas actual, sera de hace muchos años , por lo pronto uefi (EFI) , para ir acorde al nuevo hard y si el equipo es dedicado para algo, arranque seguro activo (se arriesga mucho, si se produce una avería por un fallo de ese tipo, ejemplo un servidor de satélite) .

Las capturas de la bios, actualmente son fáciles, pones un usb y pulsas F12 en asus y te crea una copia de la pantalla en formato bmp, ademas creo que enumerada, si hay varias .

Los arranques siguen la secuencia normal , en vez de ser puertos serie o tipo PS/2, pues son usb , (lo del principio se mantiene, memoria, cpu, gráfica, teclado, ratón, reloj, etc... hace una pausa y comprueba geometría disco (página cero) si es mbr va a el disco de arranque y si es uefi hace lo mismo, después de esa pausa carga el resto de la bios . (en mbr tiene que ir a la partición activa, no necesariamente tiene que arrancar de los 442 bytes que quedan de la pagina cero del mbr , si no que lo hace en el disco y mas si es en linux) y si es uefi lo hará donde esté el /boot/efi .

Según tenia entendido y estudie al principio es que cada sistema, debe tener su propia partición de utilidades y su propio arranque (eso da posibilidad de arrancar cualquier sistema operativo, en cambio si se comparten, falla uno pierdes dos . Pero Según he visto, mientras haya una gpt (efi sistema partición o ESP) , si es posible un /boot/EFI/grub/ y un /boot/EFI/Gentoo , etc... /boot/EFI/$ microsoft , cosa que suelo evitar y hago el sistema de forma manual (lo que me fastidia es que ademas de que se meta en linux, comparta la partición de ayuda del arranque , utilidades, etc (la que va en fat12,16,32) (quizás ese día win10 se metió ahí porque la hice en fat32, si hubiese dejado que la hiciese en fat16 como hace por defecto, a lo mejor no hubiese hecho eso) .

En cuanto los dispositivos de arranque , creo que muestra los candidatos, pero no con ello implica que pueda hacerlo, ejemplo lo de red, pueden ser, pero la opción de bios, la tengo desactivada, otros pueden tener las flags activas, pero nada instalado (un pendrive con opción boot y esp) .

Un ejemplo puede ser lo del comando efibootmgr :


mikrios:~ # efibootmgr
BootCurrent: 0000
Timeout: 2 seconds
BootOrder: 0000,0002,0099,00A5,0075,0076,0077,0078,0063,0064,0065,0068,0069,0070,0071,007A,0080,0088,0089,00A1,00A2,00A3,00A4,0062,00
A6,009E,00A7,009D,00A8
Boot0000* opensuse
Boot0002* Linux
Boot0062* HL-DT-ST BD-RE BH16NS40
Boot0063* WDS100T3X0C-00SJG0
Boot0064* WDS100T3X0C-00SJG0
Boot0065* WD_BLACK SN850 Heatsink 1TB
Boot0068* WDC WD2005FBYZ-01YCBB3
Boot0069* WDC WD2005FBYZ-01YCBB3
Boot0070* WDC WD2003FZEX-00SRLA0
Boot0071* WDC WD6003FRYZ-01F0DB0
Boot0075* UEFI: PXE IPv4 Asus Aquantia AQC111C 5GbE connection
Boot0076* UEFI: PXE IPv6 Asus Aquantia AQC111C 5GbE connection
Boot0077* UEFI: PXE IPv4 Intel(R) Ethernet Connection (2) I219-V
Boot0078* UEFI: PXE IPv6 Intel(R) Ethernet Connection (2) I219-V
Boot007A* WD_BLACK SN850 Heatsink 1TB
Boot0080* WDS100T3X0C-00SJG0
Boot0088* WDC WD1002FAEX-00Z3A0
Boot0089* WDC WD60EFRX-68L0BN1
Boot0099* opensuse
Boot009D* KingstonSNA-DC/U 1.08
Boot009E* UEFI OS
Boot00A1* WDS100T1X0E-00AFY0
Boot00A2* WDS100T1X0E-00AFY0
Boot00A3* WDC WDS100T2B0C-00PXH0
Boot00A4* WDC WD140EFGX-68B0GN0
Boot00A5* UEFI: TSSTcorpCDDVDW SE-208GB TS00
Boot00A6* TSSTcorpCDDVDW SE-208GB TS00
Boot00A7* UEFI: TOSHIBA TransMemory 1.00, Partition 1
Boot00A8* TOSHIBA TransMemory 1.00
Boot00AA WDS500G2X0C-00L350
Boot00AB WDS500G2X0C-00L350
Boot00AC WDS500G2X0C-00L350


efibootmgr, suele dar mas info con la opción -v , pero muestra las mac tanto en ipv4 , como ipv6 de las tarjetas de red, lo que si da los discos que tienen el arranque, los muestra como
/File(\EFI\OPENSUSE\GRUBX64.EFI

Las capturas de la bios, suelen ser grandes, me supongo que hay que pasar las a svg? (no creo que haya problema a png u otro formato) .

Saludos cordiales .

PD. ya está disponible la versión 2.9 de las especificaciones de uefi en la uefi.org (con la 2.7 me dio jaqueca, pero tengo curiosidad por lo que ha cambiado) .