本文共 2383 字,大约阅读时间需要 7 分钟。
grub修复的手段,一种是依赖备份,如果没备份,如何做修复
清空446字节, grub -install 不仅修复1阶段,还修复1.5,2阶段的 完成修复 如果重启,那么grub-install 只能在救援模式下执行 /sbin/grub并不是在救援模式加载的光盘下有,它在原来的硬盘里才有,所以需要切跟,最后reboot sync确保写磁盘,因为可能会出现问题 出现这个菜单就是进入2阶段,因为这个菜单是由第二阶段生成的 禁用selinux还有第二种方法,临时禁用 selinux=0避免打标签的问题就禁用selinux
修复mbr还有另外的方法,就是grub命令,是个交互式命令,可以跟上 setup 和root子命令来进行修复 这边的root指的是boot分区的意思(它认为内核认为所在的分区才是boot分区) 0.0表示第一的分区 再次破坏 修复,把1.5阶段放到了后面的27个扇区 这条命令依赖于/boot./grub里的文件 把/boot/grub里的文件移走,只留下grub.conf和splash.xpm.gz(登录界面),测试移走这些文件是否会影响启动(不会),应该属于grub的相关数据 这些文件的作用就是用grub命令来做修复用的,相当于备份数据,所以暂时把这些杀出也不受影响恢复到之前,/boot/grub就剩两个文件,再进行一次破坏,未修复过,可以正常启动
恢复之后,因为之前未修复只是移除文件,那么现在进行破坏 破坏完进行修复 修复失败,因为原本移走的文件是grub用来修复的文件,如果想要修复,那就需要把文件移回来,如下 总结:这些文件就是grub用来修复的文件 但是不恢复这些文件也没有关系,可以用到grup-install,生成这些文件,所以grub-install作为修复来讲,更方便 1.5阶段处于27个扇区等于27*512个字节=13824个字节如果破坏了1.5阶段,机器是否起不来
表现的错误情况(不会进入光盘,说明认为硬盘是有启动能力的,加载之后,尝试找1.5阶段,就死了) 进入救援模式,(硬盘起不来,拿光盘引导) 先切跟 chroot 不切跟如果用grub交互式命令也行,(前提是你的boot分区一定是第一个硬盘第一个分区,如果生产中,不在这,就找boot分区在哪里),更简单的就是grub-install /dev/sda(1,1。5.2三个阶段都能修复) 起不来 说明一旦用grub命令修复过以后,那么/boot/grub下的文件不仅仅是那两个文件就能启动的了,还要依赖于其他的文件 这些文件如果没有修复的话,删除了,就剩2个grub.conf 和splash.xpm.gz,不影响启动 但修复过以后,除了这两个文件,其他文件也是启动相关的必要文件 (所以这些文件也不能想删除就删除,也需要保留,前提是修复过 ) 修复,进入救援模式先切跟,再grub-install,sync同步硬盘 前面修复了,grub 1阶段,1.5阶段。2阶段,2阶段里这个grub.conf文件非常重要,是grub配置文件 title对应的是一个语句块,下面的title是另一个启动项,有几个title就等于启动 的时候有几个菜单 root(hd0,0)就代表boot分区在哪里第一个硬盘第一个分区/dev/sda1 vmlinuz内核文件,是在/下放的,/代表boot(上一行描述是在sda1分区上) 也可以像下面一样写,写跟分区在哪里 /vmlinuz-2.6.32-754.el6.x86_64 代表/boot分区 root(hd0,0)去掉不写 在下面声明就可以 ro是只读的意思,当内核找到,加载到内存中以后,会尝试找操作系统的跟,而操作系统的根会以ro只读的方式挂载,当然挂载之后会第二次挂载,变为rw 也可以改成如下这样 根的文件系统加载需要initramfs,来识别根的文件系统,然后加载根,根就可以执行第一个InIT进程 quiet代表是否显示内核的加载启动过程信息,rhgb代表启动的时候是否是图形界面(默认图形界面,会把错误信息挡住) 如果你想在生产环境中观察启动过程就不要加rhgb 如上图,顺序修改会不会导致错误,会 e可以临时编辑 因为grub有强大的编辑修改功能,才给了我们这些能力,只要grub加载了2阶段,就可以进行一些编辑修改 default=0,(0代表用第一个title启动)如果希望用下面的就用1 timeout=5如果默认不选那就等待5秒进入默认的内核启动 splashimage=是个图片,启动背景 640*480 hiddenmenu(不过不敲命令,这个菜单是隐藏的)替换背景,需要安装ImageMagick
用convert工具转换 640x480 颜色14深度 移动至/boot/grub目录 修改grub.conf文件 因为直接破系统口令很简单,进入到单用户即可,那么现在希望用户不这么简单地去破解,加大难度,可以用在grub.conf添加口令的方法 要先输入密码 但是口令明文存放是很不好的,通常需要加密 用这个 口令 但是有MD5已经被破解了,所以可以用另外的,sha512加密算法 encrpted就代表是用的sha512算法 (实在不行,把硬盘拆下来装到别的电脑上,作为分区直接读数据) grub-install grub-crypt grub-md5-crypt grub convert chkcinfig ntsysv test function 函数定义的时候一般不写function return grub 2阶段就是grub里的其他文件,可以把这些都移走,也能启动,grub.conf就几行就可以写下来 没有2阶段配置文件,出现错误,如下 补充两行就可以了转载地址:http://vwkgn.baihongyu.com/