028-86922220

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

CentOS6启动过程总结与GRUB问题修复-创新互联

一、CentOS 6 的启动流程

10年积累的网站设计制作、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有兴海免费网站建设让你可以放心的选择与我们合作。

通常使用较多的默认级别为3或5,服务器上一般默认使用3级别,不同级别之间是可以进行切换的,切换方式为:init [0-6],可以使用 who -r 或 run_leave命令查看运行级别。

CentOS6启动过程总结与GRUB问题修复

二、GRUB程序的三个阶段

grup的配置文件路径为:/boot/grub/grub.conf,内容如下:

CentOS6启动过程总结与GRUB问题修复

三、关于GRUB的调试

1、破解root用户密码

CentOS6启动过程总结与GRUB问题修复

如上图所示,可以使用上下键选择要启动的操作系统(这里只用一个);

按“e”可以对选择的项进行编辑;

按“a”可以对选择的项进行内核参数修改;

按“c”可以进入命令行模式;

2、为GRUB菜单设置保护密码

默认情况下进入GRUB菜单后不需要任何密码就可以进行编辑,相对来说是比较危险的,因此可以修改 grub.conf 配置文件为GRUB菜单设置密码保护,在 grub.conf 文件中的title字段上面新增一行pwssword PASSWD,password支持命令口令和加密口令,具体设置如下图所示:

CentOS6启动过程总结与GRUB问题修复

md5加密口令的生成命令为:grub-md5-crypt

CentOS6启动过程总结与GRUB问题修复

在grub.conf文件中新增password后,再次进入GRUB菜单时如果想要编辑则必须按“p”键,然后通过密码验证后才能编辑,如下图所示:

CentOS6启动过程总结与GRUB问题修复

同理,在grub.conf 配置文件中的title内添加password,可以保护内核,即进入系统时需要输入密码验证后才能启动。

3、取消图形界面的启动,使用文本界面启动

系统默认的启动方式是图形界面启动,因此看不到系统的启动过程,可以通过修改 grub.conf 配置文件设置成文本界面启动,生产环境下也建议使用文本界面启动,因为这种启动方式可以看到整个过程,如果哪个服务在启动过程中出错可以及时发现。修改方法是把kernel参数中的rhgb和quiet删除。

CentOS6启动过程总结与GRUB问题修复

4、如果/boot下的文件损坏或丢失的恢复方法

CentOS6启动过程总结与GRUB问题修复

加载救援模式的过程中会提示硬盘上的系统已经被找到并挂载到/mnt/sysp_w_picpath下,因此进入救援模式后可以使用 chroot /mnt/sysp_w_picpath 命令切换到硬盘上操作系统的根目录下,因为救援模式下提供的命令比较有限,好多命令都不支持。

CentOS6启动过程总结与GRUB问题修复

如果进入到救援模式后,没有发现硬盘上的根文件系统,则需要使用相关命令查找并分析根文件系统所在硬盘分区位置,如果硬盘使用的是普通分区,则可以通过 blkid 命令和 fdisk -l 命令分析出根文件系统的分区位置,而如果硬盘使用的是LVM分区,则可以使用 lvscan 命令查看分区,并且需要使用 vgchange -ay 命令激活VG卷组。

分析出根文件系统所在分区后挂载根文件系统,然后检查并修改fstab文件,如果该文件丢失,则手动创建一份,按照相应格式在其中添加挂载根文件系统的条目,然后重启系统,直到能够自动检测出硬盘上的系统并挂载到/mnt/sysp_w_picpath下为止。

CentOS6启动过程总结与GRUB问题修复

CentOS6启动过程总结与GRUB问题修复

vmlinuz-2.6.32-642.el6.x86_64 和 initramfs-2.6.32-642.el6.x86_64.img 是系统启动时必要的两个文件,缺一不可。

vmlinuz-2.6.32-642.el6.x86_64:内核文件,如果只是该文件丢失,可以从光盘或者相同版本的操作系统上拷贝。

initramfs-2.6.32-642.el6.x86_64.img:虚拟文件系统,通过Boot Loader程序能够将其加载到内存中,然后这个文件会被解压缩并且在内存中模拟一个跟文件系统,这个跟文件系统能够提供一个可以运行的程序,通过该程序可以加载在启动过程中所需要的核心模块(RAID、LVM、SCSI等文件系统与磁盘的驱动程序),加载完成之后,会协助内核重新呼叫/sbin/init来执行后续的正常启动。如果只是该文件丢失,可以使用 mkinitrd /boot/initramfs-`uname -r`.img `uname -r` 重新生成 。

CentOS6启动过程总结与GRUB问题修复

CentOS6启动过程总结与GRUB问题修复

CentOS6启动过程总结与GRUB问题修复

5、grub.conf文件损坏的修复

如果grub.conf文件损坏,则操作系统将不能正常启动,此时手中如果有安装光盘的话可以通过救援模式重新创建grub.conf文件,但如果没有安装光盘的话,可以通过以下方式修复:

CentOS6启动过程总结与GRUB问题修复

CentOS6启动过程总结与GRUB问题修复

CentOS6启动过程总结与GRUB问题修复

CentOS6启动过程总结与GRUB问题修复

四、在U盘上自制 Linux 系统

根据 CentOS 6 的启动过程,可以在U盘上自制一个定制版的Linux系统,首先需要划分出一个/boot分区和一个根(/)分区,其次需要安装grub,然后将内核文件和initramfs文件放入到U盘的/boot目录下,最后创建必要的配置文件,具体步骤如下:

CentOS6启动过程总结与GRUB问题修复

CentOS6启动过程总结与GRUB问题修复

CentOS6启动过程总结与GRUB问题修复

CentOS6启动过程总结与GRUB问题修复

CentOS6启动过程总结与GRUB问题修复

CentOS6启动过程总结与GRUB问题修复

CentOS6启动过程总结与GRUB问题修复

CentOS6启动过程总结与GRUB问题修复

CentOS6启动过程总结与GRUB问题修复

[root@localhost ~]# cat copycmd.sh 
#!/bin/bash
 
ch_root="/mnt/sysroot"
[ ! -d $ch_root ] && mkdir $ch_root
bincopy() {
    if which $1 &>/dev/null; then
        local cmd_path=`which --skip-alias $1`
        local bin_dir=`dirname $cmd_path`
        [ -d ${ch_root}${bin_dir} ] || mkdir -p ${ch_root}${bin_dir}
        [ -f ${ch_root}${cmd_path} ] || cp -n $cmd_path ${ch_root}${bin_dir}
        return 0
    else
        echo "Command not found."
        return 1
    fi
}
 
libcopy() {
    local lib_list=$(ldd `which --skip-alias $1` | grep -Eo '/[^[:space:]]+')
    for loop in $lib_list;do
        local lib_dir=`dirname $loop`
        [ -d ${ch_root}${lib_dir} ] || mkdir -p  ${ch_root}${lib_dir}
        [ -f ${ch_root}${loop} ] || cp -n $loop ${ch_root}${lib_dir}
    done
}
read -p "Please input a command: " command
while [ "$command" != "quit" ];do
    if bincopy $command ;then
        libcopy $command
    fi
    read -p "Please input a command or quit: " command
done

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页题目:CentOS6启动过程总结与GRUB问题修复-创新互联
链接分享:http://www.tsicrk.com/article/dgopgp.html

其他资讯

让你的专属顾问为你服务

2.4120s