Linux系统开机启动详细流程

news2024/11/16 17:52:52

目录

  • Linux系统开机启动流程
    • 为什么要了解系统开机启动流程
    • 关机的命令
    • 开机流程图:
    • 开机自检(Power-On Self-Test,POST)
    • BIOS
      • ROM和RAM
      • BIOS的介绍
      • CMOS的介绍:
      • BIOS和CMOS的区别和联系
      • 如何进入BIOS系统?
      • 如何改BIOS的顺序以及为什么要改
    • MBR(主引导记录)
    • Grub2
    • systemd
    • 设定运行级别
      • 如何安装图形界面模式
    • 启动服务
    • rc.loacl
    • fstab
    • 如何开机自启?
    • 思考
    • 如何制作启动u盘给电脑安装windows或者linux系统呢

Linux系统开机启动流程

为什么要了解系统开机启动流程

  • 掌握让某个软件开机自动运行
  • 开机不能正常启动,是什么原因,或者那个环节出现了问题
  • 防止黑客植入木马,去查询黑客会把木马放到哪些地方?

电脑的硬件有哪些

主板,内存条,硬盘,cpu,电源,显卡,网卡,声卡,风扇等
机箱: .主板,内存条,硬盘,cpu,电源,显卡,网卡,声卡,风扇
外设: 机箱外部的设备: 键盘、鼠标、耳机、音箱、摄像头,麦克风、显示器等

目前主要的云服务器厂商:

云厂商:阿里云、腾讯云、华为云、aws等

cpu著名的厂家:

​ intel amd 英伟达NVIDIA

英伟达NVIDIA能崛起的原因(两个风口):

  • ​ 元宇宙:图形图像处理

  • ​ chatGPT:消耗cpu–》深度学习,机器学习 --》openAI

我国著名的大模型厂商: 百度、360、阿里、华为、科大讯飞等

​ 算力 --》GPU、CPU

关机的命令

关机的命令

init 0

poweroff

shutdown -h now

shutdown

shutdown

以下是关机命令的区别:

  1. init 0:这个命令是传统的Unix和Linux系统中的一个命令。它将系统切换到运行级别0,也称为关机级别或停机级别。在该级别下,系统会停止所有进程并最终关闭计算机。该命令需要管理员权限。

  2. poweroff:这个命令是现代Linux发行版中的一个命令,用于关机系统。它会发送一个关机信号给init进程,然后关闭计算机。该命令需要管理员权限。

  3. halt:这个命令与poweroff命令类似,用于关闭系统。它会发送一个关机信号给init进程,并要求系统停止。不同的是,halt命令在系统停止后不会自动关闭电源,您需要手动关闭电源。该命令需要管理员权限。

  4. shutdown -h now:这个命令使用了shutdown命令的选项。-h选项表示关机后立即停机(halt),now表示立即执行关机操作。该命令会向所有用户发送关机通知,并在一段时间后关机系统。该命令需要管理员权限。

  5. shutdown:这个命令用于安排系统关机。可以使用不同的选项来指定关机的时间和行为。如果没有指定选项,默认行为是向所有用户发送关机通知,并在两分钟后关机系统。

  6. shutdown -c:这个命令用于取消先前安排的关机操作。如果您之前使用了shutdown命令来安排关机,在执行shutdown -c命令后,关机操作将被取消。

开机流程图:

请添加图片描述

开机自检(Power-On Self-Test,POST)

​ 1.肯定有个硬件或者硬件里的软件来完成工作?谁完成?
​ 硬件: 主板
​ 主板里有个BIOS程序来完成自检的工作
​ 2.检查什么呢?
​ 检查电脑里的硬件是否存在

主板(motherboard): 是所有的硬件的载体,插到主板上,所有的硬件之间的数据传输靠主板传送。

集成主板: 声卡,显卡,网卡都集成到主板里了

