如何修复Linux引导

如何修复Linux引导,第1张

多种方式安装Linux系统

1. 制作安装启动

方法一、在DOS/Windows下制做

G:\dosutils>rawrite

Enter dis image source file name:bootdisk.img

Enter target diskette drive:a

Please insert a formatted diskette into drive A:and press –ENTER--:[Enter]

注:光盘\images\有以下几个IMG文件

l bootdisk.img 安装引导盘映像文件

l drvnet.img网卡驱动盘

l drvblock.img 块设备驱动盘

l pcmciadd.img PCMCIA设备驱动盘

方法二、在Linux下制做启动盘

#dd if=boot.img of=/dev/fd0 bs=1440

2. 光盘安装Linux系统

(1)使用1#光盘启动计算机

(2)直接按回车键/linux text选择安装界面

(3)开始安装向导

3. 硬盘安装Linux系统

(1)将安装光盘的ISO文件复制到硬盘的某个分区中

(2)利用1#光盘/安装启动盘启动计算机

(3)输入linux askmethod选择安装介质

(4)开始安装向导

4. FTP/HTTP安装Linux系统

(1)准备安装文件,制作HTTP/FTP服务器

(2)利用1#光盘/安装启动盘启动计算机

(3)输入linux askmethod选择安装介质

(4)开始安装向导

二.启动linux系统

1.Linux启动过程分析

(1)BIOS自检

l 硬件检测及初始化

l 引导启动设备

(2)引导启动设备

l 软盘(0磁道第一个扇区)

l 光盘(最外围存储轨道)

l 硬盘(MBR)

l USB存储设备

(3)调用Linux引导程序至内存中

l Linux的引导程序可以使用GRUB/LILO等引导软件

l GRUB/LILO可以安装在MBR/引导分区的引导扇区中

(4)运行Linux内核

l 内核放在/boot目录中,Linux系统可以同时支持多版本内核

l 解压缩内核

l 检测硬件

l 加载root文件系统

(5)执行init进程

l 启动新进程或关闭进程

l 选择启动模式

l 建立虚拟终端

(6)用户登录

l 输入用户名及口令

l 加载用户配置文件

l 加载shell程序

2.引导盘的创建

方法一:安装过程中创建

方法二:mkbootdisk

#mkbootdisk --device /dev/fd02.4.20-8

方法三:使用dd命令

# dd if=/boot/vmlinuz of=/dev/fd0

3.GRUB

(1)安装GRUB

l 安装软件包

#rpm –ivh grub-0.934.i386.rpm

l 使用安装命令安装GRUB到MBR

#grub

grub>root (hdx,y)

grub>setup (hdx[,y])

(2)GRUB的配置

#vi /boot/grub/grub.conf

grub.conf中常用的配置命令有:

default=菜单项序号/saved

设置启动菜单的默认启动项

hiddenmenu

隐藏菜单界面

splashimage =图像文件全路径名

指定某文件作为启动菜单的背景图像

timeout=延迟秒数

设置启动菜单的启延时

title 菜单项名称

开始一个菜单项的配置,设置菜单项的名称

root (hdx,y)

设置GRUB的根设备为linux内核所在的分区

kernel 内核文件名称

指定内核文件的名称及加载内核所需的参数

initrd initrd文件名

指定镜像文件的位置

map (hdx[,y]) (hdx[,y])

建立虚拟磁盘

rootnoverify (hdx,y)

指定windows启动引导器的位置

makeactive

标识指定分区为活动分区

chainloader +n/文件名称

调用指定windows启动文件

password 口令/--md5 口令密文

设置GRUB启动菜单和菜单项口令

lock

利用password设置的全局口令锁定菜单项

savedefault

保存当前启动菜单项为默认启动

文件实例:

# grub-md5-crypt(产生口令的MD5密文)

# vi /etc/grub.conf

default=0

timeout=50

splashimage=(hd0,0)/grub/splash.xpm.gz

password --md5 #!dfdasdf34123!#@$!#@

title RedHat Linux 9.0

root (hd0,2)

kernel /Vmlinuz-2.4.20-8 ro root=/LABEL=/

initrd /initrd-2.4.20-8.img

password linux

tile windows 2000

rootnoverify (hd0,0)

chainloader +1

lock

(3)GRUB的FAQ

l 编辑模式的使用

用于临时修改菜单的选项,在菜单界面中按E键进入

l 命令行模式的使用

利用命令行命令设置GRUB,在菜单界面中按C键进入

grub命令行中常用的命令有:

grub>root (hdx,y)//设置根设备所对应的分区

grub>kernel 内核文件 //设置内核文件的名称

grub>initrd 镜像文件名 //设置镜像文件名

grub>boot //启动指定 *** 作系统

grub>rootnoveify (hdx,y) //设置根设备所对应的分区,但不检查加载点

grub>chainloader 文件名 //加载指定的文件

grub>help //获取帮助

grub>reboot //重启系统

grub>md5-crypt //生成口令的MD5密文

grub>setup (hdx[,y])//安装GURB到MBR/指定分区的引导扇区中

grub>hide 分区 //隐藏分区

grub>cat 文件名 //显示文件内容

grub>find 文件名 //查找文件

l 如果MBR中的GRUB引导程序被其它程序覆盖,应该如该恢复

