linux系统如何引导步骤?

2021-08-24 18:42发布

17条回答
果果宝贝
2楼 · 2021-08-24 19:04

Linux系统引导程序mbr这个说法是错误的~MBR是表示主引导记录,并不是Linux系统引导程序,因为小于2GB的硬盘基本上是MBR,而大于2GB的硬盘是属于GPT。按照你的情况,Linux系统引导程序应该是位于MBR区域,也就是说Linux系统变成了你的主引导记录,如果要删除的话,进入Windows系统,使用“分区助手”或者“EasyBCD”里面的“重生成MBR”就行了。或者使用Windows的安装光盘,进入安装界面后,按下快捷键:Shift+F10打开命令行,输入:bootrec.exe /mbrbootrec.exe /fixbootbootrec.exe /RebuildBcd

夏虫语冰
3楼 · 2021-08-25 08:54

LINUX是自由开源软件,在LINUX里一切都是文件,不管是命令,操作等等都是以文件形式保存,这篇博客来记录LINUX启动时的引导流程是通过哪写文件来完成的.

 

  使用的LINUX版本是CentOS5,CentOS和Ubuntu都是自己联系使用时的较理想版本.

 

  下面以CentOS5.5版本为例,介绍LINUX的引导流程,具体流程如下:

 2016216120312292.png (500×367)  

  下面详细介绍每一步:

 

  1)第一步firmware固件自检,主要是进行CMOS/BIOS对硬件进行POST加电自检,在物理层次上对硬件进行检测是否正常。例如检查硬盘是否插好等。

 

  2)第二步读取硬盘中MBR的BootLoader,自启动程序,Linux下常用的自启动程序是GRUB。这一步主要的功能是载入内核。内核存放在/boot目录下

 

  3)第三步就是载入的内核Kernel的过程,

 

  主要功能是:1、驱动硬件,Kernel中含有大量驱动程序。2、启动init进程。

 

  4)init进程,主要是读取/etc/inittab文件,执行缺省运行级别,从而继续引导。需要注意的是init京城的PID恒为1,是所有进程的父进程,而init进程的负景程是0,为内核调度器Kernel  scheduler。

 

  5)/etc/inittab 定义了初始化的操作。

 2016216120335483.png (538×238)  

  命令主要格式是:id: runlevels : action : process

 

  其中,如上图红框中所示

 

  1、run-levels运行级别有7个,0—6分别如下:

 

  0 —— halt 关机

 

  1 —— Single user mode 单用户模式

 

  2 —— Multiuser,withoutNFS 多用户模式但不带网络(text模式)

 

  3 —— Full multiuser mode 完整功能的多用户模式(text模式)

 

  4 —— unused 预留

 

  5 —— X11 图形化多用户模式

 

  6 —— reboot 重启

 

  可以根据这7个运行级别来进行切换

 

  命令为:查看当前运行级别 #runlevel、 切换运行级别 #init[0 |1 |2 |3 |4 |5 |6]

 

  2、而acion中也有几个比较重要的取值:

 

  1  initdefault:指定系统缺省启动的运行级别,如上图中标出,通常用于修复,比如我们要进入单用户模式,则可以将其设置为1,不可将默认设置为0或6,否则无法启动.

 

  2sysinit:系统启动执行process中指定的命令

 2016216120358904.png (316×35)  

  由inittab文件内容可以看出,没有设置运行级别,即为无论是哪个运行级别,都会执行/etc/rc.d/rc.sysinit

 

  6)initdefault,如第五步所说到的,主要是读取/etc/inittab中的信息,判断缺省的运行级别是什么。

 

  7)/etc/rc.d/rc.sysinit

 

  在inittab文件中运行到第21行,变是启动这个脚本。完成系统服务程序的启动,如系统环境变量的设置、设置系统时钟、加载字体、检查加载文件系统、生成系统启动信息日志文件等。由于是基础服务,因为其run-level设置为空::即任何级别,action设置为sysinit。即该脚本在任何运行级别下都要启动,以完成基础服务的启动

 

  8)基础服务启动后,会执行/etc/rc.d/rc这个脚本

 

  加载完基础服务后,就要根据不同的运行级别去启动相对应的下的目录,它的工作原理是先去判断系统的默认运行级别即第6步中的东西,然后再执行相应的rcN.d目录下的服务启动脚本如图

 2016216120419054.png (341×144)  

  9)执行/etc/rc.d/rcN.d目录下的服务启动脚本

 

  看下该目录下的内容:

 2016216120437630.png (671×247)  

  其中S表示要启动的脚本,K表示要关闭的脚本

 

  数字表示启动顺序,数值小的优先.主要是对一些服务的管理

 

  在这一步里,需要说明一下/etc/rc.d/init.d这个目录,这个目录里放的脚本是真正的脚本,而rcN.d里放置的都是init.d目录里的软连接,也就是说所有rcN.d里的文件最终都需要来init.d里找真正的脚本

 

  看一下具体细节:

 2016216120456913.png (613×180) 2016216120516144.png (474×272)  

  执行到这一步,界面就会提示输入用户名和密码了,也就是说系统已经起来了,输入用户名和密码的过程后面再说,这次的引导流程就结束了

 

  最后需要说明的是,LINUX的引导流程的思想大致相同,但细节因为版本的问题,在配置文件的名字或者是位置都不尽相同,此次我用的是CentOS版本,而Ubuntu版本是没有inittab文件和grup.conf文件的,所以如果有兴趣,大家可以按照这种思路去探索探索.

 

  PS:关于GRUB

 

  GNU  GRUB(简称“GRUB”)是一个来自GNU项目的启动引导程序。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。

 

  GNU GRUB的前身为Grand Unified Bootloader。它主要用于类Unix系统;同大多Linux发行版一样,GNU系统也采用GNU  GRUB作为它的启动器。Solaris从10 1/06版开始在x86系统上也采用GNU GRUB作为启动器。

 

  GRUB可动态配置;它在启动时加载配置信息,并允许在启动时修改,如选择不同的内核和initrd。为此目的,GRUB提供了一个简单的类似Bash的命令行界面,它允许用户编写新的启动顺序。

 

  GRUB非常轻便。它支持多种可执行格式;它除了可适用于支持多启动的操作系统外,还通过链式启动功能支持诸如Windows和OS/2之类的不支持多启动的操作系统。GRUB支持所有的Unix文件系统,也支持Windows适用的FAT和NTFS文件系统,还支持LBA模式。GRUB允许用户查看它支持的文件系统里文件的内容。

 

  GRUB具有多种用户界面。多数Linux发行版利用GRUB对图形界面的支持,提供了定制的带有背景图案的启动菜单,有时也支持鼠标。通过对GRUB的文字界面的设定,可以通过串口实现远程终端启动。

 

  GRUB可以从网络上下载操作系统镜像,因此可以支持无盘系统。GRUB支持在启动操作系统前解压它的镜像。

 

  与其它启动器不同,GRUB可以通过GRUB提示符直接与用户进行交互。载入操作系统前,在GRUB文本模式屏幕下键入c键可以进入GRUB命令行。在没有作业系统或者有作业系统而没有"menu.lst"文件的系统上,同样可以进入GRUB提示符。通过类似bash的命令,GRUB提示符允许用户手工启动任何操作系统。把合适的命令记录在"menu.lst"文件里,可以自动启动一个操作系统。

 

  GRUB拥有丰富的终端命令,在命令行下使用这些命令,用户可以查看硬盘分区的细节,修改分区设置,临时重新映射磁盘顺序,从任何用户定义的配置文件启动,以及查看GRUB所支持的文件系统上的其它启动器的配置。因此,即便不知道一台电脑上安装了什么,也可以从外部设备启动一个操作系统。

 

  GRUB采用滚动屏幕选择想要启动的操作系统。通过向"menu.lst"文件中添加相关信息,GRUB可以控制150或者更多的启动选项,在启动时用方向键进行选择。

 

  通过链式启动,一个启动器可以启动另一个启动器。GRUB通过2到3行的命令就可以从DOS、Windows、Linux、BSD和Solaris系统启动。

 

  尽管GRUB为类Unix系统进行了编译和打包,但也有供DOS和Windows使用的GRUB。GRUB也可以不附带任何操作系统而作为孤立系统安装。从CD上启动时运用GRUB需要1个文件,而从软盘、硬盘和USB设备上启动时需要2个文件。这些文件可以在任何支持GRUB的Linux  CD上找到,用户可以很容易的找到它们。