开机自检的流程:

  1. 电源启动:当您按下计算机的电源按钮后,电源开始向计算机的各个硬件部件供电,使它们开始工作。
  2. 基本输入/输出系统(Basic Input/Output System,BIOS)初始化:BIOS是固化在计算机主板上的一组程序,它是计算机硬件和操作系统之间的桥梁。在自检过程中,BIOS被激活并初始化。
  3. 硬件自检:BIOS执行硬件自检,检测计算机硬件是否正常。这些自检包括以下内容:
  • CPU自检:BIOS会检查CPU是否正常工作,包括检查其频率、缓存和功能。
  • 内存自检:BIOS会扫描计算机内存(RAM)以确保其正常工作。它会检查内存的容量、速度和完整性。
  • 显示适配器自检:BIOS会检查计算机的图形显示适配器是否正常工作,并尝试识别和初始化它们。
  • 键盘和鼠标自检:BIOS会检测键盘和鼠标是否连接并正常工作。
  • 硬盘和其他设备自检:BIOS会扫描连接到计算机的硬盘驱动器、光驱、USB设备等其他设备,以确保它们正常连接和工作。
  1. POST显示和报错:如果在自检过程中发现了任何问题,BIOS会在屏幕上显示相应的错误消息或发出蜂鸣声提示,以指示硬件故障或连接问题。
  2. 启动设备检测:BIOS在自检过程中还会检测可用的启动设备,例如硬盘、光驱、USB设备等。它会确定哪个设备应作为启动设备,并根据设定的引导顺序选择下一步的启动操作。
  3. 引导加载程序(Boot Loader)初始化:一旦BIOS完成自检和设备检测,它会将控制权转交给引导加载程序。引导加载程序负责加载操作系统内核,并引导系统进入下一个启动阶段。

BIOS

ROM和RAM

  1. 可写性:
    • ROM:ROM是一种只读存储器,其中的数据在制造过程中被写入,并且无法直接修改。它通常包含固化的指令集、固件或数据,供计算机系统在启动时使用。
    • RAM:RAM是一种可读写存储器,可以随时写入和读取数据。它用于暂时存储计算机运行过程中的数据和程序。
  2. 数据持久性:
    • ROM:ROM的数据是持久的,即使在断电或重新启动后仍然保持不变。它的内容在制造过程中被固化,并且无法被修改或擦除。
    • RAM:RAM的数据是临时的,当电源断开时,其中的数据会丢失。RAM需要持续的电源供应来维持存储的数据

BIOS的介绍

  • BIOS(Basic Input/Output System)是一种位于计算机系统中的固件程序,它提供了计算机系统的基本输入输出功能。BIOS位于计算机主板上的一个芯片中,负责初始化和配置硬件设备,以及提供底层的系统管理和控制功能。

  • BIOS是电脑启动时加载的第一个软件

  • 它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息。 其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。此外,BIOS还向作业系统提供一些系统参数。系统硬件的变化是由BIOS隐藏,程序使用BIOS功能而不是直接控制硬件。现代作业系统会忽略BIOS提供的抽象层并直接控制硬件组件。

CMOS的介绍:

CMOS(Complementary Metal-Oxide-Semiconductor)是计算机主板上一块可读写的RAM芯片, CMOS用来保存计算机基本启动信息(如日期、时间、启动设置等)和当前系统的硬件配置和用户某些参数的设定的芯片, CMOS的特性是可读写的,因此在电脑的主板上是用来保存BIOS的设置电脑硬件参数的数据,这个芯片仅仅用来存储数据, CMOS靠主板上的纽扣电池供电,就算主机断电也能保存数据。

BIOS和CMOS的区别和联系

BIOS(Basic Input/Output System)和CMOS(Complementary Metal-Oxide-Semiconductor)是两个密切相关的概念,但它们代表不同的东西。

BIOS是计算机系统中的固件程序,位于主板上的芯片中。它负责提供计算机的基本输入输出功能,初始化和配置硬件设备,以及提供底层的系统管理和控制功能。

CMOS则是一种存储技术,它用于保存BIOS中的一些基本设置和配置信息。CMOS芯片是一块非易失性存储器,它的内容在计算机关闭时也会保留。在CMOS芯片中,存储了一些重要的系统参数,例如日期和时间、启动顺序、硬件配置等。

因此,CMOS是一种用于存储BIOS设置和RTC数据的特殊存储器,它提供了存储BIOS配置信息的功能。当计算机启动时,BIOS会读取CMOS中存储的配置信息,并根据这些信息初始化硬件设备和系统设置。同时,用户也可以通过BIOS设置界面来修改和调整CMOS中的配置参数。

需要注意的是,CMOS芯片在现代计算机中通常被整合到了主板上的BIOS芯片中,形成了一个单独的实体。