放入第一张安装启动盘,开始启动计算机:boot:linux rescue(启动linux的修复模式,加载硬盘上的LINUX系统到/mnt/sysimage)

#grub

grub>root (hdx,y)

grub>root (hdx)

l 恢复GRUB的配置文件

由于grub.conf设置的问题,可以采用以下方法进行恢复:

放入第一张安装启动盘,开始启动计算机:boot:linux rescue(启动linux的修复模式)

#vi /mnt/sysimage/boot/grub/grub.conf

l 如何利用GRUB进入单用户模式,找回丢失的root用户口令

在GRUB菜单界面中按e编辑linux菜单项,给内核添加参数single

l 如何卸载GRUB

#rpm -e grub

C:\>fisk/mbr

l 如何制作GRUB启动盘

#grub-install /dev/fd0

3.init 进程

(1)init进程的作用

init进程是系统启动第一个进程,它负责加载其它进程、管理系统的其它进程。

(2)init的配置-----inittab文件

/etc/inittab文件用于设置init进程在执行时加载哪些程序,inittab文件由若干个记录构成,每条记录格式如下:

ID:RUNLEVEL:ACTION:COMMAND

以下为默认inittab文件内容:

id:3:initdefault:

si::sysinit:/etc/rc.d/init.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0

l1:1:wait:/etc/rc.d/rc 1

l2:2:wait:/etc/rc.d/rc 2

l3:3:wait:/etc/rc.d/rc 3

l4:4:wait:/etc/rc.d/rc 4

l5:5:wait:/etc/rc.d/rc 5

l6:6:wait:/etc/rc.d/rc 6

ca::ctrlaltdel:/sbin/shutdown -t3 -r now

pf::powerfail:/sbin/shutdown -f -h +2 “power failurepower shutting down”

pr:12345:powerokwait:/sbin/shutdown –c “power restoredshutdown cancelled”

1:2345:respawn:/sbin/mingetty tty1

2:2345:respawn:/sbin/mingetty tty2

3:2345:respawn:/sbin/mingetty tty3

4:2345:respawn:/sbin/mingetty tty4

5:2345:respawn:/sbin/mingetty tty5

6:2345:respawn:/sbin/mingetty tty6

x:5:respawn:/etc/X11/prefdm -nodaemon

说明:

(3) 修改/etc/inittab文件,可以设置默认启动模式、各运行级别所加载的程序、CTRLALTDEL的动作、开设虚拟用户终端

(4)/etc/rc.d 的目录内容

1)/etc/rc.d/init.d目录

l 保存所有运行等级需要的所有脚本

l 启动、停止、重启某些服务

2)/etc/rc.d/rc

l 系统改变运行等级,通过此脚本检查/etc/rc.d/rcX.d目录和文件可存在,以及是否正在运行等,以及运行/etc/rc.d/rcX.d中所有S开头的脚本

3)/etc/rc.d/rcX.d目录

l 存放每一运行等级默认启动项,该目录中的文件链接到:/etc/rc.d/init.d

l 文件名格式为K{Two-digit number} {script name}/S{Two-digit number} {script name},K:以stop参数运行,S:以start参数运行Two:数字代表执行顺序

4)/etc/rc.d/rc.local

l 该脚本在2,3,5运行等级结束时执行

5)/etc/rc.d/rc.sysinit

l 系统初始脚本,用于设置系统的时钟、加载键盘、加载系统字体、加载其他文件系统、激活交换分区、生成日志文件

三.linux系统修复模式

1. 系统修复模式的简介

使用安装光盘启动修复模式,用于检测和加载硬盘上已安装的linux系统到/mnt/sysimage目录中。该模式主要用于修复损坏的系统,当系统出现故障时可使用修复模式.

2.启动修复模式

使用1#安装启动系统

在boot:提示符下输入linux rescue启动修复模式,按照启动向导启动系统

linux修复模式的应用

修复系统

找加丢失的用户口令

修复系统配置

1.检查BIOS设置,确认计算机以正确的顺序加载设备,确保硬盘驱动器被优先加载。

2.检查硬盘驱动器是否工作正常,可以使用硬件测试工具(如硬盘工具箱)来检查是否有硬盘故障。

3.检查硬盘上的引导记录是否损坏,可以使用fdisk命令来检查引导记录的完整性。

4.检查硬盘上的引导记录是否正确,可以使用grub命令来检查硬盘上的引导记录是否正确。

5.检查内核是否正确,可以使用uname命令来检查当前安装的内核是否正确。

6.检查内核参数是否正确,可以使用sysctl命令来检查内核参数是否正确。

7.检查文件系统是否正确,可以使用mount命令来检查文件系统是否正确。

8.检查引导脚本是否正确,可以使用grep命令来检查引导脚本中的内容是否正确。

系统盘就像linux的c盘,使用df -l命令查看

如下所示:

可以看到根路径 / 都是位于系统盘。

如果单独有数据盘,且数据盘没有分区和挂载,使用df -l命令是看不到的

可以使用fdisk -l,可以看到有哪些硬盘

如下信息:

/dev/vda - 系统盘,有一个分区vda1

/dev/vdb - 数据盘,有一个分区vdb1


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/5909823.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-08
下一篇 2023-03-08

发表评论

登录后才能评论

评论列表(0条)

保存