ubuntu启动流程
Linux启动流程系统启动后,在BIOS引导界面按“ESC”键进入选择菜单,选择第一个“Ubuntu”,按“e”键进入编辑模式。在出现的编辑项里,可以看到GRUB解析给内核的参数。我们在该行末尾给出引导运行级别,3(多用户模式,纯文本)。根据提示 Ctr+x或者F10进行引导。这种方式只生效与本次启动如果要每次开机都进入到命令行模式的话,需要在/etc/default/grub里面配置。将GRUB
-
系统启动后,在BIOS引导界面按“ESC”键进入选择菜单,选择第一个“Ubuntu”,按“e”键进入编辑模式。
-
在出现的编辑项里,可以看到GRUB解析给内核的参数。我们在该行末尾给出引导运行级别,3(多用户模式,纯文本)。
根据提示 Ctr+x或者F10进行引导。
这种方式只生效与本次启动
如果要每次开机都进入到命令行模式的话,需要在/etc/default/grub里面配置。
将GRUB_CMDLINE_LINUX_DEFAULT一行中改为"quiet splash 3"。
这里的3时Linux的启动等级
- 0:停机 系统停止。注意不要把该级别设置为默认模式,否则系统每次启动以后就会自动停止,无法进入。这个运行级别主要用于关闭任务。
- 1:在此模式下,只能由管理员进入而其他用户无法登录。因为在启动时,文件系统被加载但是网络却没有被加载,无法通过网络登录。
- 2:多用户,多用户模式,用户可以通过网络进行登录, 不能使用nfs服务 。在不支持网络的情况下该模式和级别1是相同的
- 3:完全多用户, 完全多用户模式。这是缺省的运行模式,在此模式下所有网络服务程序一起运行。
- 4:安全模式, 未使用模式,这一级别是用户自定义的运行级别,如果想运行此级别的话,必须在 rc3.d 目录下放入连接文件,就像其他 rc*.d目录下的文件,并指明是启动还是终止进程。
- 5:图形模式, 在 Linux 下运行 X Window 就是使用这一级别。在此级别下除了因特网的域名服务器的name与级别3不同,其余的都相同。
- 6:重启, 这是个重新启动系统的运行级别。此目录下的连接与级别为 0 的在 rc0.d(etc中) 下的连接基本相同。不同之处在于,虽然它们都执行 halt(关闭)命令,但是给 halt 传递的参数不一样,因而级别 6 能够重新启动系统。(rebootf也可以重启)
startx 启动图形化界面
sudo killall Xorg 关闭xwindows
对于5启动的Linux ,
ctr+alt + F1~F7
Centos和ubuntu-16.10以前是使用initd 初始化管理系统,ubuntu-16.10之后改用systemd。
查看ubuntu版本号
root@zheng-virtual-machine:/home/zheng# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.7 LTS
Release: 16.04
Codename: xenial
root@zheng-virtual-machine:/home/zheng# cat /etc/init.d/rc.local
#! /bin/sh
### BEGIN INIT INFO
# Provides: rc.local
# Required-Start: $all
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: Run /etc/rc.local if it exist
### END INIT INFO
PATH=/sbin:/usr/sbin:/bin:/usr/bin
. /lib/init/vars.sh
. /lib/lsb/init-functions
do_start() {
if [ -x /etc/rc.local ]; then
[ "$VERBOSE" != no ] && log_begin_msg "Running local boot scripts (/etc/rc.local)"
/etc/rc.local
ES=$?
[ "$VERBOSE" != no ] && log_end_msg $ES
return $ES
fi
}
case "$1" in
start)
do_start
在这里执行了用户自定义脚本 /etc/rc.local
把你需要启动脚本写入 /etc/rc.local ,写一个测试的脚本放在里面,以便验证脚本是否生效.
echo "this just a test" > /usr/local/text.log
ubuntu启动流程
1.BIOS自检
识别主机上可以启动的设备,一次只能从一个设备上启动,通常是硬盘启动,启动驻留在MBR(硬盘主引导记录)中的grub或lilo。
2.grub/lilo引导启动
此时操作系统没有装入内存,引导程序将控制权转移给内核。
3.装载linux内核
引导程序加载linux内核,ubuntu将linux内核至于/boot目录下。
4.系统初始化
启动init进程,init进程读取初始化脚本,完成系统相关的管理任务,执行步骤如下
执行 | 功能 |
/etc/inittab | 确定运行级别 |
/etc/rc.d/rc.sysinit | PATH、网络、SWAP、proc的设定 |
/etc/modules.conf | 加载模块 |
/etc/rc*.d/ | 执行不同运行级别的脚本程序 |
/etc/rc.local | 用户执行的操作 |
/bin/login | 执行该程序,进入登录界面 |
Linux 常用目录
目录名 | 简要说明 |
---|---|
/bin | 二进制可执行命令 |
/dev | 设备特殊文件 |
/etc | 系统管理和配置文件 |
/etc/rc.d | 启动的配置文件和脚本 |
/home | 用户主目录的基点,比如用户abc的主目录就是/home/user,可以用~abc表示 |
/lib | 标准程序设计库 |
/sbin | 系统管理命令,这里存放的是系统管理员使用的管理程序 |
/tmp | 公用的临时文件存储点 |
/root | 系统管理员的主目录 |
/mnt | 系统提供这个目录是让用户临时挂载其他的文件系统。 |
/lost+found | 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件 |
/proc | 虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。 |
/var | 某些大文件的溢出区,比方说各种服务的日志文件 |
/usr | 最庞大的目录,要用到的应用程序和文件几乎都在这个目录。其中包含: /usr/X11R6 存放X window的目录 /usr/bin 众多的应用程序 /usr/sbin 超级用户的一些管理程序 /usr/doc linux文档 /usr/include linux下开发和编译应用程序所需要的头文件 /usr/lib 常用的动态链接库和软件包的配置文件 /usr/man 帮助文档 /usr/src 源代码,linux内核的源代码就放在/usr/src/linux里 /usr/local/bin 本地增加的命令 /usr/local/lib 本地增加的库 |
更多推荐
所有评论(0)