今天给各位分享linux系统怎么开机的知识,其中也会对linux系统如何开机进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
1、linux怎么开机
楼主···你问的这个问题雷到我了·····不会不是你安装的或者不是你的电脑吧,linux开机一般都有图形界面了的,跟window一摸一样,输入用户名,密码,如果是命令行界面,显示login的时候输入用户名,然后输入密码,输入startx就可以进入图形界面了吧,linux版本不同,命令有差异,自己搜搜试试咯······
2、Linux如何启动流程?Linux启动流程详解
当用户打开电源后,BIOS开机自检,确定启动设备,安装启动设备,启动设备上面安装的GRUB开始引导Linux,Linux首先先进行内核引导,通过跟切换,执行init程序,init程序确定启动级别,根据启动级别进行系统初始化和运行的服务,然后返回init启动终端,用户通过验证成功登陆Shell,这就是一个从开机到登陆的启动过程。
一、硬件引导启动
当用户打开电源后POST开始自检,检测硬件设备是否确实或者存在故障(是否影响正常开机),如果不影响正常开机,就把任务交给BIOS。BIOS通过搜索,安装启动确定启动设备,启动项为硬盘,BIOS去读取硬盘的前512字节到内存,找到BootLoader,确定GRUB
二、GRUB引导启动内核
这一部分概况起来就是:GRUB程序加载执行并开始引导kernel程序
Boot Loader就是在操作系统内核运行之前运行的一小段程序。通过GRUB引导可以确定内核程序,因为引导扇区只有446字节,GRUB只是一个小的程序安装在里面,真正使用的在MBR后面的扇区存放,我们想使用Bootloader GRUB功能必须读取后面的文件,Bootloader GRUB功能程序的运行和加载配置选项分为三个阶段
Stage1阶段:
Stage1阶段其实就是执行系统安装时预先写入到MBR的Bootloader中的程序。
Stage1阶段的任务仅是将硬盘0柱面0磁道2扇区的内容读入内存并执行,它是Stage1.5阶段或Stage2阶段的入口,引导进入Stage1.5阶段或Stage2阶段。 在此Stage1阶段,还没有识别文件系统的能力。
Stage1.5阶段:
stage1.5阶段是stage1阶段和stage2阶段的中间桥梁。stage1.5阶段具有识别启动分区文件系统的能力,此后GRUB程序便有能力去访问/boot分区下/grub目录下的 stage2文件,并将stage2载入内存执行。
Stage2阶段
Stage2阶段执行时,首先会解析GRUB程序的配置文件grub.conf,并依配置文件决定是否显示系统启动菜单。然后加载内核镜像到内存中,通过initrd程序建立RAMDisk内存虚拟根文件系统。此时控制权将转交给内核程序。
三、内核引导启动
这一部分主要是通过在内存中建立虚拟根文件系统实现相关设备的驱动并建立和切换到真正的根文件系统。
解压内核镜像加载到内存,以及initrd程序建立RAMDisk内存虚拟根文件系统后,内核开始驱动基本硬件,并调用虚拟根文件系统中的init程序加载驱动模块初始化系统中各种设备的相关配置工作,其中包括CPU、I/O、存储设备等。当所需的驱动程序加载完后,会根据grub.conf配置文件中“root=XXX”部分所指定的内容创建一个根设备,然后将根文件系统以只读的方式挂载,并切换到真正的根文件系统上,同时调用系统进程的/sbin/init程序,进入系统初始化阶段。
四、系统初始化
这一步是通过/sbin/init,init程序准备软件运行坏境,启动系统服务
通过/etc/inittab文件确定运行级别,然后去执行系统初始化脚本/etc/rc.sysinit,为用户初始化用户空间环境,在完成初始化后,根据运行级别,系统开始对应级别的目录启动服务,关闭那些不要的服务(里面S99local - ../rc.local)用户自动服务启动脚本
运行级别:为系统运行或维护等目的而设定;0-6:7个级别
0:关机
1:单用户模式(root自动登录), single, 维护模式
2: 多用户模式,启动网络功能,但不会启动NFS;维护模式
3:多用户模式,正常模式;文本界面
4:预留级别;可同3级别
5:多用户模式,正常模式;图形界面
6:重启
默认级别:3, 5
切换级别:init #
查看级别:runlevel ; who -r
五、启动终端,用户登录
这一步是用户登录shell过程
如果没有改变级别,默认情况执行/sbin/mingetty打开6个纯文本终端,让用户输入用户名和密码。输入完成后,再调用login程序,核对密码。如果密码正确,就从文件 /etc/passwd 读取该用户指定的shell,然后启动这个shell。更多Linux介绍请查看《Linux就该这么学》。
3、Linux之三Linux的启动过程/关机
man ls
man pages手册页
显示说明
数字说明
Ctrl+Alt+F1/F2......F6
Ctrl+Alt+F7,回到图形化界面
who,看看那几个tty连接着
Linux系统有7个运行级别(runlevel):常用的是3和5
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS),没有网络服务
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11表示控制台,进入图形界面
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
运行级别
接通电源BIOS自检,按照BIOS中设置的启动设备(通常是硬盘)来启动,操作系统接管硬件以后,
首先读入 /boot 目录下的内核文件。
init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。
init 程序首先是需要读取配置文件 /etc/inittab
许多程序需要开机启动。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。
init进程的一大任务,就是去运行这些开机启动的程序。
但是,不同的场合需要启动不同的程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。
Linux允许为不同的场合,分配不同的开机启动程序,这就叫做"运行级别"(runlevel)。
也就是说,启动时根据"运行级别",确定要运行哪些程序。
============================================================
Linux系统有7个运行级别(runlevel):
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS)
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
在init的配置文件中有这么一行: si::sysinit:/etc/rc.d/rc.sysinit 它调用执行了/etc/rc.d/rc.sysinit,
而rc.sysinit是一个bash shell的脚本,它主要是完成一些系统初始化的工作,rc.sysinit是每一个运行级别都要首先运行的重要脚本
它主要完成的工作有:激活交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行任务
rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。
init接下来会打开6个终端,以便用户登录系统。在inittab中的以下6行就是定义了6个终端:
一般来说,用户的登录方式有三种:
(1)命令行登录
(2)ssh登录
(3)图形界面登录
在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机 。
正确的关机流程为:sync shutdown reboot halt
sync 将数据由内存同步到硬盘中
shutdown –h 10 ‘This server will shutdown after 10 mins’ 这个命令告诉大家,计算机将在10分钟后关机,并且会显示在登陆用户的当前屏幕中
Shutdown –h now 立马关机
Shutdown –r now 系统立马重启
reboot 就是重启,等同于 shutdown –r now
halt 关闭系统,等同于shutdown –h now 和 poweroff
最后总结一下,不管是重启系统还是关闭系统,首先要运行sync命令,把内存中的数据写到磁盘中。
重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可。
1 重启Linux,见到下图,在3秒钟之内按下回车
2 三秒之内要按一下回车,出现如下界面
3 按下e键就可以进入下图
4 移动到下一行,再次按e键
5 移动到下一行,进行修改
修改完成后回车键,然后按b键进行重新启动进入系统
6 移动到下一行,进行修改
最终修改完密码,reboot一下即可。
4、linux下怎么设置开机
此功能需要在BIOS中设定,并且你的主板的高级电源管理设置必须支持这个功能,不过现在多数的主板全支持。
(1)步骤一: 启动系统按DEL,进入BIOS,然后选中 "POWER MANAGEMENT FEATURES" (电源管理设置),回车进入.在电源窗口中找到"RESTORE ON AC/POWER LOSS"项,按回车,然后通过方向键设置其值为"POWER ON"。
(2)步骤二: 选中"RESUME ON RTC ALARM"并按回车,接着通过方向键设置其值为"ENABLE"
(3)步骤三: 选中"RTC ALARM DATE"按回车,然后将其值设定为"EVERYDAY",表示每天都进行一样的操作,按照同样的方法,分别将"RTC ALARM HOURS""RTC ALARM MINUTE""RTM ALARM SECOND"设置为"12""30""00"。由于在linux系统下主板的时间与系统的时间不一致。这表示开机时间为早上的"8:30:00",全部设置好后,按F10,保存并重新启动.
5、Linux系统启动及定制过程
CentOS的启动流程总体顺序如下:
POST -- Boot Sequence -- bootloader(MBR) -- Kernel -- 加载rootfs -- switchroot -- /sbin /init -- (配置文件:/etc/inittab, /etc/init/*.conf) -- 根据init配置文件设置默认运行级别 -- 运行系统初始化脚本/etc/rc.d/rc.sysinit,完成系统初始化 -- 开启或关闭用户选定的对应运行级别下所对应的服务 -- 启动终端,打印登录提示符。
注:前面加粗部分代表内核空间的系统启动流程,后面未加粗部分代表用户空间的系统启动流程。
第一步:硬件启动过程
POST加电自检
主要实现的功能是检测各个外围硬件设备是否存在而且能够正常运行起来,实现这一自检功能的是固化在主板上的ROM(主要代表为CMOS)芯片上的BIOS(Basic Input/Output System)程序;例如BIOS会检测CPU、Memory以及I/O设备是否能够正常运行,如果是个人计算机的话可能还会检测一下显示器。只要一通电,CPU就会自动去加载ROM芯片上的BIOS程序,是这样来实现的。而检测完成之后就进行硬件设备的初始化。
选择启动设备以加载MBR
主要实现的功能是选择要启动的硬件设备,选择了之后就可以读取这个设备上位于MBR里头的bootloader了。这一步的实现是这样的:根据BIOS中对启动顺序的设定,BIOS自己会依次扫描各个引导设备,然后第一个被扫描到具有引导程序(bootloader)的设备就被作为要启动的引导设备。
MBR(Main Boot Record),是硬盘的0柱面,0磁道、1扇区(第一个扇区),称为主引导扇区,也称为主引导记录。它由三部分组 成:主引导程序(BootLoader)、硬盘分区表DPT(Disk Partition table)和硬盘有效标志(55AA)。
注:硬盘默认一个扇区大小为512字节。
第一部分,主引导程序(BootLoader)占446个字节,负责从活动分区中装载,并运行系统引导程序。
第二部分,硬盘分区表DPT占64个字节,有4个分区表项,每个分区表项占16个字节,硬盘中分区有多少以及每一个分区的大小都记 录在其中。
第三部分,硬盘有效标志,占2个字节,固定为55AA。如果这个标志位0xAA55,就认为这个是MB
第二步:GRUB引导阶段
不同的系统有不同的主引导程序(BootLoader)。Windows使用的是NTLDR(NT Loader,Windows NT系列操作系统)、Bootmgr(Boot Manager,Windows Vista,7,8,10),Linux一般使用的是grub(也叫grub legacy)和grub2。GRUB程序加载执行并引导kernel(内核)程序,其中有三个阶段,Grub引导阶段的文件都在/boot/grub/目录下。
stage1: 这一阶段执行的就是系统安装时预先写入到MBR的Bootloader程序,即是存放在MBR的前446字节里的程序。它的任务仅是读取(加载)硬盘的0柱面,0磁道,2扇区的内容(/boot/grub/stage1)并执行。
stage1.5: 这一阶段是Stage1阶段和Stage2阶段的桥梁,功能是加载stage2所在分区的文件系统驱动,让stage1中的bootloader能识别stage2所在分区的文件系统,此后grub程序便有能力去访问/boot/grub/stage2。
stage2: 这一阶段读取并解析grub的配置文件/boot/grub/grub.cnf,根据配置文件加载内核镜像到内存中,通过initrd程序建立虚拟根文件系统,最后调用(转交)内核。
第三步:内部引导阶段
加载内核,核心开始解压,启动一些最核心的程序。为了让内核足够的轻小,硬件驱动并没放在内核文件里面。系统仅探测可识别到的所有硬件设备,加载硬件驱动程序,即加载真正的根文件系统所在设备的驱动程序(有可能会借助于ramdisk加载驱动),以只读方式挂载根文件系统,运行用户空间的第一个应用程序:/sbin/init。
第四步:init初始化阶段(系统初始化阶段)
虽然CentOS 5、CentOS 6以及CentOS 7的/etc/init配置文件内容各不相同,但总体的启动流程相同:/sbin/init -- 根据/etc/inittab配置文件设置默认运行级别 -- 运行系统初始化脚本/etc/rc.d/rc.sysinit,完成系统初始化 -- 关闭或启动用户选定的默认运行级别所对应的服务 。
对于CentOS 5来说,初始化程序init是SysV init,其配置文件为:/etc/inittab; 对于CentOS 6来说,初始化程序init是upstart,其配置文件为:/etc/inittab, /etc/init/ .conf,也就是upstart将配置文件拆分成多个,在/etc/init/目录下以conf结尾的都是upstart风格的配置文件,而/etc/inittab仅用于设置默认运行级别; 对于CentOS 7来说,初始化程序init是systemd,其配置文件:/usr/lib/system/systemd/, /etc/systemd/system/ ;
具体执行过程:/sbin/init程序会读取/etc/inittab文件确认运行级别,然后执行/etc/rc.d/rc脚本,根据确认的运行级别启动对应/etc/rc.d/rc#.d/目录下的服务(#为0~6),与此同时执行系统初始化脚本/etc/rc.sysinit(软链接,指向/etc/rc.d/rc.sysinit),还会加载/etc/rc.local(软链接,指向/etc/rc.d/rc.local文件)用户自定义服务(脚本)。
CentOS7中初始化进程变为了systemd,systemd即为system daemon,是Linux下的一种init软件,开发目标是提供更优秀的框架以表示系统服务间的依赖关系,并依此实现系统初始化时服务的并行启动,同时达到降低Shell系统开销的效果,最终代替现在常用的System V与BSD风格的init程序。与多数发行版使用的System V风格的init相比,systemd采用了以下的新技术:A.采用Socket激活式与总线激活式服务,以提高相互依赖的各服务的并行运行性能;B.用Cgroup代替PID来追踪进程,即使是两次fork之后生成的守护进程也不会脱离systemd的控制。
第五步:启动终端
根据前面获取的运行级别来启动终端,mingetty程序是用于启动终端的,它会调用登录程序login,这样就能显示出登录提示符了,类似mingetty这种用于打开终端的程序还有getty等。而如果默认运行级别为5,则会打开图形界面。
第一步:硬件启动过程
这一步和CentOS6差不多,详细请看1.1内容。
第二步:GRUB引导阶段
从这一步开始,CentOS6和CentOS7的启动流程区别开始展现出来了。CentOS7的主引导程序使用的是grub2,执行过程是先加载boot.img、core.img两个镜像,再加载MOD模块文件,把grub2程序加载执行,接着解析配置文件/boot/grub/grub.cfg,根据配置文件加载内核镜像到内存,之后构建虚拟根文件系统,最后转到内核。
CentOS7中使用命令进行配置,而不直接去修改配置文件了。grub.cfg配置文件开头注释部分说明了由/etc/grub.d/目录下文件和/etc/default/grub文件组成。改好配置后都需要使用命令grub2-mkconfig -o /boot/grub2/grub.cfg,将配置文件重新生成。
第三步:内部引导阶段
这一步与CentOS6也差不多,加载驱动,切换到真正的根文件系统,唯一不同的是执行的初始化程序变成了/usr/lib/systemd/systemd。
第四步:init初始化阶段(系统初始化阶段)
CentOS7中我们的初始化进程变为了systemd。执行默认target配置文件/etc/systemd/system/default.target(这是一个软链接,与默认运行级别有关)。然后执行sysinit.target来初始化系统和basic.target来准备操作系统。接着启动multi-user.target下的本机与服务器服务,并检查/etc/rc.d/rc.local文件是否有用户自定义脚本需要启动。最后执行multi-user下的getty.target及登录服务,检查default.target是否有其他的服务需要启动。
注意:/etc/systemd/system/default.target指向了/lib/systemd/system/目录下的graphical.target或multiuser.target。而graphical.target依赖multiuser.target,multiuser.target依赖basic.target,basic.target依赖sysinit.target,所以倒过来执行。
unit对象:unit表示不同类型的systemd对象,通过配置文件进行标识和配置;文件中主要包含了系统服务、监听socket、保存的系统快照以及其他与init相关的信息。(也就是CentOS6中的服务器启动脚本)
第五步:启动终端
systemd执行sysinit.target
systemd启动multi-user.target下的本机与服务器服务
systemd执行multi-user.target下面的/etc/rc.d/rc.local
Systemd执行multi-user.target下的getty.target及登录服务
getty.target是启动终端的systemd对象。如果到此步骤,系统没有指定启动图形桌面,到此就可以结束了,如果需要启动图形界面,要在此基础上启动桌面程序。
从 CentOS 7 版本之后,系统开始用 systemd 实现init进程,系统启动和服务器守护进程管理器功能,负责在系统启动或运行时,激活系统资源,服务器进程和其它进程。
unit表示不同类型的systemd对象,通过配置文件进行标识和配置;文件中主要包含了系统服务、监听socket、保存的系统快照以及其它与init相关的信息。
3.2 system unit文件格式
/usr/lib/systemd/system:发行版打包者使用,每个服务最主要的启动脚本设置,类似于之前的/etc/init.d/
/etc/systemd/system:系统管理员和用户使用,管理员建立的执行脚本,类似于/etc/rcN.d/Sxx的功能,比上面目录优先运行
/lib/systemd/system::ubutun的对应目录
/run/systemd/system:系统执行过程中所产生的服务脚本,比上面目录优先运行
unit 格式说明:
service unit file文件通常由三部分组成:
Unit段的常用选项:
Service段的常用选项:
Install段的常用选项:
注意:对于新创建的unit文件,或者修改了的unit文件,要通知systemd重载此配置文件,而后可以选择重启。
首先在启动界面按e编辑启动参数,
将ro参数更改为rw init=/sysroot/bin/sh,按ctr + x启动系统
按下图执行命令更改root密码
关于linux系统怎么开机和linux系统如何开机的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。