如何进入BIOS系统?

  • 台式机:del键、delete
  • 服务器: 开机有提醒
  • 笔记本: F1,F2,F8 ,F12 、fn+F2 、fn+f8等

自己的:在Linux重新启动的一瞬间按F2就可以进入BIOS。

如何改BIOS的顺序以及为什么要改

在这里插入图片描述
这是我linux机器Boot的引导顺序:

Boot引导顺序如何改:

  • 一旦进入BIOS设置界面,使用方向键(上、下、左、右)导航到"Boot"(启动)或类似的选项。
  • 在启动选项中,可能会看到一个启动顺序列表,其中列出了可用的引导设备。
  • 使用方向键将所需的设备移动到所需的引导顺序位置。通常,可以使用+/-键或其他指定的按键来更改设备的顺序。
  • 保存更改并退出BIOS设置界面。通常,可以使用特定的按键(如F10键)保存更改并退出。

我将引导顺序改下如下:
在这里插入图片描述

  • 第1引导顺序:hard drive 硬盘
  • 第2引导顺序:cdrom 光驱 ----》安装系统
  • 第3引导顺序:removable device 可移动设备–》u盘,移动硬盘 --》安装系统
  • 第4引导顺序:Network --》从网络启动–》网络中安装服务器启动 --》安装

为什么要改

  • 安全性考虑:如果希望提高系统的安全性,可以将硬盘设置为首选引导设备。这样做可以防止未经授权的可移动设备在未经许可的情况下启动您的计算机,从而增加系统的安全性。
  • 系统性能:如果计算机已经安装了操作系统并且通常从硬盘启动,将硬盘设置为首选引导设备可以提高启动速度和系统响应性能。
  • 操作系统安装:如果计划安装新的操作系统或从光驱启动进行系统维护和故障排除,将CD-ROM驱动器设置为较高的引导顺序可能更合适。
  • 网络启动需求:如果计划使用网络启动功能进行远程操作系统部署或恢复操作,将网络启动作为较低的引导顺序可能更合适。

为了启动操作系统,BIOS的runtime服务将搜索那些激活状态的或是可引导启动的设备,搜索的顺序则由CMOS设置决定(也就是我们平时在BIOS中设置的启动顺序)。一个软驱,一台光驱,一个硬盘上的分区,网络上的设备甚至一个usb 闪存盘都可以作为一个启动设备。

linux通常是从硬盘启动的。

MBR(主引导记录)

MBR(Master Boot Record)是计算机硬盘上的一个特殊区域,包含有基本的boot loader,它是一个512字节大小的扇区,位于磁盘的第一个扇区(0磁头0磁道1扇区)。当MBR被装载到RAM中后,BIOS就会将控制权转交给MBR。

MBR:第一个可开机设备的第一个扇区内的主引导分区块,内包含引导加载程序
在这里插入图片描述
MBR的最后两个字节必须是特殊数字0xAA55。这个数字被用作MBR的结束标志,也是对MBR有效性的校验确认。当这两个字节的值为0x55AA时,MBR才被认为是有效的。

主boot loader的工作是寻找并加载次boot loader(内核加载程序)

装载记录

基本引导装载程序所做的唯一的事情就是装载第二引导装载程序。

装载Grub

Grub在Linux系统中的作用是作为引导加载程序,负责选择要启动的操作系统、加载内核文件并传递参数

装载系统

GRUB把机器的控制权移交给操作系统。

Grub2

[root@ydh boot]# ls
config-3.10.0-1160.el7.x86_64
efi
grub
grub2
initramfs-0-rescue-828a183ae76a43258e638f079ed4cedf.img
initramfs-3.10.0-1160.el7.x86_64.img
initramfs-3.10.0-1160.el7.x86_64kdump.img
symvers-3.10.0-1160.el7.x86_64.gz
System.map-3.10.0-1160.el7.x86_64
vmlinuz-0-rescue-828a183ae76a43258e638f079ed4cedf
vmlinuz-3.10.0-1160.el7.x86_64

