1. 系统启动后,在BIOS引导界面按“ESC”键进入选择菜单,选择第一个“Ubuntu”,按“e”键进入编辑模式。

  2. 在出现的编辑项里,可以看到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
我们的ubuntu是使用的initd, 在/etc/下面有很多个rc*.d。
在每个rc*.d下面有很多启动脚本
每个下main都有个S*rc.local实际都是链接到/etc/init.d/rc.local 
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 INFOPATH=/sbin:/usr/sbin:/bin:/usr/bin. /lib/init/vars.sh
. /lib/lsb/init-functionsdo_start() {if [ -x /etc/rc.local ]; then[ "$VERBOSE" != no ] && log_begin_msg "Running local boot scripts (/etc/rc.local)"/etc/rc.localES=$?[ "$VERBOSE" != no ] && log_end_msg $ESreturn $ESfi
}case "$1" instart)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 本地增加的库

ubuntu启动流程相关推荐

  1. Ubuntu init启动流程分析浅析

    Ubuntu init启动流程 Linux distros主流的有两种init方式: 一种是System V initialization,它来源于Unix并至今仍被各种Linux distros所采 ...

  2. Linux 的启动流程

    计算机是如何启动的?一文不涉及操作系统,只与主板的板载程序有关.今天,我想接着往下写,探讨操作系统接管硬件以后发生的事情,也就是操作系统的启动流程. 这个部分比较有意思.因为在BIOS阶段,计算机的行 ...

  3. Linux 的启动流程--转

    http://cloudbbs.org/forum.php?mod=viewthread&tid=17814 半年前,我写了<计算机是如何启动的?>,探讨BIOS和主引导记录的作用 ...

  4. Linux 启动流程即init程序分析--2

    3.upstart介绍     upstart是一个基于事件的init的替代程序,这意味着服务的启动和停止都基于事件的通信. upstart 正在由 Scott James Remnant 进行开发, ...

  5. linux系统编码启动,Linux启动流程介绍

    一. 内核镜像Izmage被bootloader装载到内存中.zImage的入口代码是自引导程序.包含一些初始化代码.第一条指令在head.S文件中.解压内核,然后调用call_kernel启动vml ...

  6. 【转】Linux 的启动流程

    半年前,我写了<计算机是如何启动的?>,探讨BIOS和主引导记录的作用. 那篇文章不涉及操作系统,只与主板的板载程序有关.今天,我想接着往下写,探讨操作系统接管硬件以后发生的事情,也就是操 ...

  7. 【鸿蒙OS开发入门】13 - 启动流程代码分析之第一个用户态进程:init 进程 之 init 任务详解

    [鸿蒙OS开发入门]13 - 启动流程代码分析之第一个用户态进程:init 进程 之 init 任务详解 一. /etc/init.cfg 系统默认cfg:启动lo回环网卡 1.1 init.Hi35 ...

  8. RISC-V Linux 启动流程分析

    " Author:  通天塔 985400330@qq.com Date:    2022/05/15 Revisor: lzufalcon falcon@tinylab.org Proje ...

  9. 双系统 移动硬盘安装Ubuntu详细流程与避坑(acpi error和卡在grub)

    引言: 1.首先要准备一个没用的U盘(要格式化)作为启动盘.(这个U盘相当于变成了一个安装光盘,系统并不装在这个U盘里面. 2.准备一个固态移动硬盘和USB3.0数据线(因为串口传输速度会下降,所以硬 ...

最新文章

  1. golang goroutine 协程原理
  2. datatables 响应式
  3. java 递归20210408-3
  4. 责任链模式在Android中的应用
  5. 【Flink】Flink时间是如何设计的
  6. 石家庄医学高等专科学校计算机二级,石家庄人民医学高等专科学校2021年排名...
  7. Python——集合与字典练习
  8. 配置VIM语法高亮及自动缩进
  9. JSP编程中遇到的问题及解决
  10. 图像分割论文 “RANet : Region Attention Network for Semantic Segmentation”
  11. 恶意软件清理助手V2.6.3 build 005 2007-07-05
  12. base64的pdf编码转换成pdf文件转换之后一直打不开:未能加载pdf
  13. vue组件中prop属性
  14. python从文件中读数据并进行排序
  15. 腾讯——云计算从业者认证系列1
  16. python模块学习笔记
  17. x230键盘排线怎么拆_x230键盘排线怎么拆_简易拆解教程,小白也能轻易上手,GANSS ALT71机械键盘拆解......
  18. 第一份工作,我差点没转正
  19. 自己用python写的扫雷游戏 pygame 扫雷
  20. PySimpleGUI库的查询小程序开发

热门文章

  1. div宽度设置width:100%后再设置padding或margin超出父元素的解决办法
  2. Find My iPhone勒索手段重现 针对美欧用户
  3. python实现MP3加封面图片,修改作者,专辑
  4. 华为消费者一面二面三面面经
  5. 单点登录SSO,统一认证oAuth名词解释
  6. 浅析μC/OS-Ⅱ设备驱动的设计与实现
  7. 哈理工 OJ Fire Maze(2次bfs)
  8. 阿里json解析教程
  9. 面向Unity开发者的虚幻引擎4
  10. redis初步认识-基本操作-Sring get and sett示例(一)