当你按电源开关开机时,电脑会首先去启动BIOS(基本输入输出系统),BIOS一般是集成在主板上的.
BIOS 的工作
1.检测连接硬件,比如显卡,内存,磁盘等等,检测的目的是以后把这些设备信息提供给 *** 作系统
2.寻找启动磁盘,每一种BIOS都会有开机启动菜单,可以在菜单里设置以哪个设备启动系统
比如:光驱,硬盘,网络等等,这个菜单可以设置多个选项,依照设置次序在设备上寻找启动信息
3.找到了启动硬盘,接着BIOS就会在磁盘上找启动扇区,找到内核启动系统.
1)先试着寻找第一个扇区,也就是主引导记录MBR(Master Boot Record)
2)如果第一个扇区上没有没有存在 *** 作系统,再去寻找标记为BOOT的分区.
不论是MBR还是BOOT分区,存储 *** 作系统的空间都只有446字节
如果没有在上面提到的位置找到 *** 作系统的内核,那么BIOS就无法继续启动工作.
而我们的内核往往会大于446个字节,存放在磁盘的其他位置上,既然446装不下内核,又为了能顺利的找到放在其他位置上的内核,
人们想出了一个办法就在446字节里写了一个小程序,当BIOS试着启动 *** 作系统时就会执行这个小程序,然后再由小程序来载入其他位置的内核.这个小程序就是启动载入器(boot loader)
二、BOOT Loader
linux的boot loader(上文提到的小程序) 常见的有两种:lilo grub
因为lilo存在着一个1024柱面的限制,并且更改了磁盘上的启动信息文件后需要重新启动系统才能同步446字节的内容,因为lilo的缺陷,已经被grub所取代.现在的绝大多数类linux系统都采用grub做boot loader
grub则没有了lilo各种限制,而且方便到能修改系统文件的启动内容就可以立刻与446内容同步.
那么我们就看看grub的内容 它存在于 /boot/grub中
GRUB有几个重要的文件,STAGE1、STAGE1.5、STAGE2
STAGE1:它只有512字节,通常放在MBR中,它的作用很简单,就是在系统启动时用于装载STAGE2并将控制权交给它。
STAGE2:GRUB的核心,所有的功能都是由它实现。
STAGE1.5:介于STAGE1和STAGE2之间,是它们的桥梁,因为STAGE2较大,通常都是放在一个文件系统当中的,但是STAGE1并不能识别文件系统格式,
所以才需要STAGE1.5来引导位于某个文件系统当中的STAGE2。根据文件系统格式的不同,STAGE1.5也需要相应的文件,如:e2fs_stage1_5,fat_stage1_5,分别用于识别ext和fat的文件系统格式。它存放于1-63的柱面之间.
引导顺序如下:STAGE1->STAGE1.5->STAGE2,
主要的配置文件时 grub.conf
里面选项含义:
title:一个 *** 作系统引动的标头,可以使多个
root :指明所需文件存在于哪个磁盘哪个分区上 (hd0,0)表示第一个硬盘,第一个分区,可参考/boot/grub/device.map
kernel:内核文件的名字,并且会有一些加载内核时的参数 or代表以只读方式加载
initrd:包含一些附加的驱动程序
三、内核启动
内核启动后会向bios查询电脑的所有硬件信息,然后自己接手下来管理这些设备,以便提供给linux使用
内核会试着驱动这些设备,这些设备的驱动一部分包含在内核中,叫做静态驱动,一部分以模块的方式(动态)存放文件系统中,由
于此时还未挂载任何文件系统,因此还不能使用文件系统中的模块,这里只能驱动在内核中存在的硬件驱动程序的对应设备.想驱动内核中未包含的硬件驱动就需要加载文件系统.
内核会尝试挂载根文件系统,根文件系统至少包含 /etc /bin /sbin /lib /dev 这5大目录
他们5个缺一不可.都会导致系统无法启动
根文件系统挂载是以只读方式挂载的,因为这时linux还在启动阶段,并不稳定,避免破坏系统资料
四、启动INIT服务
顺利的挂载了根文件系统后,就会启动init服务
内核会按 /sbin/init /etc/init /bin/init 顺序寻找init程序,
如果找不到则内核报错 这里存在一个参数 init=/bin/sh 如果启动时指定了则最后执行/bin/sh
而不会产生内核报错.也被称为快速启动,因为它忽略了很多启动初始化工作.
启动init的目的就是为了初始化系统环境,启动了init就证明了内核已经顺利启动,接下来就由init服务来建立linux使用环境
init做了什么?它会读取 /etc/inittab 文件,根据这个文件的信息来进行初始化工作.
会执行三个脚本 /etc/rc.d/rc.sysinit /etc/rc.d/rc /etc/rc.d/rc.local
rc.sysinit 主要的功能用来建立系统的基本环境
启动udev selinux子系统
udev负责产生 /dev中的文件,selinux负责增强系统的安全性
设定核心参数 sysctl -p 加载 /etc/sysctl.conf
设定系统时间 将硬件时间设定为系统时间
加载键盘和交换分区 swapon -a -e
设置主机名,挂载文件系统,并将根重新挂载为可读写的.
加载动态驱动模块
USB设备与RAID &LVM
卸载 /initrd/ 目录
rc 脚本设置启动级别 linux中有许多不同的启动级别,不同的启动级别会制定不同的服务
根据指定rc的参数会对应执行 /etc/rc.d/rc[0-6].d/ 中的连接脚本文件 以S开头的则启动
rc.local 前两个脚本都是系统至关重要的脚本,如果我们想在启动过程中放置一些其他程序
应该使用rc.local脚本中 因为S99local存在于rc[2-5].d中
三个RC脚本执行完毕后,就会建立虚拟主控制台 执行 /bin/login 就提供了用户登陆界面了
如果是图形 L5级别的话,会启动X window登录界面
所有的启动就都已经完毕
用户环境初始化
输入用户名和密码系统验证,然后会执行
/etc/profile
/etc/profile.d/*.sh $HOME/.bash_profile
/etc/bashrc
$HOME/.bashrc
启动级别
0 关机
1 单用户
2 多用户模式但带网络但不能远程登录
3 不受限多用户模式 TUI
4 保留
5 图形模式
6 重新启动
查看启动级别
# runlevel
N 3
N是上次的级别,3是当前级别 也就是说机器开机就是3级别
切换级别
init 5
挂载文件系统
/etc/fstab
第一项 是要mount的存储装置的实体位置或者用卷标
第二项 要挂到哪个目录位置
第三项 指定要挂载的系统格式
第四项 mount时要设定的状态,只读或defauls
第五项 提供DUMP功能,在系统DUMP时需要BACKUP的标志位,其内定位置是 0
第六项 设定开机时文件系统是否要check
除了root的文件系统其必要的check为1 其他视需要而定 默认是0
LABEL=/boot /boot ext3 defaults 1 2
作者“xudeqiang”
如果你经常和电脑打交道,电脑无法启动、电脑开不了机、电脑不能开机,相信您肯定遇到过;根据我多年电脑维护的经验分析,造成这样的原因,有好多种,接下来一一列举分析下:开机后,风扇转动,有滴的自检声,但是突然就没电了,70%可能是电源线坏了。
电脑开机正常,开机过程中显示器突然不显示,主机在运行着。首先看看是不是电脑开机前,插着其他方便外接设备,比如优盘、数码相机,建议拔下来他们,开机正常进入系统后再插上。实际上 这是属于硬件冲突的一个小问题,不经常出现
能通过自检,即听到清脆的“嘀”一声,而后出现蓝屏等情况无法登录windows。这种情况一般是由于系统损坏、驱动或硬件冲突、病毒等造成的,解决起来比较简单,可以先易后难:1、启动过程中,选择“最后一次正确的配置启动”。若不能解决继续下一步;2、启动过程中,注意按“F8”键进入安全模式,在此模式下通过导入备份过的注册表、杀毒、查看硬件设备管理器来卸载重新安装带“!”的设备驱动。3、值得一提的是,键盘故障或没有插好也会引起蓝屏,并出现“Keyboard error or no keaboard present",若键盘和主板插接口没问题的话,则清洁键盘连接口并重新插紧就能解决。4、开机正常而无显示,检查显示器电源线、开关、数据线是否正确无误,也有可能是显示器损坏或者显卡出现问题(例如有灰尘),这些都可以通过观察主机情况、启动声音等很容易排查。5、重新安装系统。
6、如果重新安装系统后仍然有开机蓝屏或者运行过程中蓝屏,那极有可能是你电脑需要清理灰尘了;打开机箱用吹风机把机箱灰尘先吹下,接下来拔下内存条、显卡,用橡皮擦下金手指,同时清理下插槽,并且要把风扇上的灰尘清理干净。7、如果以上都还无法解决你电脑开机不显示、死机或者蓝屏问题,那肯定你某个硬件出问题了。
如果不能通过自检,没有嘀的一声,那你要先检查下内存条,清理灰尘;插拔实验,确认不是主板等其他问题。
开机声音判断集锦:
正常情况下开机会有“滴”一声短响,是内存自检声音,接着就会有启动画面出现。如果是没有启动画面,电脑都会报警,发出声音,根据声音的长短判别电脑哪里出了故障。 有启动画面,进不了系统则是系统出了问题。 1短:系统正常启动。恭喜,你的机器没有任何问题。 2短:常规错误,请进入CMOS Setup,重新设置不正确的选项。 1长1短:RAM或主板出错。换一条内存试试,若还是不行,只好更换主板。 1长2短:显示器或显示卡错误。 1长3短:键盘控制器错误。检查主板。 1长9短:主板Flash RAM或EPROM错误,BIOS损坏。换块Flash RAM试试。 不断地响(长声):内存条未插紧或损坏。重插内存条,若还是不行,只有更换一条内存。 重复短响:电源有问题。 无声音无显示:电源有问题。
不常见原因,电脑太老了才这样
1、电源开关故障 当电源开关按键因为老化而导致电源开关按钮按下后不能及时复位,使开关始终处于接通状态,这时就会出现按下电源开关后,主机加电开始启动,但过4秒后自动关机的现象。 检查方法为开机后拔掉与主板PW_ON接口相连的面板开关,直接用小螺丝刀短接跳线,观察主机是否还出现4秒关机故障。如果故障消失,就可以断定开关电路存在问题。 2、RESET开关或跳线被短路 尽管此类故障出现的机会不多,但是随着电脑使用时间的增加,RESET键使用的非自锁按钮开关会因为d性失效而出现按下后不能d起,造成始终接通状态;或者因为机箱前面板上的按钮安装不到位或变形,导致RESET开关按钮按下后不能及时复位,长时间处于接通状态;再就是因为我们检修过程中,拉动,拔插时无意中造成RESET线路短接。这时,当我们按下电源开关后,因为主板始终处于复位状态,尽管市电已经接通,CPU风扇和电源风扇,显卡风扇,主板风扇都开始工作,但主机没有任何启动迹像。 如果我们有DEBUG卡插入PCI插槽时,我们就会立即发现复位灯始终显亮,就可以马上判断RESET相关电源存在短接现象。
3、DMI数据不能被更新或ESCD数据没有设置为自动更新 DMI(Desktop Management Information)数据是一组保存在BIOS芯片中为了方便系统调用的数据集合,每次系统启动时都会校验DMI数据是否正确。对于因为DMI数据错误造成系统不能启动的故障我还没有遇到过。 ESCD(Extended System Confirguation Data)数据是保存在CMOS芯片中,用以管理计算机的资源配置数据集合。随着计算机的迅速发展和即插即用技术的应用,为了避免资源占用冲突,需要由合理分配有限的系统资源(如地址,IRQ,DMA等),由于计算机的外设资源迅速增加,如ACPI,APM,USB,MODEM,INC,VGA Card等,就会造成计算机自检时间增加,导致启动时间过长。 实际上多数时候,计算机的板卡并不频繁,并不需要每次都进行详细自检,所以计算机就设计了ESCD数据来简化计算机的启动过程,如果计算机没有硬件变化时,在启动时计算机就直接调用ESCD数据来分配系统资源,控制计算机的运行,以节省计算机的启动时间。 不过,当我们变化了计算机的硬件时,如改变了CPU类型,更换了内存,增加了内存,添置了光驱,换了显卡等,如果我们没有强制更新ESCD数据,这时计算机在启动时就会仍然按照旧的配置来分配系统硬件资源,这时就会出现无法正常启动或不能识别新添置的硬件的故障。解决的方法我们只需要进入CMOS设置中的“PNP/PCI CONFIGURATION ”,把“Reset ESCD ”设置为“Enabled”(再次启动电脑后,该选项会自动变换成Disabled)却可。 ESCD数据的更新并不是每次都出现的,只有当你改变了硬件硬置,并在CMOS中进行了设置才会更新,而DMI数据的校验则时每次开机都会进行的。 4、BIOS芯片氧化或接触不良 每一块电脑主板都有一片FLASH芯片用来存储BIOS程序代码,现在的硬盘,光驱,显卡,MP3,手机上都有类似的芯片存储FireWare程序,可以方便更新,提供新的功能。不过,一些主板的BIOS为了方便更新和升级,BIOS芯片是通过IC插座与主板进行通讯,由于使用环境的原因,芯片的引脚会因为氧化而接触不良,这就导致主机加电后无法完成BIOS程序的加载,造成主机虽然能够加电,但没有任何启动迹像。 5、显卡相关电路有故障造成显示器无显示,同时PC喇叭没有接 如果显卡与主机通讯正常,但显卡的DAC电路出现故障,造成显卡的输出信号无法正常传送到显示器,虽然主机有正常启动时嘀的一声,但显示器无图像显示。检查显示器也正常,信号连接也正常,接口插针也无氧化接触不良的现象,最后只能通过替换法最终确定显卡的故障。 如果PC喇叭没有接,那就表现为主机能够加电,但显示器无图像显示,主机好像什么反应也没有。 6、CPU辅助供电接口没有接,造成CPU不能完成初始化,而使主机不能启动 随着PIVCPU的功耗越来越大,单单依靠ATX20针的电源接口已经不能满足PIVCPU的耗电需求,所以ATX电源也由2.03版本升级为ATX 12V的版本,同时PIV主板上都提供了4针的12VCPU辅助供电接口,用以扩展CPU的供电电流。如果使用的电源功率偏小或没有连接辅助电源接口时,就会出现主机虽然能够加电,但因为提供给CPU的供电电流不足,造成CPU不能完成初始化而表现为主机没有自举启动过程。 7、内存辅助供电接口没有连接,造成内存供电不足而致使主机不启动 现在内存的耗电量也与日俱增,PIV高档次的主板都提供了6针的内存辅助电源接口,以减小内存供电的连接电阻,为内存提供更大的工作电 流。如果我们使用了更大容量的内存,而没有连接内存辅助电源接口,就会出现类以的CPU供电不足的现象,出现开机内存报警或无法正常启动的现象。 8、硬盘,光驱,软驱性能部分损坏,造成电源部分不完全短路而使主机主板供电不足,造成主机不能启动 这个情况通常出现在硬盘,光驱,软驱的电路,电机不完全短路,还不致于造成主机开关电源直接保护,只是加电了主机的耗电量,致使主机的整体供电不足,造成主机无法顺利完成自举过程或自检时间特别长,表现为主机启动慢或不能启动。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)