如何对GRUB2启动程序进行检修与管理?

日期: 2013-09-11 作者:Sander van Vugt翻译:唐琼瑶 来源:TechTarget中国 英文

随着越来越多Linux服务器采用GRUB2引导程序,那得需要了解基于GRUB2系统的故障检修操作。 GRUB2作为默认引导程序出现在越来越多的Linux系统上。最新的主要Linux版本都在使用它,所以GRUB2变成企业级Linux版本上,如SUSE Linux Enterprise Server与Red Hat Enterprise Linux,只是个时间问题。 在GRUB2中,几乎所有事都不同。

之前的GRUB引导程序版有个主配置文件/boot/grub/grub.conf,而现在管理员不能编辑GRUB2配置文件/boot/grub2/grub.cfg。相反,要操作目录里的输入文件/etc/g……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

随着越来越多Linux服务器采用GRUB2引导程序,那得需要了解基于GRUB2系统的故障检修操作。

GRUB2作为默认引导程序出现在越来越多的Linux系统上。最新的主要Linux版本都在使用它,所以GRUB2变成企业级Linux版本上,如SUSE Linux Enterprise ServerRed Hat Enterprise Linux,只是个时间问题。

在GRUB2中,几乎所有事都不同。之前的GRUB引导程序版有个主配置文件/boot/grub/grub.conf,而现在管理员不能编辑GRUB2配置文件/boot/grub2/grub.cfg。相反,要操作目录里的输入文件/etc/grub.d/以及配置文件/etc/defaults/grub。在更改这些文件之后,通过grub2-mkconfig命令更新GRUB2,在计算机硬件的头部元数据区域写入信息在何时的位置。

有些东西与之前版本相比也无变化。GRUB2仍然指向核心文件与文件夹,这些在启动服务器时仍然需要。

故障检修路径

如果GRUB2配置发生错误,有一些检修选项。如果服务器无法启动,仍然可以访问启动提示符。如果你的版本在启动时不显示菜单,可通过Escape键进入GRUB2启动提示符。当在内核上选择进入模式,就会显示启动菜单,如下所示。

OpenSUSE启动菜单就是一个检修GRUB2启动程序故障的例子。

setparams 'openSUSE'

 

    load_video

    set gfxpayload=keep

    isnmod gzio

    insmod part_msdos

    insmod ext2

    set root='hd0,msdos1'

    if [ x$feature_platform_search_hint = xy ]; then

      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' a55761c2-7e1c-45b6-9400-e662314d5c96

    else

      search --no-floppy --fs-uuid --set-root a55761c2-7e1c-45b6-9400-e662314d5c96

    fi

    echo 'Loading Linux 3.4.6-2.10-desktop ...'

    linux /vmlinuz-3.4.6-2.10-desktop root=/dev/mapper/vgsys-root video=1366x768 resume=/dev/vgsys/swap splash=silent quiet showopts

    echo 'Loading initial ramdisk ...'

    initrd /initrd-3.4.6-2.10-desktop

GRUB与GRUB2最重要的区别在于GRUB2如何指示启动设备。GRUB2具备灵活性,这是由于必须处理旧有BIOS启动计算机的方式,以及新UEFI启动服务器的方式。就这创造了大量选项。

GRUB2启动

首先,上述命令行中的set root='hd0,msdos1'识别硬盘上的启动设备与第一个硬盘,第二个分区被当做msdos1。这与遗留的微软MS-DOS操作系统无关,只是磁盘的兼容性。使用主引导记录MBR的磁盘就属于msdos磁盘类型,msdos1意思是GRUB2必须查看磁盘中的分区表,以便识别第二分区。

如果没有使用MBR系统,GRUB2启动程序里的shell代码块确保考虑到所有可能的选项,并由GRUB2计算出正在使用何种类型。

GRUB2也将更变与模块工作的形式。模块指的是使用insmod命令从GRUB2配置第一行开始。GRUB2启动程序使用文件系统支持模块以及硬件支持模块。/boot/grub2/i386-pc列出了所有可用模块。支持很多新条目,包括新的Linux文件系统,如btrfs或ZFS,以及磁盘布局功能,如LVM与LUKS加密设备。当然,其支持新的基于UEFI磁盘布局。

从GRUB启动shell,可用修改任意参数,然后按F10启动系统。一旦完全通过修改的/etc/default/grub文件或/etc/grub.d里的合适配置文件启动后,记住将更变记录在服务器中。

如果GRUB2配置某些情况下受到破坏,不能在GRUB shell中启动的话,使用救援磁盘。如有必要,使用一般的救援磁盘,如Knoppix。从救援磁盘启动,可执行grub2-安装命令,重新安装GRUB2启动镜像到硬盘的元数据区域。

相关推荐