• 关于GRUB2


    grub2启动引导

        GRUB 2是GNU GRUB(GRand Unified Bootloader)的最新版本。bootloader(引导程序)是计算机开机后(bios自检之后)第一个运行的软件程序,它负责加载操作系统内核并把控制权交给操作系统内核。之后,操作系统内核初始化操作系统的其他部分 
        在grub 2引导启动时,会读取配置文件/boot/grub2/grub.cfg。该配置文件中会列出该机器上安装的所有操作系统. 如果需要将某个系统作为默认启动项,则可以: 
    (1)在/etc/default/grub 中设置 grub_default=saved 表示保存系统的默认启动项 
    (2)然后将它写到grub2的启动配置文件 grub2-mkconfig -o /boot/grub2/grub.cfg 
    (3)执行grub2-set-default 启动名 设置为默认启动 
    (4)此时查看 grub2-eidtenv list 可以查看此时的默认启动项

        grub2的启动配置文件为 /boot/grub2/grub.cfg,但是一般不直接修改它,而是通过 配置文件/etc/default/grub.cfg以及grub2-的相关命令来修改配置。

    grub2修复GRUB

        如果操作不当导致机器GRUB bootloader失效(比如错误修改/boot/grub2/grub.cfg),GRUB 2可能会加载失败,随后进入启动提示符。此时,可以在grub2中进行启动设置修复: 
    (1)列出GRUB 2识别的驱动器 
    grub2> ls 
    (2)对于一个含有三个分区的 dos 分区表 /dev/sda, 输出看起来类似于: 
    (hd0) (hd0, msdos3) (hd0, msdos3) (hd0, msdos3) 
    对于一个含有四个gpt分区表的/dev/sda,输出看起来类似于: 
    (hd0) (hd0, gpt4) (hd0, gpt3) (hd0, gpt2) (hd0, gpt1) 
    (4)通过这些信息就可以在驱动器的每个分区探测并定位您的vmlinuz和initramfs文件了,通过ls命令列出文件,进行判断

    (5)有了vmlinuz和initramfs的全路径就可以启动系统了: 
    (5.a)声明根分区:grub> set root=(hd0, 3) 
    (5.b)声明您想使用的内核:grub> linux (hd0, 1)/vmlinuz-3.0.1.fc6.i686 root=/dev/sda3 rhgh quiet selinux=0 #看自己机器情况修改内容 
    (5.c)声明要使用的initrd:grub> initrd (hd0, 1)/initramfs-3.0.1.fc16.i686.img 
    (5.d)通知 GRUB 2启动所选文件:grub > boot

    (6)启动后打开终端,执行grub2-mkconfig命令来重建grub2 启动系统所需要的grub.cfg 
    grub2-mkconfig -o /boot/grub2/grub.cfg

    grub2修复MBR

        如果操作不当导致机器的MBR(Master Boot Record主引导记录,硬盘的0柱面,0磁头,1扇区称为主引导扇区。其中446字节是bootloader,64Byte为分区表,剩下2字节为magic number)错误,可以使用grub2进行修复。 
        如果出现MBR被破坏的情况,将无法通过bootloader进入grub2命令行。此时需要使用光盘或者U盘进入修复模式。在修复模式下,使用grub2-install命令重建bootloader,如何进入修复模式

    1. #grub2-install root-directory=/mnt/sysimage/boot /dev/sda #重做MBR
    2. #sync #将MBR写入硬盘
    3. #reboot

    参考: 
    GRUB 2/zh-cn 
    centos7 修复MBR和GRUB

  • 相关阅读:
    iterm2 Mac 常用快捷键
    软件测试:测试方法
    maccms(苹果cms)采集过程报错--MySQL server has gone away错误的解决办法
    ArrayLIst的使用
    hashmap的使用
    hashset机LinkedHashSet的使用
    java集合Collection总结
    maxPostSize属性改变tomcat的post请求的请求体大小设置
    postman中 form-data、x-www-form-urlencoded、raw、binary的区别
    用synchronized关键字及concurrent.locks解决线程并发问题
  • 原文地址:https://www.cnblogs.com/gtarcoder/p/6016007.html
Copyright © 2020-2023  润新知