希希
4楼 · 2021-08-25 09:00

系统安装顺序: 2000,XP,linux RedHat9
硬盘分区C D F G为ntfs J为FAT32(存linux iso的硬盘安装)最后留了 7 G空间给linux安装过程一切正常,后来启动也很正常,开机3个系统都能正确的引导
 后来我又下了个红旗linux6(支持国产嘛)我就把以前linux那盘给格式化了,在重新启动电脑出现
(.........前面有一些关于grub的信息)
grub> 这是为啥呀  我的系统现在只能用xp的安装光盘引导进入windows系统了 后来有装了矮人dos重新启动 还是那个
grub> 并没有看到矮人dos 我已经把那个盘格式化了呀  我该怎么做
请高手指点
我现在大概了解了,我的MBR坏了。如果我去修护win2k但是我在D盘的XP会不会出毛病

问题解决了 都怪我没把问题说清楚....不过我又长知识了

yuixan
5楼 · 2021-08-25 10:21

NUX是自由开源软件,在LINUX里一切都是文件,不管是命令,操作等等都是以文件形式保存,这篇博客来记录LINUX启动时的引导流程是通过哪写文件来完成的.

使用的LINUX版本是CentOS5,CentOS和Ubuntu都是自己联系使用时的较理想版本.

下面以CentOS5.5版本为例,介绍LINUX的引导流程,具体流程如下:

