Ventanas.  virus  Cuadernos.  Internet.  oficina.  Utilidades.  Conductores

Linux es un sistema operativo complejo y encenderlo/apagarlo es más que simplemente presionar el botón de encendido. Por lo tanto, para que el sistema funcione correctamente, realice las operaciones de inicio y parada de acuerdo con todas las reglas.

Aunque el proceso de arranque de un sistema siempre ha sido bastante complicado, todavía era un poco más fácil en los días en que los fabricantes definían literalmente todos los aspectos del hardware y software. Ahora que Linux controla el hardware de las computadoras personales (PC), el procedimiento de arranque debe seguir las reglas de la PC. En este caso, uno tiene que lidiar con muchas configuraciones posibles.

Bajo arranque de Linux comprendido inicio del sistema al encender. Dado que las instalaciones habituales del sistema operativo aún no están disponibles en esta etapa, el sistema debe literalmente "servirse a sí mismo". Durante este proceso, el núcleo del sistema se carga en la memoria y se activa. Luego se realizan una serie de tareas de inicialización, después de lo cual el sistema está listo para el servicio del usuario.

El arranque es un período de especial vulnerabilidad del sistema. Los errores en los archivos de configuración, el mal funcionamiento o la falta del hardware necesario, los sistemas de archivos dañados pueden evitar que su computadora se inicie normalmente. La configuración de los modos de arranque suele ser una de las primeras tareas que debe realizar un administrador en nuevo sistema. Desafortunadamente, esta tarea es una de las más difíciles y requiere un buen conocimiento de Linux.

Cuando se enciende, se ejecuta el código de arranque almacenado en la ROM. Debería iniciar el kernel. El kernel sondea el estado de los dispositivos de hardware y luego inicia el demonio init, cuyo ID siempre es 1.

Antes de que aparezca el aviso de registro en la pantalla, deben ocurrir una serie de eventos. Los sistemas de archivos deben verificarse y montarse, y los demonios del sistema deben iniciarse. Los procedimientos correspondientes se implementan mediante scripts de interpretación de comandos que el daemon init ejecuta secuencialmente. Estos scripts a menudo se denominan archivos rc porque tienen el prefijo "rc". Significa "ejecutar comando" y es un remanente del sistema operativo CTSS que existió alrededor de 1965. La estructura exacta de los scripts y cómo se ejecutan varía según el sistema.

Carga automática y manual

Los sistemas Linux pueden arrancar de forma automática o manual. En el primer caso, el sistema se pone en marcha por sí solo, sin ninguna intervención externa. En el segundo caso, todo sucede también automáticamente hasta que cierto momento, y antes de la ejecución de los principales scripts de inicialización, el control se transfiere al operador (la persona sentada en la terminal). En este punto, el sistema entra en el llamado “modo de usuario único”. Mayoría procesos del sistema aún no ha comenzado a ejecutarse y ningún otro usuario puede iniciar sesión.

En el trabajo diario, casi siempre se utiliza la carga automática. Un procedimiento de arranque típico en una computadora moderna se ve así: el usuario enciende y espera (espera, espera, espera...) hasta que el sistema entra en modo interactivo. Sin embargo, el administrador del sistema no solo debe comprender cómo funciona el arranque automático, sino también saber cómo arrancar el sistema manualmente. Tienes que recurrir a este último remedio si encuentras problemas que imposibilitan la descarga automática. Esto puede deberse, por ejemplo, a daños sistema de archivos o errores en la configuración de la tarjeta de red.

Descargar pasos