Grub2(Grand Unified Bootloader 2)是一个常用的引导加载程序,用于在Linux系统启动过程中管理和加载操作系统。

  1. 提供启动菜单:Grub2在计算机启动时显示一个菜单,列出可用的操作系统和内核选项。用户可以选择希望启动的操作系统或内核版本。

  2. 加载操作系统内核:一旦用户选择了要启动的操作系统或内核,GRUB2负责加载相应的内核文件(例如vmlinuz)到内存中。

  3. 加载初始RAM磁盘映像(initramfs):对于使用initramfs的Linux系统,Grub2还负责将initramfs文件加载到内存中。initramfs包含了用于引导系统的必要文件和驱动程序。

  4. 启动操作系统:当内核和initramfs被加载后,Grub2将控制权转交给内核,启动操作系统的初始化过程。

  5. 提供启动参数:Grub2允许用户在启动菜单中设置启动参数,如内核参数、运行级别等。这些参数可以影响系统的启动行为和配置。

  6. 支持多重引导:Grub2允许在同一计算机上安装多个操作系统,并提供方便的菜单选择界面,使用户可以轻松切换不同的操作系统。

Grub2负责加载内核、initramfs和启动操作系统,

vmlinuz-3.10.0-1160.el7.x86_64  linux的内核文件,是一个可执行的程序 --》皇上

initramfs-3.10.0-1160.83.1.el7.x86_64.img  是一个压缩文件,给vmlinuz提供很多程序和驱动的文件,在内存里形成一个临时的根文件系统

systemd

systemd是一种初始化系统和系统管理器,广泛用于现代Linux系统中。它负责在Linux系统引导过程中启动各个服务和进程,并管理系统的运行状态。

在Linux系统的开机启动流程中,systemd的作用包括以下几个方面:

  1. 引导管理:systemd取代了传统的SysV init和Upstart,作为Linux系统的默认初始化系统。它负责引导过程中的各个阶段,包括硬件初始化、文件系统挂载、设备驱动加载等。

  2. 服务管理:systemd通过服务单元(service units)的定义和管理,控制系统中各个服务的启动、停止、重启和状态监控。每个服务单元都有对应的配置文件,可以设置依赖关系、启动顺序、运行参数等。

  3. 并行启动:相比传统的序列启动方式,systemd支持并行启动服务,提高系统启动的效率。它通过分析服务之间的依赖关系,可以并行启动那些不相互依赖的服务,加快系统的启动速度。

  4. 日志管理:systemd引入了journald日志系统,负责收集和管理系统的日志信息。它提供了更强大的日志功能,支持日志的持久化存储、查询和过滤,方便系统管理员进行故障排查和性能分析。

  5. 用户会话管理:systemd提供了用户会话管理功能,用于启动和管理用户登录的会话。它可以在用户登录时自动启动用户相关的服务,以及在用户退出时进行清理操作。

总之,systemd的作用有:服务管理、日志管理等功能,提高了系统的启动效率和管理能力。

查看进程树

[root@ydh boot]# yum install psmisc -y		
[root@ydh boot]# pstree -p
systemd(1)─┬─NetworkManager(692)─┬─{NetworkManager+
           │                     └─{NetworkManager+
           ├─VGAuthService(677)
           ├─agetty(709)
			...


第一个进程systemd --》centos7/8/9
第一个进程init --》centos6

设定运行级别

运行级别 run level: 是比较老的概念,在centos6里非常流行,到了centos7以后,这种说法不常见

以下是常见的运行级别及其一般含义:

  1. 运行级别 0(关机):系统处于关机状态,所有服务和进程已停止,并可以安全地关闭计算机。

  2. 运行级别 1(单用户模式):系统以最小配置模式启动,只加载必要的服务和进程。单用户模式通常用于系统故障修复、维护或紧急恢复操作。

  3. 运行级别 2(多用户模式,没有网络):系统进入多用户模式,加载较少的服务和进程,但没有网络支持。这个运行级别适用于一般的多用户操作,但无需网络连接。

  4. 运行级别 3(多用户模式,有网络):系统进入多用户模式,加载通常需要的服务和进程,包括网络支持。这是大多数服务器系统的默认运行级别,支持多用户登录和网络服务。

  5. 运行级别 4:保留级别,可由系统管理员自定义。通常情况下,该级别并未配置特定的行为或用途。

  6. 运行级别 5(图形界面模式):系统进入图形界面模式,加载图形显示服务和窗口管理器。这是桌面操作系统的默认运行级别,提供用户友好的图形界面。

  7. 运行级别 6(重启):系统处于重启状态,所有服务和进程会被停止,然后重新启动计算机。

[root@ydh boot]# runlevel  查看当前的运行级别
N 3             N表示NO  开机直接进入运行级别3 没有其他的级别
[root@ydh boot]# init 5
[root@ydh boot]# runlevel 
5 3                开机的时候进入的是运行级别5 现在是运行级别3
[root@ydh boot]# 

因为选择的是最小安装,只有多用户模式,没有图形界面模式,因此输入init5的时候不会有响应。

[root@ydh microcode]# systemctl get-default  查看默认的启动模式(运行级别)
multi-user.target

/etc/inittab 是一个配置文件,它定义了系统的运行级别、默认的终端设备、系统启动时运行的进程和脚本等。

[root@ydh boot]# cat /etc/inittab 
# inittab is no longer used when using systemd.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To view current default target, run:
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target
#

如何安装图形界面模式

我们在重新安装虚拟机的时候
在这里插入图片描述
软件选择中进行设置。
在这里插入图片描述
我们选择上面三种都可以。

安装好虚拟机后,重启第一次进入虚拟机后会出现
在这里插入图片描述
这跟我们平时重新安装windows系统是差不多的。

最后出现
在这里插入图片描述
这样我们就按照好了图形界面模式了。

这个时候我们我们在命令行输入init 3跳转到多用户模式了。随后输入init 5会跳转到图形界面模式了,这个时候输入init 3 和5就出现变化了。
在这里插入图片描述
在这个机器启动会进入图形界面模式。

可以通过设置默认模式来改变

[root@scnode2 microcode]# systemctl set-default multi-user.target  多用户模式
[root@scnode2 microcode]# systemctl set-default graphical.target    图形界面模式

输入 默认模式:多用户模式后
在这里插入图片描述
default.target -> /lib/systemd/system/multi-user.target

会出现一个软连接,输入图形界面模式default.target会指向/lib/systemd/system/graphical.target

启动服务

例如设置开机自启 (关闭)sshd:

[root@ydh system]# ll
总用量 4
drwxr-xr-x. 2 root root   57 4月   7 13:06 basic.target.wants
lrwxrwxrwx. 1 root root   57 4月   7 13:06 dbus-org.freedesktop.nm-dispatcher.service -> /usr/lib/systemd/system/NetworkManager-dispatcher.service
lrwxrwxrwx. 1 root root   37 4月   7 13:08 default.target -> /lib/systemd/system/multi-user.target
drwxr-xr-x. 2 root root   87 4月   7 13:06 default.target.wants
drwxr-xr-x. 2 root root   32 4月   7 13:06 getty.target.wants
drwxr-xr-x. 2 root root   35 4月   7 13:06 local-fs.target.wants
drwxr-xr-x. 2 root root 4096 6月  29 20:59 multi-user.target.wants
drwxr-xr-x. 2 root root   48 4月   7 13:06 network-online.target.wants
drwxr-xr-x. 2 root root    6 11月 11 2022 nginx.service.d
drwxr-xr-x  2 root root   24 6月  13 19:17 redis-sentinel.service.d
drwxr-xr-x  2 root root   24 6月  13 19:17 redis.service.d
drwxr-xr-x. 2 root root   29 4月   7 13:06 sockets.target.wants
drwxr-xr-x. 2 root root  254 4月   7 13:06 sysinit.target.wants
drwxr-xr-x. 2 root root   44 4月   7 13:06 system-update.target.wants
drwxr-xr-x. 2 root root   29 4月   7 13:06 vmtoolsd.service.requires

输入下面的命令后

[root@ydh multi-user.target.wants]# systemctl disable sshd.service

在这里插入图片描述
可以看到

[root@ydh multi-user.target.wants]# pwd
/etc/systemd/system/multi-user.target.wants

在该目录下面以及没有sshd.service服务了。

重新输入systemctl disable sshd.service后。
在这里插入图片描述

[root@ydh multi-user.target.wants]# cat sshd.service 
[Unit]
Description=OpenSSH server daemon
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target sshd-keygen.service
Wants=sshd-keygen.service

[Service] 					对sshd具体的程序放在哪里进行说明
Type=notify
EnvironmentFile=/etc/sysconfig/sshd
ExecStart=/usr/sbin/sshd -D $OPTIONS		启动sshd
ExecReload=/bin/kill -HUP $MAINPID			重启/杀死
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]									表示可以通过systemctl来进行管理
WantedBy=multi-user.target

只要是yum安装的软件,会自动创建一个service文件
编译安装的文件没有,需要自己去创建service
systemd程序可以管理服务了,我们可以通过下面的命令

rc.loacl

当所有的服务都启动后,会去执行/etc/rc.local脚本里的命令.

rc.local 是一个用于在 Linux 系统启动时执行自定义命令和脚本的文件。它位于 /etc 目录下,是一个可编辑的脚本文件。在传统的 SysV init 系统中,rc.local 文件常用于在系统引导过程中自动运行用户自定义的命令或脚本。

[root@ydh system]# cat /etc/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local

必须要授予rc.local文件可执行权限,不然里面的命令不会执行.

适用场景:rc.local 文件适用于那些不适合放在单独的服务单元中管理的简单命令或脚本。例如,启动自定义服务、挂载网络共享、配置网络接口、设置环境变量等。

[root@ydh system]# ll /etc/rc.local
lrwxrwxrwx. 1 root root 13 4月   7 13:06 /etc/rc.local -> rc.d/rc.local  

fstab

/etc/fstab文件是告诉linux系统,挂载磁盘里的其他分区,这样用户可以使用这个磁盘的所有分区的数据了,读取文件
加载真正的根文件系统
根据/etc/fstab文件里的分区信息,进行挂载,这样我们就知道了整个系统里的磁盘有哪些分区可以使用

/etc/fstab 是一个配置文件,用于定义 Linux 系统中文件系统的挂载信息。它存储了系统启动时需要挂载的文件系统、挂载点、文件系统类型、挂载选项以及其他相关配置。

以下是 /etc/fstab 文件的一般结构和常见配置项:

  1. 文件系统设备:第一列指定要挂载的文件系统设备,可以是硬盘分区、逻辑卷(LVM)、网络文件系统(NFS)等。设备可以使用设备文件路径(如 /dev/sda1)或 UUID(Universally Unique Identifier)来表示。

  2. 挂载点:第二列指定文件系统要挂载到的目标位置,也称为挂载点。这可以是任何目录路径,例如 /, /home, /mnt/data 等。

  3. 文件系统类型:第三列指定文件系统的类型。常见的文件系统类型包括 ext4、NTFS、FAT32、NFS、XFS 等。

  4. 挂载选项:第四列指定挂载文件系统时要使用的选项,如读写权限、自动挂载、禁止访问、设备热插拔支持等。选项可以使用逗号分隔,常见的选项包括 rw(读写权限)、ro(只读权限)、noauto(不自动挂载)等。

  5. Dump 值:第五列用于文件系统的备份,一般设置为 0 表示不备份,1 表示备份。

  6. fsck 顺序:第六列确定系统检查文件系统错误的顺序。一般设置为 0 表示不进行检查,1 表示首先检查。

以下是一个示例的 /etc/fstab 文件的条目:

/dev/sda1   /           ext4    defaults        1 1
UUID=123456  /home       ext4    defaults        0 2

上述示例中,第一行指定将 /dev/sda1 分区挂载到根目录 /,使用 ext4 文件系统并使用默认的挂载选项。第二行使用 UUID 指定将具有 UUID 为 123456 的设备挂载到 /home 目录。

/etc/fstab 文件的配置可以根据特定需求进行自定义。在对文件系统进行修改或添加新的挂载点时,通常需要编辑该文件并保存更改。然后,系统将根据 /etc/fstab 中的配置,在启动过程中自动挂载文件系统.

如何开机自启?

4个用户环境变量的配置文件
	影响某个用户
	~/.bashrc
	~/.bash_profile
影响所有的用户
	/etc/bashrc
	/etc/profile
/etc/bashrc添加下面的命令,每个用户登录成功后都会执行
/etc/rc.local 是一个用于在 Linux 系统启动时执行自定义命令和脚本的文件

可以将想要开机自启的操作放到对应文件下面就可以了。

需要注意的是:使用/etc/rc.local需要给可执行权限。

思考

1.开机启动的某个环节出现问题,机器是否可以启动,例如删除/boot分区,破坏MBR?
2.木马程序可以在哪里藏身?实现开机自启

	从systemd后面的过程
	计划任务
	打开的可疑端口
				7788
				80
				8080
				22 2233
	可疑的进程: ps aux   、top、htop
	yum install iotop  iftop  nethogs

	iotop: 某个进程对磁盘的读写速度  input output 磁盘
	iftop: 接口的流量  interface  你的服务器和其他的电脑之间的网络流量
	nethogs :查看某个网络通信的进程的流量

3重新安装系统需要注意什么?
备份重要的数据

如何制作启动u盘给电脑安装windows或者linux系统呢

工具:
大白菜
老毛桃
电脑店
u启动

准备工作:
1.准备一个u盘(32G以上)
2.下载windows的镜像、linux镜像

http://uqidong.juxiang88.cn/upqdpzzjc/upqdzz.html

启动u盘本质上就是一个安装了微型系统的硬盘,可以用来启动电脑,再给电脑安装windows10、win11等

不建议用这样的形式重装系统,可能会有病毒,还是尽可能选择更安全的方式安装系统。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/700724.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue js实现表格行拖拽

效果图&#xff1a; <a-table :dataSource"dataSource" :columns"columns" :pagination"false"><template #bodyCell"{ column, record }"><template v-if"column.key td"><div style"cursor: p…

|DataDirectory| 解决Web.config中数据库连接的相对路径问题

1、业务背景 维护老系统代码&#xff0c;Web.config中数据库字符串连接的相对路径的处理 2、核心代码如下 <connectionStrings><add name"connString" connectionString"ProviderMicrosoft.Jet.OLEDB.4.0;Data Source|DataDirectory|\FnDB.mdb"…

【Java】Java中的String类

文章目录 一、认识 String 类二、String 类的常用方法2.1 构造方法2.2 String 类对象之间的比较2.3 字符串查找2.4 字符串的转换2.5 字符串替换2.6 字符串拆分2.7 字符串截取2.8 字符串常量池2.9 字符串的不可变性 三、StringBuilder 和 StringBuffer3.1 StringBuilder3.2 Stri…

robotframework接口自动化测试详解

我们在使用rebotframework的时候&#xff0c;不只是能做UI自动化&#xff0c;接口自动化也是可以的。 那么这里就整理一下rebotframework_接口自动化的应用&#xff1a; 一、编写接口测试 由上图可知&#xff0c;该接口如下信息&#xff1a; 接口功能描述&#xff1a;预诊模…

Spring6快速入门

Spring6快速入门 各工具版本要求&#xff1a; JDK:Java17 Maven:3.6 Spring:6.0.9 简介 Spring是一个控制反转(IOC)&#xff0c;面向切面(AOP)编程的轻量级框架。 2002年&#xff0c;Rod Johnson首次推出Spring框架的雏形&#xff0c;interface21(https://interface21.io/) 200…

python爬虫-获取cookie实例小记

注意&#xff01;&#xff01;&#xff01;&#xff01;某XX网站逆向实例仅作为学习案例&#xff0c;禁止其他个人以及团体做谋利用途&#xff01;&#xff01;&#xff01; 第一步&#xff1a;请求拿到响应内容。并分析。 第二步&#xff1a;关键步骤分析(这部分参考的B站图灵…

2023 年互联网 Java 工程师高级面试八股文汇总(1260 道题目附解析)

今年的行情&#xff0c;让招聘面试变得雪上加霜。已经有不少大厂&#xff0c;如腾讯、字节跳动的招聘名额明显减少&#xff0c;面试门槛却一再拔高&#xff0c;如果不用心准备&#xff0c;很可能就被面试官怼得哑口无言&#xff0c;甚至失去了难得的机会。 现如今&#xff0c;…

concurrenthashmap原理

目录 一、Concurrent类型的容器 二、HashMap多线程死链问题 三、Concurrenthashmap8原理 1、构造器 2、get流程 3、put流程 4、initTable 5、addCount方法 6、size流程 四、Concurrenthashmap7原理 1、put流程 2、rehash扩容流程 3、get流程 一、Concurrent类型的…

如何选型低代码平台

编者按&#xff1a;近年来&#xff0c;在数字经济迅速发展的背景下&#xff0c;越来越多的企业开始建立健全业务系统&#xff0c;借助数字化工具提升管理效率。企业如何选自己合适的产品&#xff0c;本文从低代码定义&#xff0c;特点技术路线做了介绍。其中MyApps低代码平台拥…

git常用命令之tag

11. Tag 11.1 创建tag 命令作用轻量标签git tag v1.0基于本地当前分支最新commit创建tag v1.0git tag v.0325 125a1d1给指定commit 125a1d打标签附注标签git tag -a v.0329 -m "给标签添加说明" 125a1d1基于指定commit创建标签并添加说明git tag -a v.0329 -m &quo…

联邦学习中怎样对数据质量进行评估

目录 联邦学习中怎样对数据质量进行评估 联邦学习中怎么在不暴露数据的情况下&#xff0c;证明数据量条目数 联邦学习中怎样进行数据质量评估 联邦学习中怎样对数据质量进行评估 在联邦学习中&#xff0c;评估数据质量是至关重要的&#xff0c;因为数据质量直接影响到模型的…

Redis 简介与数据类型介绍

目录 ​编辑 一、Redis是什么&#xff1f; 二、redis五大基本类型 2.1 String(字符串) 2.1.1 应用场景 1&#xff09;缓存功能 2&#xff09;计数器 3&#xff09;统计多单位的数量 4&#xff09;共享用户session 2.2 List(列表) 2.2.1 应用场景 1&#xff09;消息队列 2…

07 redux的使用

总结 一.reduxjs/toolkit使用 1.1安装 安装&#xff1a; npm install reduxjs/toolkit在src目录中的store目录中的index.js中添加 1.2导入包中的对象 导入包中的对象 import { createSlice, configureStore } from reduxjs/toolkit1.3创建切片对象 创建切片对象 //这个…

霍夫变换车道线识别-车牌字符识别代码(matlab仿真与图像处理系列第5期)

1.车道线识别 当使用霍夫变换进行车道线识别时,可以按照以下步骤来编写 MATLAB 代码: 读入图像:使用imread函数读取包含车道线的图像。image = imread(lane_image.jpg);图像预处理:为了减少噪音和突出车道线,可以对图像进行预处理。通常,可以采用以下步骤:将图像转换为…

kafka入门,Kafka Broker工作流程、Broker重要参数(十一)

Zookeeper 存储的 Kafka 信息 在zookeeper的服务端存储的Kafka相关信息 1&#xff09;/kafka/brokers/ids [0,1,2] 记录有哪些服务器 2&#xff09;/kafka/brokers/topics/first/partitions/0/state 记录谁是leader,有哪些服务器可用 3&#xff09;/kafka/controller 辅助选举l…

Java中的「接口」到底是什么?

&#x1f482; 个人网站:【海拥】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 目录 前言什么是接口接口的定…

浅浅的复习一下sql

DISTINCT 语法&#xff1a; SELECT DISTINCT 列名称 FROM 表名称1、现在有一个表如下&#xff1a; 2、执行sql语句-1 SELECT DISTINCT ename,email FROM emp 结果&#xff1a; 说明&#xff1a;由于小刘的ename和email重复了&#xff0c;所以结果只显示一次&#xff01; 3…

面试最爱问的浏览器的缓存机制问题

老规矩&#xff0c;想要了解学会一项技术&#xff0c;先从定义下手&#xff01; 浏览器的缓存的定义 浏览器的缓存是指浏览器在处理网络资源时&#xff0c;将这些资源存储在本地磁盘或内存中&#xff0c;并在后续的请求中重复使用这些缓存的资源。它旨在提高网页加载速度、减少…

AI画图——十二生肖

适当放下代码&#xff0c;有益身心健康。 AI绘画&#xff0c;码农必备&#xff0c;超解压。 多少没被和谐算多少~~~ 子鼠 丑牛 寅虎 卯兔 辰龙 巳蛇 午马 未羊 申猴 酉鸡 戌狗 亥猪

在期刊的参考文献中如何设置引用书中的一个章节

前言&#xff1a; 在bib文件中&#xff0c;使用book形式来引用书中的章节或文章。因为有些书籍是按照章节进行排列的&#xff0c;有些书籍收集了相关主题下的论文&#xff0c;当我们想要引用书中的要给章节或者书中的某篇文章的时候&#xff0c;我们该如何做呢&#xff1f; 下…