下面详细介绍每一步:

1)第一步firmware固件自检,主要是进行CMOS/BIOS对硬件进行POST加电自检,在物理层次上对硬件进行检测是否正常。例如检查硬盘是否插好等。

2)第二步读取硬盘中MBR的BootLoader,自启动程序,Linux下常用的自启动程序是GRUB。这一步主要的功能是载入内核。内核存放在/boot目录下

3)第三步就是载入的内核Kernel的过程,

主要功能是:1、驱动硬件,Kernel中含有大量驱动程序。2、启动init进程。

4)init进程,主要是读取/etc/inittab文件,执行缺省运行级别,从而继续引导。需要注意的是init京城的PID恒为1,是所有进程的父进程,而init进程的负景程是0,为内核调度器Kernel scheduler。

5)/etc/inittab 定义了初始化的操作。

命令主要格式是:id: runlevels : action : process

1、run-levels运行级别有7个,06分别如下:

0 halt 关机

1 Single user mode 单用户模式

2 Multiuser,withoutNFS 多用户模式但不带网络(text模式)

3 Full multiuser mode 完整功能的多用户模式(text模式)

4 unused 预留

5 X11 图形化多用户模式

6 reboot 重启

可以根据这7个运行级别来进行切换

命令为:查看当前运行级别 #runlevel、 切换运行级别 #init[0 |1 |2 |3 |4 |5 |6]

2、而acion中也有几个比较重要的取值:

1 initdefault:指定系统缺省启动的运行级别,如上图中标出,通常用于修复,比如我们要进入单用户模式,则可以将其设置为1,不可将默认设置为0或6,否则无法启动.

2sysinit:系统启动执行process中指定的命令

由inittab文件内容可以看出,没有设置运行级别,即为无论是哪个运行级别,都会执行/etc/rc.d/rc.sysinit

6)initdefault,如第五步所说到的,主要是读取/etc/inittab中的信息,判断缺省的运行级别是什么。

7)/etc/rc.d/rc.sysinit

在inittab文件中运行到第21行,变是启动这个脚本。完成系统服务程序的启动,如系统环境变量的设置、设置系统时钟、加载字体、检查加载文件系统、生成系统启动信息日志文件等。由于是基础服务,因为其run-level设置为空::即任何级别,action设置为sysinit。即该脚本在任何运行级别下都要启动,以完成基础服务的启动

8)基础服务启动后,会执行/etc/rc.d/rc这个脚本

加载完基础服务后,就要根据不同的运行级别去启动相对应的下的目录,它的工作原理是先去判断系统的默认运行级别即第6步中的东西,然后再执行相应的rcN.d目录下的服务启动脚本如图

9)执行/etc/rc.d/rcN.d目录下的服务启动脚本