Un procedimiento típico de arranque del sistema Linux consta de seis pasos:

  • detección y configuración de dispositivos;
  • creación de procesos kernel;
  • acciones del operador (solo para carga manual)
  • ejecución de scripts de inicio;
  • trabajar en modo multiusuario.
  • Casi todos los pasos no requieren el control del administrador. Puede controlar el arranque del sistema editando los scripts de inicio.

    Inicialización del núcleo

    El kernel de Linux es un programa, y ​​el primer paso en el arranque es escribir ese programa en la memoria para su posterior ejecución. El archivo del núcleo suele llamarse /vmlinuz o /boot/vmlinuz .

    En Linux, arrancar el kernel es un proceso de dos pasos. Primero, se lee un pequeño programa de arranque en la memoria de la computadora desde el disco (usando un código escrito en la ROM), que luego realiza el arranque real del kernel.

    El núcleo ejecuta pruebas para determinar cuánta memoria está disponible para el sistema. Parte de las estructuras internas del kernel tiene un tamaño fijo, por lo que el kernel reserva una cierta cantidad memoria física para el mismo. Esta memoria no está disponible para los procesos de usuario. El kernel imprime un mensaje en la consola sobre la cantidad total de memoria física y la cantidad de memoria disponible para el usuario.

    Configuración de hardware

    Una de las primeras tareas del kernel es identificar los componentes hardware. Al crear un kernel para un sistema en particular, puede especificar qué dispositivos debe verificar. Cuando se activa, el kernel intenta encontrar e inicializar todos los dispositivos de los que se le ha informado. El kernel imprime en la consola. Breve información sobre cada dispositivo descubierto. Las distribuciones modernas incluyen un kernel que puede ejecutarse en la mayoría de las configuraciones de hardware de la computadora y requiere ajuste mínimo o prescindir de él por completo.

    La información del dispositivo proporcionada al configurar el kernel a menudo está incompleta. En tal situación, el núcleo intenta obtener la información necesaria sondeando los dispositivos conectados al bus del sistema y recopilando la información necesaria de los controladores apropiados. Los controladores de dispositivos que faltan o que no responden al latido están deshabilitados. Si el dispositivo se conecta más tarde al sistema, puede cargar o activar dinámicamente su controlador.

    Procesos del núcleo

    Después de completar la fase de inicialización básica, el kernel crea varios procesos de "autoejecución" en el área de memoria asignada a los programas de usuario. Esto sucede "pasando por alto" la llamada al sistema de bifurcación estándar.

    El número y la naturaleza de tales procesos dependen del sistema operativo. En Linux, estos son el daemon init (siempre id 1; no hay id de proceso 0) y varios controladores de señal y memoria del kernel, incluidos los que se muestran en la Tabla 1. 1. Todos estos procesos tienen ID de número bajo y sus nombres en las listas ps están entre corchetes (por ejemplo, ). A veces, los nombres de los procesos pueden terminar con una barra oblicua y un número, como . El número indica el procesador en el que se ejecuta el proceso. Esta información puede ser útil al configurar un sistema multiprocesador.

    Tabla 1. Algunos de los procesos más comunes. núcleos de Linux

    De estos procesos, solo init es un proceso de usuario completo; el resto son en realidad partes del núcleo que fueron creados por los procesos por razones conceptuales.

    Una vez que se han creado estos procesos, el núcleo ya no participa en el procedimiento de arranque del sistema. En este punto, sin embargo, ninguno de los procesos que gestionan operaciones básicas(por ejemplo, iniciando sesión de usuarios en el sistema) y la mayoría de los demonios no se están ejecutando. De todo esto se ocupa (en algunos casos indirectamente) el demonio init.

    Acciones del operador (solo carga manual)

    Si es necesario iniciar el sistema en modo de usuario único, el operador establece un indicador especial (la palabra "único") en la línea de comandos y el kernel pasa esta información al demonio init. Este último, a su vez, pasa el control al comando sulogin, una versión especial del comando de inicio de sesión, que solicita la contraseña del usuario raíz. Si se ingresa correctamente, el intérprete de comandos se inicia con derechos de superusuario. No puede establecer una contraseña, solo haga clic en< Ctrl+D >, después de lo cual la descarga continuará en modo multiusuario.

    En el modo de usuario único, los comandos se ejecutan de la misma manera que en un sistema completamente iniciado. Sin embargo, SUSE, Debian y Ubuntu generalmente solo montan la partición raíz. Para poder usar programas fuera de los directorios /bin, /sbin o /etc, debe montar manualmente el resto de los sistemas de archivos.

    En muchos entornos de un solo usuario, el directorio raíz del sistema de archivos se monta como de solo lectura. Si /tmp es parte del sistema de archivos raíz, muchos comandos que usan archivos temporales (como vi) fallarán. La salida es iniciar una sola sesión de usuario volviendo a montar el directorio / en modo de lectura/escritura. La acción requerida se realiza mediante el comando:

    # montar -o rw, volver a montar /

    En los sistemas Red Hat y Fedora, el arranque en modo de usuario único es algo más activo de lo habitual. Hasta que se muestre el símbolo del sistema del intérprete de comandos, estas distribuciones intentarán montar todos los sistemas de archivos locales. Aunque a primera vista este enfoque parece conveniente, puede causar problemas cuando se utiliza un sistema de archivos insuficientemente pensado.

    El comando fsck, que busca y repara sistemas de archivos corruptos, generalmente se ejecuta como parte de descarga automática. Si el sistema se inicia en modo de usuario único, el comando fsck debe ingresarse manualmente.

    Cuando el intérprete de comandos del modo de usuario único haya completado su trabajo, el sistema continuará arrancando en modo multiusuario.

    Ejecución de secuencias de comandos de inicio del sistema

    En el momento en que el sistema puede ejecutar scripts de inicio, ya puede llamarse Linux. Todavía no es un sistema completamente iniciado, pero no hay más pasos "misteriosos" en el proceso de inicio. Los archivos de secuencia de comandos son archivos por lotes ordinarios que el daemon init selecciona y ejecuta de una manera compleja pero generalmente comprensible.

    La ubicación exacta, el contenido y la organización de los scripts de inicio merecen un estudio por separado.

    Trabajar en modo multiusuario

    Después de ejecutar los scripts de inicio, el sistema está completamente operativo, con una excepción: nadie puede iniciar sesión. Para que una terminal en particular (incluida la consola del sistema) pueda iniciar sesión en el sistema, el proceso getty debe estar ejecutándose, esperando solicitudes de esa terminal. El demonio init genera todos los procesos getty necesarios, completando la fase de arranque. Si el sistema está configurado para el modo gráfico, el demonio init también genera los procesos de inicio de sesión apropiados, como xdm o gdm.

    Tenga en cuenta que el demonio init continúa desempeñando un papel importante incluso después de que se completa el arranque. Tiene un solo usuario y varios "niveles de ejecución" multiusuario que determinan qué recursos del sistema estarán disponibles para el usuario.

    Arrancar Linux en una computadora personal

    Hasta este punto, se ha descrito esquema general oreja. Ahora, algunas de sus etapas más importantes (y complejas) deben considerarse con más detalle mediante el análisis de características adicionales del funcionamiento de las computadoras personales.

    Arrancar un sistema en una computadora personal es un proceso de varios pasos. Cuando se enciende la computadora, el código almacenado en la ROM comienza a ejecutarse. Su ubicación y estructura exactas dependen del tipo de equipo. En las computadoras construidas específicamente para UNIX u otro sistema operativo comercial, el desarrollador "muestra" el código, quien preestablece el algoritmo para conectar dispositivos, inicialización básica de la red y reconocimiento de sistemas de archivos locales. Esto es muy conveniente para administrador de sistema. Todo lo que necesita hacer es ingresar el nombre del nuevo archivo del kernel y el código ROM detectará y leerá automáticamente el archivo.

    En las computadoras personales, el código de arranque se presenta en forma de un subsistema básico de entrada / salida: BIOS (Sistema básico de entrada / salida), que está extremadamente simplificado en comparación con el código propietario de las estaciones UNIX. En realidad, hay varias capas de código en el BIOS: para la computadora en sí, para la tarjeta de video, para el adaptador SCSI si lo hay y, a veces, para otros periféricos como tarjetas de red.

    El código de BIOS incorporado reconoce los dispositivos ubicados en el tarjeta madre, en particular el controlador IDE (y discos duros), la placa adaptador de red, controlador de teclado, puertos seriales y paralelos. Los adaptadores SCSI solo reconocen los dispositivos conectados directamente a ellos. Afortunadamente, en los últimos años, las complejas interacciones necesarias para que estos dispositivos funcionen juntos se han estandarizado y ahora requieren poca o ninguna intervención del operador.

    EN computadoras modernas El código BIOS es más inteligente que antes. Le permiten ingresar al modo de configuración durante la fase de arranque manteniendo presionada una o dos teclas. En la mayoría de los casos, los nombres de estas teclas se muestran en la pantalla para que no sea necesario buscarlas en la documentación.

    En el modo de configuración, puede elegir desde qué dispositivo desea iniciar, aunque la elección no es tan buena. Por lo general, la secuencia de inicio se especifica como regla, por ejemplo: "Primero: unidad de disquete, luego: Lector de CD ROM, por último - disco duro". Desafortunadamente, en algunos BIOS, el arranque se limita a poder arrancar desde la primera unidad de CD-ROM IDE o la primera disco duro IDE. Los adaptadores SCSI también se pueden reconocer.

    Cuando la computadora ha determinado desde qué dispositivo arrancar, los primeros 512 bytes se leen del disco. Este segmento de disco se denomina Master Boot Record (MBR). Almacena un programa que le dice a la computadora en qué partición del disco se encuentra el programa de arranque secundario (cargador del sistema operativo).

    El programa estándar, ubicado en GBZ, le indica a la computadora que elimine el gestor de arranque del sistema operativo de la primera partición del disco. Linux admite programas más complejos que pueden ejecutarse en múltiples sistemas operativos y kernels.

    Habiendo encontrado la partición desde la cual se iniciará el sistema, el programa GZZ intenta iniciarse programa de arranque asociado a esta sección. Si tiene éxito, este programa recibe la autoridad para cargar más el núcleo.

    linux: Guía completa Kolisnichenko Denis Nikoláyevich

    1.8. Primero inicia Linux

    1.8. Primero inicia Linux

    Si eligió el modo gráfico para iniciar sesión en el sistema (o el instalador lo eligió sin preguntar nada), entonces verá pantalla gráfica con un campo de nombre de usuario y contraseña. Inicie sesión en el sistema (preferiblemente con el nombre que configuró para un usuario normal; use la raíz solo si aún no tiene cuentas regulares) y verá el escritorio del entorno de ventanas que configuró como el entorno predeterminado. , exteriormente bastante similar al escritorio de Windows.

    ¿Cómo es que has oído que los linuxoides reales funcionan en un entorno de línea de comandos? Ahora busquemos línea de comando.

    Ya sabes que la consola, o terminal (para una computadora personal, estos conceptos son sinónimos) son dispositivos de entrada-salida diseñados para comunicarse con el usuario, es decir, el teclado y el monitor. En los sistemas tipo UNIX, existe el concepto de consolas virtuales: consolas que se turnan para ocupar físicamente el mismo monitor y teclado. Cada uno de ellos puede abrir una sesión de usuario separada, ejecutar sus propias aplicaciones, en general, son sistemas informáticos casi independientes entre sí.

    Mayoría distribuciones de Linux por defecto, se sirven seis consolas virtuales basadas en texto, la séptima es gráfica. Estás en ello. Para pasar de ella a la primera consola de texto, presione la combinación de teclas Ctrl+Alt+F1 (para la sexta, Ctrl+Alt+F6).

    En respuesta a una invitación del programa acceso: ingrese root y presione<Ввод>. Luego ingrese su contraseña y se iniciará su sesión de consola de texto.

    La información sobre el nombre de red de la máquina, la versión del sistema operativo y la arquitectura se puede obtener mediante el comando uname -a.

    Si cuenta para un usuario habitual que aún no lo tiene, es hora de obtenerlo. Introducir comando

    #useradd< имя >

    Si le dijeron "comando no encontrado", entonces este comando se llama adduser en su sistema.

    #contraseña< имя >

    Ahora puede registrarse con un nuevo nombre en otro consola virtual. Para cambiar de una consola de texto a otra consola de texto, presione Alt + Fn, donde n es un número del 1 al 6. Verá nuevamente el mensaje acceso:.

    ¿Registrado? Preste atención a la línea de aviso. En la consola donde está conectado como root, termina con un #, y para cualquier usuario normal, con un $. Además de este carácter, el indicador generalmente consta del nombre de usuario, el nombre del sistema y el directorio actual, y puede cambiar su apariencia una vez que sepa cómo hacerlo. En los siguientes ejemplos, las líneas que comienzan con # o indicarán el comando que se está ingresando, y las líneas sin dicho símbolo indicarán sus mensajes.

    Ahora comprueba por ti mismo que Linux es realmente un sistema multitarea y multiusuario, es decir, a diferencia de Windows, varios usuarios pueden trabajar simultáneamente. Pregunte quién está conectado actualmente ingresando el comando who.

    Verás algo como:

    raíz tty1<дата и время начала сеанса root>

    ivan tty2<дата и время начала сеанса ivan>

    raíz: 0<дата и время начала сеанса root>

    <на графической консоли>

    ttyN es el número de la consola de texto virtual.

    Si está perdido y desea saber en qué consola se encuentra actualmente, escriba el comando tty. Si olvidó el nombre de usuario con el que inició sesión en la consola actual, ingrese el comando whoami. El comando w mostrará no solo los usuarios que se están ejecutando actualmente, sino también las tareas que han iniciado.

    Puede desplazarse por la pantalla usando las combinaciones de teclas Shift+PgUp y Shift+PgDn.

    Use el mouse para copiar texto a la línea de comando: arrastrando el mouse mientras mantiene presionado el botón izquierdo selecciona el fragmento, haciendo clic botón derecho lo inserta en la posición actual del cursor en cualquier consola de texto virtual.

    Si desea trabajar bajo el nombre de otro usuario sin salir de esta consola, escriba su<имя>. El nombre predeterminado es raíz. Por lo general, esto es necesario para realizar rápidamente algún tipo de acción administrativa. Regrese al trabajo bajo su nombre con el comando de salida.

    Para volver a la consola gráfica, presione Alt+F7.

    En el modo gráfico, no solo puede hacer clic en los iconos, sino también ingresar comandos. Para hacer esto, inicie una terminal virtual (Fig. 1.13) - aplicación de gráficos, en cuya ventana puede trabajar en modo de línea de comandos.

    Arroz. 1.13. Ventana de terminal virtual

    La cantidad de terminales virtuales, a diferencia de la cantidad de consolas virtuales, no está limitada por nada, ni siquiera por la tradición.

    Para finalizar una sesión de terminal virtual o consola virtual, escriba exit (también puede cerrar sesión en una consola virtual) o presione Ctrl+D.

    Cerrar un usuario no detiene todo el sistema. Para apagar la máquina, debe dar el comando con derechos de superusuario

    # shutdown -h 19:00 [Fin de la jornada laboral]

    Al mismo tiempo, unos minutos antes de la hora especificada, se enviará un mensaje de advertencia de "Fin de la jornada laboral" a todos los que trabajan en el sistema, luego de lo cual el sistema se detendrá correctamente. La forma abreviada de este comando es halt , que detiene el sistema inmediatamente y sin previo aviso. Puede reiniciar con el comando de reinicio.

    Del libro Mundo de la Comunicación: ICQ autor Leontiev Vitaly Petrovich

    Primera ejecución del programa. Interfaz ICQ Después de instalar ICQ y reiniciar su computadora, aparecerá una flor modesta con pétalos pálidos en la esquina derecha de su barra de tareas: ICQ Netdetect Agent. Ícono de ICQ Cuando inicia sesión en Internet, los pétalos de las flores deben volverse de color verde brillante

    De la Guía del usuario de Fedora 8 autor Kolisnichenko Denis Nikoláyevich

    1.1.3.1. Ejecución del instalador de Linux El primer paso es configurar su computadora para que arranque desde el CD. Por lo general, cuando enciende la computadora, ve un mensaje en la pantalla: Presione DEL para ingresar a CONFIGURACIÓN o Presione F2 para ingresar a CONFIGURACIÓN

    Del libro de Linux para el usuario autor Kostromin Viktor Alekseevich

    Capítulo 3. El primer inicio de OS Linux 3.1. Arrancando el sistema operativo Linux Entonces, instalación de linux completado y reinicia su computadora. Si Linux es el único sistema operativo instalado en su computadora (y, por lo tanto, el cargador de arranque LILO se encuentra en el registro de arranque maestro - MBR), luego de

    del libro 200 los mejores programas para Linux autor Yaremchuk Serguéi Akimovich

    P5. Al capítulo 3 "Primer lanzamiento del sistema operativo Linux" 1. En la página de Alexey Makhotkin (http://alexm.here.ru/manpages-ru/index.html) puede encontrar traducciones al ruso de las páginas man. 2. Guido Gonzato, "From DOS/Windows to Linux HOWTO", traducido por Alex Ott, v1.3.2, 22 de febrero de 1999 (http://linux.webclub.ru/howtorus/doswinhow/dos-win-to-linux -cómo .html). Este es un material muy útil.

    Del libro Video Tutorial para Edición de Video Casero en Adobe Premiere Pro CS3 autor Dneprov Alejandro G.

    lanzamiento juegos de windows bajo Linux Hay pocos juegos para Linux. Hay un montón de juegos no casuales que permiten matar el tiempo en Linux, al instalar la distribución, el usuario encontrará varias decenas de ellos. También hay proyectos OpenSource que ofrecen juegos bastante serios en una amplia variedad de

    Del libro Creación Plantillas Joomla autor autor desconocido

    Inicio de Premiere Pro por primera vez La instalación de Premiere Pro en su computadora sigue un asistente paso a paso. Solo necesita seguir las instrucciones en la pantalla. Iniciemos Premiere Pro y creemos nuevo proyecto para obtener más información sobre la interfaz del programa.1. Hacer clic

    Del libro Revista Computerra Digital No. 71 autor revista informatica

    Primer lanzamiento Después de haber creado la estructura de directorios [PathToJoomla!]/templates/, nuestra plantilla aparecerá en la sección correspondiente de Joomla! (Extensiones | Plantilla). Ahora se puede utilizar como plantilla predeterminada. Arroz. 2: estructura de directorios y archivos de plantilla

    Del libro Computerra PDA N113 (28/05/2011-03/06/2011) autor revista informatica

    primer vistazo fedora linux 15 Evgeny Krestnikov Publicado el 30 de mayo de 2011 Este tema es importante por varias razones. En primer lugar, Fedora es una distribución popular que utilizan muchas personas en todo el mundo. Además, es creado por la comunidad.

    Del libro Cómo encontrar y descargar cualquier archivo en Internet autor Reitman M. A.

    Primer vistazo a Fedora Linux 15 Por Evgeniy Krestnikov Publicado el 30 de mayo de 2011 Esta versión es importante por varias razones. En primer lugar, Fedora es una distribución popular que utilizan muchas personas en todo el mundo. Además, está creado por una comunidad de desarrolladores independientes.

    Del libro Un tutorial visual para trabajar en una netbook autor Senkevich G. E.

    Primer lanzamiento Como la mayoría de los modernos programas antivirus, AVG Anti-Virus Free no es un solo programa, sino un paquete que consta de varios módulos responsables de varias áreas de protección de la computadora:? Antivirus: escáner antivirus, responsable de escanear archivos

    Del libro GUÍA DEL DESARROLLADOR DE LA BASE DE DATOS Firebird autor borri helen

    Primer lanzamiento de Mail ventanas viven Para ejecutar el instalado programa de correo, haga clic en el botón Inicio y en el menú que se abre, seleccione Correo de Windows Live (1) Si este icono no aparece en el menú, haga clic en Todos los programas. En la lista de programas, haga clic en párrafo Windows vivir-

    Del libro de Photoshop CS4 autor Zhvalevski Andrei Valentinovich

    Primero Inicio de Windows Medios Para iniciar el reproductor Windows Media Haga clic en el botón de la barra de tareas o seleccione Todos los programas|Reproductor de Windows Media en el menú del botón Inicio. Cuando inicie el reproductor por primera vez, se le pedirá que realice algunos ajustes para él. Establecer el interruptor

    Del libro Preguntas de la Historia: UNIX, Linux, BSD y otros autor Fedorchuk Alexey Viktorovich

    Ejecución de Firebird en Linux/UNIX Superserver El directorio de instalación predeterminado es /opt/firebird. En el directorio /bin está en formato binario servidor firebird fbserver (ibserver para Firebird 1.0.x), que se ejecuta como un proceso daemon en Linux/UNIX. Se inicia automáticamente después de la instalación a través de RPM o

    Del libro del autor

    Instalación de Photoshop CS4 y primer lanzamiento Los requisitos del sistema para Photoshop CS4 son: Procesador de 1,8 GHz o más rápido; sala de operaciones sistema de ventanas XP con Service Pack 2 (preferiblemente Service Pack 3) o Windows Vista; al menos 512 MB memoria de acceso aleatorio(recomendado 1 GB); 16 bits

    Del libro del autor

    Slackware: el primer paso hacia Linux para todos Entonces, la distribución SLS está muerta. Pero su alma siguió viva. Incluso durante su desarrollo activo, Patrick Volkerding adoptó SLS como base de su sistema Linux, llamado Slackware, cuya primera versión se hizo pública el 17 de julio de 1993 y se ha desarrollado con éxito desde entonces.

    Del libro del autor

    IPLabs Linux Team: el comienzo de Russian Linux El siguiente hito en el camino de Russian Linux fue 1998, cuando IPLabs (más precisamente, su división - IPLabs Linux Team) junto con el Instituto de Lógica (de hecho, eran las mismas personas - Alexei Novodvorsky, Alexei Smirnov y Yuri Devyatkin con

    Bootstrapping se refiere a iniciar el sistema cuando se enciende la alimentación. Dado que los medios habituales del sistema operativo aún no están disponibles en esta etapa, el sistema debe "arrancar solo", literalmente "servirse a sí mismo". Durante este proceso, el núcleo del sistema se carga en la memoria y se activa. Luego se realizan una serie de tareas de inicialización, después de lo cual el sistema está listo para el servicio del usuario.

    El arranque es un período de especial vulnerabilidad del sistema. Los errores en la configuración, el mal funcionamiento o la falta de hardware, los sistemas de archivos dañados pueden evitar que su computadora se inicie normalmente. La configuración de los modos de arranque suele ser una de las primeras tareas que un administrador debe realizar en un nuevo sistema, especialmente cuando se agrega nuevo hardware. Desafortunadamente, esta tarea es una de las más difíciles y requiere un buen conocimiento de muchos otros aspectos del sistema.

    Cuando se enciende la alimentación, el código de arranque almacenado en la ROM se ejecuta para su ejecución. Debería iniciar el kernel. El kernel sondea el estado de los dispositivos de hardware y luego inicia el demonio init, cuyo ID siempre es 1.

    Antes de que el sistema pueda iniciarse por completo, los sistemas de archivos deben verificarse y montarse, y los demonios del sistema deben iniciarse. Los procedimientos correspondientes se implementan mediante scripts de interpretación de comandos que el daemon init ejecuta secuencialmente. La estructura exacta de los scripts y cómo se ejecutan varía según el sistema.

    Lo principal es activar el shell de comandos.

    Durante el funcionamiento normal, los propios sistemas realizan el arranque inicial fuera de línea, después de lo cual pueden recibir acceso remoto administradores y usuarios. Sin embargo, los administradores deben tener una herramienta de recuperación del sistema en caso de que una falla inesperada en la unidad o algún problema de configuración impida que el sistema realice el proceso de arranque con normalidad. sistemas UNIX (en lugar de descargar programa completo”) puede limitarse solo a lo más necesario, a saber, la activación del shell de comandos en la consola del sistema. Esta opción se llama ingresar al sistema en el llamado "modo de usuario único", modo de recuperación o modo profiláctico; todos estos términos son intercambiables. El modo de usuario único no le permite realizar operaciones de red, y para usar la consola del sistema necesita tener acceso físico A ella.

    En la mayoría de los sistemas, ingresar al modo de usuario único en el momento del arranque requiere pasar un parámetro al kernel en la línea de comando. Si el sistema ya está iniciado y funcionando, puede ponerlo en modo de usuario único con el comando cerrar o telinit.

    Descargar pasos

    Un procedimiento de arranque típico consta de seis pasos separados:

    • leer el cargador de arranque desde el registro de arranque maestro;
    • detección y configuración de dispositivos;
    • creación de procesos kernel;
    • intervención del administrador (solo en modo de usuario único);
    • ejecución de scripts de inicio del sistema.

    Casi todos los pasos no requieren control interactivo por parte del administrador. Después de todo, los administradores tienen la capacidad de controlar el inicio del sistema editando los archivos de configuración para los scripts de inicio del sistema o cambiando los argumentos que pasa el gestor de arranque al kernel.

    Inicialización del núcleo

    El kernel es un programa, y ​​la primera tarea de bootstrap es escribir ese programa en la memoria para su posterior ejecución. El nombre del archivo kernel lo da su fabricante, pero tradicionalmente se llama /unix o /vmunix. En los sistemas Linux, el kernel generalmente recibe un nombre de ruta como una variación del tema. /arranque/vmlinuz.

    En la mayoría de los sistemas, el arranque se produce en dos pasos. Primero, un pequeño programa de arranque (llamado cargador de arranque) se lee en la memoria de la computadora desde el disco (usando el código almacenado en la memoria de solo lectura) y luego realiza la carga real del kernel. Este procedimiento tiene lugar fuera del dominio UNIX y, por lo tanto, no está estandarizado en todos los sistemas.

    El núcleo ejecuta pruebas para determinar cuánta memoria está disponible para el sistema. Algunas de las estructuras internas del kernel tienen un tamaño fijo, por lo que el kernel reserva una cierta cantidad de memoria física para sí mismo. Esta memoria no está disponible para los procesos de usuario. El núcleo imprime un mensaje en la consola sobre la cantidad total de memoria física y la cantidad de memoria disponible para los procesos del usuario.

    Configuración de hardware

    Una de las primeras tareas del núcleo es el estudio de los componentes de hardware. Durante las pruebas de varios autobuses del sistema e inventario de hardware, el kernel imprime un breve resumen de cada dispositivo descubierto en la consola. En muchos casos, el núcleo carga los controladores de dispositivos como módulos independientes del núcleo. Para sistemas enfocados en Computadoras personales, las distribuciones incluyen un kernel que puede ejecutarse en la mayoría de las configuraciones de hardware de la computadora con poca o ninguna configuración.

    El proceso de configuración del hardware debe ser relativamente transparente para los administradores, especialmente en un entorno Linux. Los núcleos listos para usar son modulares y detectan automáticamente la mayoría de los dispositivos. Sin embargo, puede encontrar dispositivos no reconocidos.

    Creación de procesos del núcleo

    Después de completar la fase de inicialización básica, el kernel crea varios procesos "autoejecutables" en el área de memoria asignada a los programas de usuario. Esto sucede "pasando por alto" el mecanismo estándar del sistema tenedor.

    El número de dichos procesos depende del sistema operativo, aunque el demonio init siempre tiene un ID de proceso ( PID) es 1. La mayoría de los sistemas UNIX usan sched como un proceso con ID de proceso 0.B proceso de linux con un PID de 0 falta. Demonio en eso funciona en conjunto con varios manejadores de señales y memoria del núcleo. Todos estos procesos tienen ID de proceso con números bajos y sus nombres están entre corchetes en las listas de comandos de ps (por ejemplo, ). A veces, los nombres de los procesos pueden terminar con una barra oblicua y un número, como . El número indica el procesador en el que se ejecuta el proceso. Esta información puede ser útil al configurar un sistema multiprocesador.

    Algunos de los procesos del kernel más comunes en los sistemas Linux
    Propósito del proceso

    k journald Escribir actualizaciones de diario en el disco
    kswapd Intercambiar procesos cuando no hay suficiente memoria física

    ksoftirqd Maneja interrupciones suaves si no se pueden manejar durante un cambio de contexto

    khubd Configura dispositivos USB

    Hay un proceso kjoumald para cada sistema de archivos ext3 o ext4 montado.

    De estos procesos, solo init es un proceso de usuario completo; el resto son en realidad partes del núcleo que fueron creados por los procesos por razones conceptuales.

    Los sistemas UNIX crean procesos de kernel similares, pero debido a que estos procesos reflejan las especificaciones de una implementación de kernel en particular, ningún nombre o función puede ser el mismo para diferentes sistemas. Afortunadamente, los administradores nunca tienen que interactuar directamente con estos procesos.

    Una vez que se crean estos procesos, el núcleo ya no participa en el procedimiento de arranque del sistema. En este punto, sin embargo, aún no se ha creado ninguno de los procesos que administran las operaciones básicas (como el inicio de sesión de los usuarios en el sistema), y la mayoría de los demonios no se han iniciado. De todo esto se ocupa (en algunos casos indirectamente) el demonio init.

    Respuesta del operador (solo en modo de recuperación)

    Si es necesario iniciar el sistema en modo de recuperación, el operador establece un indicador especial en la línea de comando y el kernel pasa esta información al demonio init como una notificación de inicio. Durante el arranque de un solo usuario, se le debe solicitar la contraseña de root. Si se ingresa correctamente, el intérprete de comandos se inicia con derechos de superusuario. No puede establecer una contraseña, simplemente presione una combinación de teclas , después de lo cual la descarga continuará en modo multiusuario

    En el modo de usuario único, los comandos se ejecutan de la misma manera que en un sistema completamente iniciado. Sin embargo, a veces solo se monta la partición raíz. Para poder usar programas fuera de los directorios /bin, /sbin o /etc, debe montar manualmente el resto de los sistemas de archivos.

    En muchos entornos de un solo usuario, el directorio raíz del sistema de archivos se monta como de solo lectura. Si el directorio /etc es parte del sistema de archivos raíz (la situación habitual), será imposible editar muchos archivos de configuración. La salida es iniciar una sola sesión de usuario volviendo a montar el directorio / en modo de lectura/escritura. La acción deseada en los sistemas Linux se realiza con el siguiente comando.

    # montar -o rw, volver a montar /

    En la mayoría de los demás sistemas, puede ejecutar el comando montar/ para implementar un acceso a archivos fstab o vfstab y descubra cómo se debe montar el sistema de archivos.

    En un sistema Red Hat, el arranque en modo de usuario único es algo más rápido de lo habitual. Hasta que se muestre el símbolo del sistema del intérprete de comandos, esta distribución intentará montar todos los sistemas de archivos locales. Aunque a primera vista este enfoque parece conveniente, puede causar problemas cuando se utiliza un sistema de archivos insuficientemente pensado.

    Equipo fsck, que busca y repara sistemas de archivos dañados, normalmente se realiza durante el arranque automático. Si el sistema se inicia en modo de usuario único, el comando fsck habrá que introducirlo manualmente.

    Cuando el intérprete de comandos del modo de usuario único termine su trabajo, el sistema continuará arrancando en modo normal.

    Ejecución de secuencias de comandos de inicio del sistema

    En el momento en que el sistema puede ejecutar scripts de inicio, ya se puede llamar UNIX. Todavía no es un sistema completamente iniciado, pero no hay más pasos "misteriosos" en el proceso de inicio. Los archivos de script son los habituales. archivos por lotes, que son seleccionados y ejecutados por el demonio init de acuerdo con un algoritmo complejo, pero, en general, comprensible.

    La ubicación exacta, el contenido y la organización de los scripts de inicio merecen un estudio por separado.

    Completando el proceso de descarga

    Después de ejecutar los scripts de inicialización, el sistema está completamente operativo. Los demonios del sistema, como los servidores DNS y SMTP, aceptan y dan servicio a las conexiones. Tenga en cuenta que el demonio init continúa desempeñando un papel importante incluso después de que se completa el arranque.

    El daemon init tiene un solo usuario y varios "niveles de ejecución" multiusuario que determinan qué recursos del sistema estarán disponibles para el usuario.

    Linux generalmente se coloca después de Windows para que GRUB se sobrescriba. cargador de arranque de Windows y mostró ambos sistemas durante el arranque. De forma predeterminada, Linux es lo primero y Windows lo último. Puede que a algunos no les guste este arreglo.. Hay otro parámetro importante: el tiempo de espera.

    Por lo general, debe esperar 10 segundos, y solo entonces se carga el primer sistema operativo. Esta configuración se puede cambiar fácilmente.

    Todo lo que tienes que hacer es editar el archivo. grub.cfg. Para estar seguros, trabajaremos con una copia del archivo en el escritorio. Para que se guarden los cambios se debe abrir el archivo como administrador - para esto usamos la consola.

    1 . Ir a la carpeta " arranque/grub/"y copiar el archivo" grub.cfg" en el escritorio. Esto se puede hacer a través de la consola o a través del administrador de archivos.


    Si selecciona la consola, ingrese el comando: " sudo cp /boot/grub/grub.cfg /home/kij/Desktop/» .


    "kij"- este es el nombre de usuario, el tuyo probablemente sea diferente.

    2 . Abre el archivo " grub.cfg» en el escritorio en un editor de texto. Lo hacemos a través de la consola: "s udo kate /home/kij/Desktop/grub.cfg»

    « Kate" - Este editor de texto Menta de Linux KDE 15. Si tiene una distribución diferente, lo más probable es que el editor sea diferente, por ejemplo, " gedit».

    3. Presta atención a la línea " establecer por defecto = 0».

    Cada entrada en GRUB tiene un número:

    Linux - 0;

    Linux... modo de recuperación - 1;

    Prueba de memoria - 2;

    Prueba de memoria (otra modificación) - 3;

    Ventanas 7 - 4.


    El tuyo puede ser un poco diferente. En mi caso, el indicador predeterminado debe ser 4, luego Windows se cargará de forma predeterminada.

    4. Ahora cambiamos el parámetro temporal. Estamos buscando en el mismo grub.cfg" línea " establecer tiempo de espera =...».


    Publicamos todo lo que necesites. Si la computadora es utilizada por varios usuarios, configure un tiempo de espera prolongado: segundos 30. Si carga constantemente un sistema operativo, configúrelo en segundos 2-3.

    5. Guardamos los cambios. Cerramos el editor.

    6. Copie el archivo del escritorio de nuevo a carpeta del sistema. Usamos el comando " sudo cp /home/kij/Desktop/grub.cfg /boot/grub/».


    Todo, ahora reiniciamos la computadora para asegurarnos de que los parámetros estén configurados correctamente.

    Probablemente la tarea más primaria y típica de un administrador de sistemas es asegurarse de que el sistema operativo arranque correctamente.

    Para hacer esto, es absolutamente necesario que el administrador tenga una comprensión clara de los principios del arranque del sistema y los distintos pasos de este proceso.

    Debo decir que las tareas de eliminar varios fallos de funcionamiento al cargar el sistema a menudo se encuentran en varios exámenes de certificación en las áreas de OS.

    El primer paso después de encender la computadora es ejecutar código especial inicio, que se representa como un sistema básico de entrada/salida (BIOS). El sistema BIOS conoce casi toda la configuración del hardware. Hay información desde qué dispositivo leer los primeros 512 bytes (MBR).

    Es en el MBR (Master Boot Record) donde se almacena el programa de arranque principal (etapa 1), que contiene información sobre dónde se encuentra el programa de arranque secundario (etapa 2), que se carga solo Sistema operativo.

    Tal cargador en nuestro ejemplo particular es GRUB (Grand Unified Boot Loader). También hay una etapa intermedia (la llamada etapa 1.5), que ayuda al cargador del sistema operativo a determinar los parámetros especiales del sistema de archivos. Esta subrutina se utiliza si Cargador de arranque GRUB no se instaló directamente en el MBR.

    Después de obtener el control, GRUB muestra una lista de sistemas operativos (Linux/Windows y varias versiones Kernels de Linux), si está disponible. De lo contrario, el control pasa a la línea de comandos de GRUB.

    Supongamos que todo va como debería y hemos elegido el sistema operativo (o la versión del kernel) que necesitamos. En este caso, GRUB va a su negocio favorito: cargar el sistema operativo en sí.

    Toda la información sobre el progreso del proceso de arranque se muestra en la pantalla (si no hay ningún parámetro en las opciones de arranque del kernel) tranquilo ), así como en el archivo de registro /var/log/dmesg. Que se puede ver directamente o usando la utilidad dmesg.

    Con base en la salida de la información del servicio, se pueden sacar conclusiones sobre los parámetros de hardware y software, como las versiones del kernel del sistema operativo, la cantidad de RAM, la cantidad y las características de los procesadores, los discos duros y sus particiones correspondientes. tarjetas de red, archivo de intercambio y más.

    El análisis de esta información en caso de que no se inicie el sistema operativo puede arrojar luz sobre el problema, por lo que este archivo se considera lo suficientemente importante para la resolución de problemas.

    Cuando se carga el kernel del sistema, se realiza la configuración básica de los dispositivos necesarios, los subsistemas LVM y RAID, y el disco initrd, lo que permite cargar los controladores necesarios.

    Los pasos adicionales para cargar procesos son muy diferentes según la versión del sistema operativo. RHEL5 utiliza el proceso tradicional de carga del servicio SysV. En RHEL6 ya existe una paralelización parcial de los procesos de carga, y según sea necesario, y no todos seguidos. En las nuevas versiones de RHEL (desde la versión 3.0 del kernel) el proceso se optimiza aún más utilizando el programa systemd, al igual que en Fedora desde la versión 15. En este caso, se utiliza un modo de operación asíncrono, lo que acelera la carga del sistema operativo.

    Después de pasar el control al proceso init, el núcleo entra en un modo especial y acepta llamadas de todos los procesos a través de una interfaz especial de llamadas al sistema universal. En esto, el arranque de Linux puede considerarse completo.

    También te gustará:

    sala de operaciones sistema linux Curso de conferencias. Tutorial Arreglando CVE-2015-0235 en Linux

    Si nota un error, seleccione un fragmento de texto y presione Ctrl + Enter
    COMPARTIR: