首页 > 编程知识 正文

linux 图形切换命令行,init6 和reboot区别

时间:2023-05-04 23:58:47 阅读:39390 作者:4605

Linux启动过程概述

本节简要介绍了启动Linux操作系统的所有过程。

按下电脑电源按钮,电脑通电,BIOS启动;

BIOS读取硬盘的MBR并执行引导扇区代码。 旧系统通常需要自己写引导扇区,但新系统基本上由专用引导软件继承。 在Linux的世界里,现在正在使用Grub2。 Grub2也使用多阶段引导策略,因为引导扇区空间太小,无法包含太复杂的代码逻辑

Grub2将操作系统内核加载到内存中,如果需要,还将initramfs文件加载到内存中,并将控制权传递给内核

内核初始化后,内核初始化过程结束后,控制权将传递给/init程序,然后进入用户空间

因为内核首先将initramfs文件放在根文件系统中,所以最初运行的/init程序实际上位于initramfs文件中,所以该文件所需的重要初始化脚本、内核模块、配置文件等都是因此,在修改某些配置文件后,必须更新initramfs文件,然后重新启动操作系统

initramfs文件中的/init程序装载硬盘上的文件系统,将根文件系统切换到硬盘上的根分区,然后运行/sbin/init程序。 此时,所有程序、配置文件和脚本都位于您的硬盘上。 当然,网络文件系统也是如此。 可见,init计划的执行也是一个逐步的过程

/sbin/init程序负责系统初始化、各种服务的执行、用户的登录等;

如果需要运行图形界面,/sbin/init程序将运行显示管理器。 在Fedora中为gdm,在Ubuntu中为lightdm。 然后,Display Manager负责启动整个图形界面。

initramfs概述

作为实际的rootfs装载前迁移,Initramfs/Initrd用于创建系统启动初期的小用户空间,以解决复杂的启动过程问题。

创建init射频

# dracut [-- force ] [/path/to/new _ image _ name ] [ kernel版本]

这将创建一个通用的initramfs image,其中包含尽可能多的当前活动密钥驱动程序模块和系统工具。 image的默认位置为/boot/initramfs-.img; force选项用于强制覆盖已存在的同名initramfs; 您可以指定cmdline将新image的路径和名称,以及要创建的kernel image版本; 如果要创建更轻、更小、启动速度更快的initramfs,请添加host only选项。 通常,需要根据需要创建全功能的通用image。

显示initramfs中包含的文件列表和文件内容

# lsinitrd

# lsinitrd -f /etc/ld.so.conf

include ld.so.conf.d/*.conf注: ld.so.conf文件的所有内容

添加模块

默认情况下,某些dracut内置模块不会添加到initramfs中,而是添加到/etc/dracut.conf或/etc/dracut.conf.d/xxx.xonf中,或add选项

# dracut-- addbootchartinitramfs-bootchart.img

显示所有可用的dracut模块

# dracut --list-modules

忽略(不添加)模块

在精简initramfs中使用,可以在配置文件(man 5 dracut.conf )或命令行中操作,如下例所示。 删除对lvm逻辑卷的支持

# dracutomit“多路径LVM”no-multipath-LVM.img

手动添加dracut无法自动识别的kernel模块

同样,/etc/dracut.conf或/etc/dracut.conf.d/xxx.conf或cmdline

# dracut-- add-driversmymodinitramfs-with-mymod.img

kernel启动参数(/boot/grub[2]/grub.cfg ) ) )。

显示当前系统启动参数

# dracut --print-cmdline

root=uuid=8b 8b 6f 91-95c7- 4d a2-831 B- 171 e 12179081 root flags=rw,relatime,discard,data=有序路由类型=ext 4

指定启动设备

root=/dev/sdX

-或-

root=uuid=19e9DD a3-5a 38-484 d-a9b0- fa 6b 067 d 0331

-或-

root=LABEL=XXX

查看磁盘id和标签

blkid

-或-

ls-l/dev/disk/by-uuid ls-l/dev/disk/by-label

阻止kernel模块(即,阻止自动加载) )。

rd.driver.black list=mptsasrd.driver.black list=nouveau

通过在kernel command line中指定initramfs的启动参数,可以缩短启动时间。 如果未指定,dracut将在最大范围内搜索

# thisturnsoffeveryautomaticassemblyoflvm,MD raids,DM raids and crypto LUKS

rd.luks=0rd.LVM=0rd.MD=0rd.DM=0

综上所述,加快initramfs启动速度的方法有两种,一种是在生成initramfs image之前直接简化其内容,另一种是操作grub.cfg的启动参数来实现

Like this:

Like Loading .

相关的

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。