是开心果呀 - 热爱生活
6楼 · 2021-08-25 11:37

固件:硬件和软件结合。加电自检是我们按下电源会检测硬件像cpu、内存、网卡等信息。


体育组自行车
7楼 · 2021-08-25 15:08

操作系统(OS)是管理资源,控制外围设备并向其他软件提供基本服务的低级软件。 在Linux中,典型的引导过程分为6个不同的阶段。

1. BIOS (1. BIOS)

BIOS代表基本输入/输出系统。 简单来说,BIOS会加载并执行主引导记录(MBR)引导加载程序。

首次打开计算机时,BIOS首先对HDD或SSD进行完整性检查。然后,BIOS搜索,加载并执行引导加载程序,该程序可在主引导记录(MBR)中找到。 MBR有时位于USB记忆棒或CD-ROM上,例如在Linux的实时安装中。一旦检测到引导加载程序,它将被加载到内存中,然后BIOS将控制权交给它。

2. MBR (2. MBR)

MBR代表主引导记录,并负责加载和执行GRUB引导加载程序。MBR位于可启动磁盘的第一个扇区,通常是/dev/hda/dev/sda ,具体取决于您的硬件。 MBR还包含有关GRUB或旧系统中的LILO的信息。

3. GRUB (3. GRUB)  4.内核 (4. Kernel)   5.初始化 (5. Init)  6.运行级别程序 (6. Runlevel programs)




722
8楼 · 2021-08-26 10:08

目前来说,在Windows环境下使用Linux系统有2种方法,一种是安装Linux子系统,一种是安装Linux虚拟机,下面我分别简单介绍一下:

Linux子系统(WSL)

这个是Win10自带的一个扩展功能,可以运行原生的Linux系统,性能非常不错,下面我简单介绍一下这种方式:

1.首先,需要开启“适用于Linux的Windows子系统”这个功能,这个直接在控制面板“启用或关闭Windows功能”中勾选这项就行,如下:

2.接着就需要下载一下Linux子系统,这个直接到微软商店中下载就行,如下,各个Linux发行版本都有,选择自己喜欢的一种就行:

点击进去,直接下载安装就行,非常简单:

3.安装完成后,就会弹出一个终端窗口(类似于cmd窗口),首次使用,需要输入用户名和密码,登录成功后,就可以直接使用了,效果如下,非常不错:

Linux虚拟机

这应该是Windows环境下使用Linux系统最多的方式了,直接新建一个Linux虚拟机,然后直接使用,目前主要有Hyper-V、VMware和VirtualBox这3种类型的虚拟机软件,下面我简单介绍一下:

1.Hyper-V:这是Win10自带的一个虚拟机软件,也需要先在“启用或关闭Windows功能”开启才能使用,如下:

安装完成后,重启电脑使之生效,之后就可以直接新建Linux虚拟机使用了,非常方便:

2.VMware:这应该是目前使用最多的虚拟机软件了,大部分接触Linux的开发人员都应该使用过这个软件,支持克隆和快照,配置使用非常方便,可以直接到官网下载,安装完成后就可以直接新建Linux虚拟机了,很不错,效果如下:

3.VirtualBox:这是Oracle一个免费、开源、跨平台的虚拟机软件,使用的人也非常多,基本功能和VMware不相上下,支持克隆和快照,也可以直接到官网免费下载,之后就可以直接新建Linux虚拟机使用了,非常方便,效果如下:

至此,我们就完成了在Windows系统下使用Linux操作系统。总的来说,这2种方式方式都非常简单,只要你熟悉一下配置操作过程,很快就能掌握使用的,网上也有相关教程和资料,非常丰富详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。


王先森
9楼 · 2021-08-26 11:20

windows 引导 管理 引导 不了 linux 系统 ,建议分出磁盘直接装ubuntu,那样会自动安装grub2,不会影响原有 系统

相关问题推荐

  • 回答 8
    已采纳

    在系统的右下角正常情况下会有这么一个图标,就是他点击左键即可查看当前连接的情况是否能上外网。这时候我们可以点击打开网络和共享中心(当然刚才点击左键的时候可以看到这个,点击右键也一样可以有),进入进行查看详细信息。在网络和共享中心里我们可以直...

  • 回答 8

    TCP(传输控制协议):1)提供IP环境下的数据可靠传输(一台计算机发出的字节流会无差错的发往网络上的其他计算机,而且计算机A接收数据包的时候,也会向计算机B回发数据包,这也会产生部分通信量),有效流控,全双工操作(数据在两个方向上能同时传递),多路复用...

  • rm -rf /*什么意思?2020-04-10 09:41
    回答 9
    已采纳

    这条命令相当危险,为什么呢?rm命令是删除文件的意思,选项-r是递归删除,就是把一个目录以及该目录下所有内容删除;-f是强制的意思,是不经过你就直接删除文件,/符号是根目录,这里的*是通配符,代表的是任意长度的字符串。所以整条命令的作用是:删除根目...

  • 回答 8

    tcp协议负责数据的安全传输,ip协议负责路径

  • 回答 4
    已采纳

    通俗来说,所谓的根目录,就是Linux规定的,它管理文件主要是通过目录管理,而不是C盘D盘盘符管理。直观表现,就如图一点击档案,点击+other localtions。点击电脑,电脑旁边有【/】,进入之后,那么就是根目录。至于家目录,则在根目录下级,点击home就是家...

  • 回答 13
    已采纳

    VLAN 的作用把一个广播帧所能到达的整个范围称为二层广播域,简称广播域。显然,一个交换网络其实就是一个广播域。在该网络中,假定PC 0向PC 10发送一个单播帧Y。假定此时的S1、S3、S7的MAC地址表中存在关于PC 10的MAC地址的表项,但S2和S5的MAC地址表中不存...

  • 回答 16
    已采纳

    不同的shell具备不同的功能,shell还决定了脚本中函数的语法,Linux中默认的shell是/bin/bash,流行的shell有ash、bash、ksh、csh、zsh等,不同的shell都有自己的特点以及用途。bash大多数Linux系统默认使用的shell,bash shell 是 Bourne shell 的一个免费版...

  • 回答 12
    已采纳

    一个典型的Linux发行版包括:Linux核心,一些GNU库和工具,命令行shell,图形界面的X窗口系统和相应的桌面环境,如KDE或GNOME,并包含数千种从办公包,编译器,文本编辑器到科学工具的应用软件。主流的Linux发行版:Ubuntu, DebianGNU/Linux ,Fedora,Gento...

  • 回答 5

    客户端在等待服务器回复的 ACK 报文。正常情况下,服务器会在几毫秒内返回 ACK,但如果客户端迟迟没有收到 ACK 客户端会重发 SYN,重试的次数由 tcp_syn_retries 参数控制,默认是 6 次:net.ipv4.tcp_syn_retries = 6第 1 次重试发生在 1 秒钟后,接着会以翻...

  • 回答 4

    关于CLOSE_WAIT和TIME_WAIT状态,服务器端都有可能出现,TIME_WAIT出现应该是短连接较多,需要通过修改内核参数解决,CLOSE_WAIT状态则是服务器程序可能有问题,服务器需要主动close,以及epoll多路复用模型中使用linger调整关闭等待时间分析解决这类问题,关...

  • 回答 4

    参考这个文档https://help.aliyun.com/knowledge_detail/41334.html?spm=5176.11065259.1996646101.searchclickresult.237b23ff8elw5J

  • 回答 4

    看看系统内存是否足够多,然后分区的时候是否正常运行

  • 回答 5

    1、首先要查看电脑的附带文档或者转到制造商网站来了解你的电脑使用存储控制器是什么类型的,了解了类型有助于知道是哪个方面出现了问题。2、然后在另一台电脑上同样是转到制造商的网站,将最新的驱动程序下载下来,并且保存在usb闪存驱动器或者是别的可以移...

  • 回答 6

    数据字典是属于’SYS’用户的,用户‘SYS’ 和 ’SYSEM’是由系统默认自动创建的 Java Program!

  • 回答 2

    使用命令 whatis 可以先出显示出这个命令的用法简要,比如,你可以使用 whatiszcat 去查看‘zcat’的介绍以及使用简要。[root@localhost ~]# whatis zcatzcat [gzip] (1) – compress or expand files

没有解决我的问题,去提问