Menu Close

Linux系统启动过程, Linux系统登陆和远程登陆

Linux系统启动过程

BIOS(Basic Input Output System),基本输入输出系统。BIOS是计算机启动时加载的第一个软件。其实,它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机后自检程序和系统自启动程序。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。

主引导记录(MBR,Main Boot Record)是位于磁盘最前边的一段引导(Loader)代码。它负责磁盘操作系统(DOS)对磁盘进行读写时分区合法性的判别、分区引导信息的定位,它由磁盘操作系统(DOS)在对硬盘进行初始化时产生的。硬盘的主引导记录(MBR)是不属于任何一个操作系统的,它先于所有的操作系统而被调入内存,并发挥作用,然后才将控制权交给主分区(活动分区)内的操作系统。

Linux启动过程大致如下:

  • 加载内核
  • 启动初始化进程init
  • 确定运行级别
  • 加载开机启动程序
  • 用户登录
  • 进入 login shell(Linux启动结束)

1、加载内核

当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。

内核是操作系统的核心代码,可提供对硬件和其他服务的访问。 引导加载程序(The bootloader ) 将启动内核运行。

为了使内核保持合理的大小并允许为单独的硬件提供单独的模块,现代内核还使用内存中存在的文件系统,即“初始ram磁盘”的“ initrd”。

内核启动在initrd文件系统内的init脚本,该脚本加载硬件驱动程序并找到根分区。

2、运行init

内核文件加载以后,就开始运行第一个程序 /sbin/init,它的作用是初始化系统环境。由于init是第一个运行的程序,它的进程编号(pid)就是1。其他所有进程都从它衍生,都是它的子进程。查看进程可以看到pid=1的init进程。

 

3、运行级别

许多程序需要开机启动。它们在Windows叫做”服务”(service),在Linux就叫做”守护进程”(daemon)。init进程的一大任务,就是去运行这些开机启动的程序。

但是,不同的场合需要启动不同的程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。Linux允许为不同的场合,分配不同的开机启动程序,这就叫做”运行级别”(runlevel)。也就是说,启动时根据”运行级别”,确定要运行哪些程序。Linux预置七种运行级别(0-6)。一般来说,0是关机,1是单用户模式(也就是维护模式),6是重启。运行级别2-5,各个发行版不太一样.

内核运行后,操作系统的其他部分也将开始运行。首先,定位,检查并挂载根分区和文件系统, 。 接下来,启动初始化进程,该进程运行初始化脚本。

这些脚本位于不同的/etc/rc1.d, /etc/rc2.d,  /etc/rc3.d, /etc/rc4.d, /etc/rc5.d, /etc/rc6.d, /etc/rcS.d 内。

上面目录名中的”rc”,表示run command(运行程序),最后的d表示directory(目录)。

4. 运行/etc/init.d

以上七个 /etc/rc*.d 目录里列出的程序,都设为链接文件,指向另外一个目录 /etc/init.d ,真正的启动脚本都统一放在这个目录中。init进程逐一加载开机启动程序,其实就是运行这个目录里的启动脚本。

这样做的另一个好处,就是如果你要手动关闭或重启某个进程,直接到目录 /etc/init.d 中寻找启动脚本即可。比如,我要重启apache,就运行下面的命令:

/etc/init.d/httpd restart

/etc/init.d 这个目录名最后一个字母d,是directory的意思,表示这是一个目录,用来与程序 /etc/init 区分.

5、用户登录

一般来说,用户的登录方式有三种:

  1. 命令行登录
  2. ssh登录
  3. 图形界面登录

 

Linux系统登陆和远程登陆

Linux 一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的 Linux 服务器。

这时我们就需要远程登录到Linux服务器来管理维护系统。

Linux 系统中是通过 ssh 服务实现的远程登录功能,默认 ssh 服务端口号为 22。

Window 系统上 Linux 远程登录客户端有 SecureCRT, Putty, SSH Secure Shell 等,本文以 Putty 为例来登录远程服务器。

Putty 下载地址:https://www.putty.org/

如果你下载了 Putty,请双击 putty.exe 然后弹出如下的窗口。

 

进入你的HostName,然后输入你的用户名和密码,你就可以进入你的账号。这个远程登陆一般管理服务器的网站。因为我们的课程主要是配合芯片设计,所以就不过多介绍远程登陆。

如何登陆你的virtual Linux系统。

重新启动virtual计算机后,系统会显示你的用户名, 你需要输入密码。进入回车键。

Linux Gui

GUI界面就不用介绍了。利用Ctrl + Alt + t 键就可以进入命令行。