系统启动过程(内核介绍),linux无法开机系统修复


GRand Unified Bootloader的缩写,更准确地讲,它是GNU项目的启动引导程序.GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统.GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数

下图中 这里有两个内核,第一个从0开始,第二个则是从1开始,默认选择的是第一个(0)

在这里插入图片描述

修改参数:

在这里插入图片描述

GRUB_TIMEOUT=30 :设置的倒计时(倒计时自动选择第一个内核启动),默认时间是5

GRUB_DEFAULT=1:设置默认从1号内核引导,默认是SAVED

在这里插入图片描述

GRUB_CMDLINE_LINUX=… 内核参数(修改此处为永久修改,重启后生效)

快捷查看内核参数:cat /proc/cmdline

修改内核参数,分2步:

第一步:编辑文件:vi /etc/dafault/grub 在里面定义参数即可。

第二步:执行grup2-mkconfig -o /boot/grub2/grub.cfg,作用是把/etc/default/grub中编辑的文件应用到/boot/grub2/grub.cfg中(重启后永久生效)

内核参数定义规则:

Linux内核在启动的时候,能接收某些命令行选项或启动时参数。当内核不能识别某些硬件进而不能设置硬件参数或者为了避免内核更改某些参数的值,可以通过这种方式手动将这些参数传递给内核。

如果不使用启动管理器,比如直接从BIOS或者把内核文件用“cp zImage /dev/fd0”等方法直接从设备启动,就不能给内核传递参数或选项--这也许是我们使用引导管理器比如LILO的好处之一吧。

Linux的内核参数是以空格分开的一个字符串列表,通常具有如下形式:

代码如下:

name[=value_1][,value_2]…[,value_10]

“name”是关键字,内核用它来识别应该把“关键字”后面的值传递给谁,也就是如何处理这个值,是传递给处理例程还是作为环境变量或者抛给“init”。值的个数限制为10,你可以通过再次使用该关键字使用超过10个的参数。首先,内核检查关键字是不是 root='',nfsroot=’’,nfsaddrs='',ro’’, rw'',debug’‘或`init’’,然后内核在bootsetups数组里搜索于该关键字相关联的已注册的处理函数,如果找到相关的已注册的处理函数,则调用这些函数并把关键字后面的值作为参数传递给这些函数。比如你在启动时设置参数name=a,b,c,d,内核搜索bootsetups数组,如果发现“name”已注册,则调用“name”的设置函数如name_setup(),并把a,b,c,d传递给name_setup()执行。 所有型如“name=value”参数,如果没有被上面所述的设置函数接收,将被解释为系统启动后的环境变量,比如“TERM=vt100”就会被作为一个启动时参数。

所有没有被内核设置函数接收也没又被设置成环境变量的参数都将留给init进程处理,比如“single”。

【常用的设备无关启动时参数】

1、init=…

设置内核执行的初始化进程名,如果该项没有设置,内核会按顺序尝试/etc/init,

/bin/init,/sbin/init, /bin/sh,如果所有的都没

  • 27
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 当 Linux 系统开机后进入 "fractured" 模式可能是由于系统启动过程中出现了错误或问题,导致系统无法正常启动。这种模式通常称为救援模式或紧急模式,目的是提供一种临时的解决方案,以便修复系统问题。 如果你发现系统进入了 "fractured" 模式,可以尝试以下步骤来解决问题: 1. 重新启动系统。有时候系统启动过程中出现的问题是暂时的,重新启动可能会解决问题。 2. 检查系统启动过程中的错误信息。在启动过程中,系统会输出一些信息和错误消息。你可以仔细阅读这些信息,以便确定问题的原因。你可以使用命令 `dmesg` 或 `journalctl -xb` 查看启动日志。 3. 修复文件系统错误。如果系统启动过程中出现了文件系统错误,你可以使用 `fsck` 命令来修复它们。例如,如果你的根分区是 `/dev/sda1`,可以运行以下命令: ``` fsck /dev/sda1 ``` 4. 检查系统硬件。有时系统无法正常启动的原因是由于硬件故障。你可以检查硬盘、内存、CPU 等硬件,以确定是否存在问题。 5. 恢复系统。如果以上步骤都无法解决问题,你可以考虑使用备份或安装媒介来恢复系统。你可以使用恢复模式或 Live CD/DVD 来访问系统分区,并备份数据或修复问题。 希望以上步骤可以帮助你解决问题。 ### 回答2: Linux系统开机进入FRACUT是由于系统检测到了某个关键性问题而进入了紧急维护模式。FRACUT模式是一种系统临时维护模式,用于修复或者诊断系统问题。 进入FRACUT模式后,系统会停止正常的引导过程,并显示一些关于系统问题的相关信息。在FRACUT模式下,我们可以进行多种操作,包括检查和修复文件系统错误、加载必要的驱动程序、执行备份和还原操作等。 当系统进入FRACUT模式时,我们可以通过以下步骤进行修复: 1. 首先,进入单用户模式。通过在引导时修改GRUB引导参数,在内核参数中加入"single"或者"init=/bin/bash"等单用户模式的参数,使系统进入Root Shell。 2. 在单用户模式下,我们可以手动挂载根文件系统,并进行检查和修复。通过运行"mount -o remount,rw /"命令,将文件系统重新挂载为可读写模式,然后使用诸如fsck命令来检查和修复文件系统错误。 3. 如果文件系统中存在硬件问题,我们可以通过更换硬件或者修复硬件来解决问题。例如,如果硬盘故障导致引导问题,我们可能需要更换硬盘。 4. 如果无法解决问题,我们可以考虑恢复系统。这可能包括从备份中恢复数据,重新安装系统或者使用修复工具等。 总之,进入FRACUT模式意味着系统遇到了严重的问题,需要进行诊断和修复。通过进入单用户模式并进行相应操作,我们可以尝试解决问题并使系统恢复正常运行。 ### 回答3: Linux系统开机进入fractur是指系统出现了类似于"fractur"或者其他字符乱码的情况,可能是因为系统启动过程中出现了一些错误或者异常情况导致显示异常。通常情况下,出现这种情况可能是由于以下几个原因: 1. 系统文件损坏:Linux系统的正常启动需要一些关键的系统文件,如果其中的某个文件损坏或者丢失,就有可能导致开机时出现fracut。这时可以尝试使用系统修复工具修复文件系统,或者从备份中恢复损坏的文件。 2. 引导加载程序问题:引导加载程序(一般是Grub或者Lilo)负责引导系统启动,如果引导加载程序设置有误或者被破坏,就有可能导致系统开机进入fracut。此时可以通过修复引导加载程序或重新配置引导项来解决问题。 3. 硬件故障:有时,开机进入fracut可能是由于硬件故障引起的,例如内存损坏或者显卡问题,这时需要检查硬件是否有问题,并及时更换或修复故障硬件。 4. 其他异常情况:除上述原因外,系统开机进入fracut还可能是由于其他异常情况引起的,例如系统更新时出现了错误,驱动程序冲突等。此时可以尝试进入恢复模式或者使用系统安全模式启动,以排除问题并修复系统。 总之,Linux系统开机进入fracut是一种显示异常的情况,可以通过修复系统文件、修复引导加载程序、检查硬件故障等方式解决问题。如果以上方法都无法解决问题,则可以考虑重新安装系统或者寻求专业人士的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值