关于grub的一些实验

关于grub的一些实验

关于grub的一些实验

手动引导进入系统

也就是写 grub.conf文件
关于grub的一些实验

改grub界面图片

1、进入/root/grub目录发现里面有很多东西,查看grub.conf可以知

关于grub的一些实验

2、我们查看下图片的格式

关于grub的一些实验
这是一个gzip压缩的图片文件

用vim可以查看开头
关于grub的一些实验
经查得知这是一个640*480的文件而且只支持14色

3、自定义图片

先照一张图片用工具改成这种想要的格式
关于grub的一些实验
关于grub的一些实验

改配置文件的图片名称也可以达到目的

4、重启就行了

关于grub的一些实验

grub 1 1.5 2阶段被删除的修复(此方法适用于删除 /root/grub 目录)

stage1 破坏
dd if=/dev/zero of=/dev/sda bs=1 count=446
stage1.5 破坏
dd if=/dev/zero of=/dev/sda bs=512 count=2 seek=1

1、进入光盘救援

修复grub-install /dev/sda
关于grub的一些实验

如果,/boot/grub 目录的内容没有被破坏可以用一下命令修复

2、同样进入光盘救援模式

切根 chroot /mnt/sysimage
进入grub命令修复
关于grub的一些实验

删除/boot,恢复

rm -rf /boot

光盘启动,进入rescue模式

mkdir /mnt/cdrom

mount /dev/cdrom /mnt/cdrom 挂载光盘

rpm -ivh /mnt/cdrom/Packages/kernel-2*.rpm –root=/mnt/sysimage –replacepkgs|force (二选一)

chroot /mnt/sysimage

grub-install /dev/sda 修复grub目录

vim /boot/grub/grub.conf 写grub的配置文件

关于grub的一些实验

删除init文件(/sbin/init)

是挂载根之后运行的程序
关于grub的一些实验

这时候命令什么的都不支持,没办法只能重启
关于grub的一些实验

关于grub的一些实验

删除 /boot下的vmlinuz-*.文件和 initramfs-*.img文件

1、进入救援模式

2、挂载光盘 把本版本对应的vmlinuz*拷贝过来

3、用命令生成initramfs-*.img文件

切换到根 chroot /mnt/sysimage
mkinitrd /boot/initramfs-uname -r.img uname -r

关于grub的一些实验

或者直接从别的相同的机器上边把这两个文件拷贝过来

scp 10.1.0.1(ip地址):/boot/vmlinuz* /boot

scp 10.1.111.11:/boot/initramfs* /boot

注意:从光盘中拷贝的vmlinuz文件可能不带版本号,要把grub.conf改一下

如果不成功可能是selinux的问题  在进入时可以按e 编辑kernel文件 在之后加入 selinux=0

删除/boot 和/etc/fstab的恢复

注意是先修复/etc/fstab文件

rm -rf /boot /etc/fstab
光盘启动,进入rescue模式
检查/
blkid;fdisk -l(查看文件系统,根和boot分别在那个分区中)
mkdir /mnt/sda2 (创建几个文件进行挂载 找到/所在的那个分区并挂载上)
mount /dev/sda2 /mnt/sda2(把根挂载上)
vi /mnt/sda2/etc/fstab(写配置文件的基本配置信息 )

/dev/sda1 /boot ext4 defaults 1 1
/dev/sda2  /      ext4 defaults 1 2

reboot

光盘启动,进入rescue模式,挂载/mnt/sysimage (下边的就一样了)

mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
chroot /mnt/sysimage
rpm -ivh /mnt/cdrom/Packages/kernel-2*.rpm  –replacepkgs|force
grub-install /dev/sda

vim /boot/grub/grub.conf

default=0
timeout=3
title wanglinux
root (hd0,0)
kernel /vmlinuz.... root=/dev/sda2
initrd /initramfs

逻辑卷情况下,删除/boot 和/etc/fstab,恢复之

和上边差不多,只不过要先启用vg 用lvscan查看文件系统的挂载情况!

rm -rf /boot /etc/fstab

光盘启动,进入rescue模式

检查

lvscan 查看lv的分区

vgchange -ay 启用vg

mount /dev/vg0/root /mnt/sysimage 挂载根所在的分区

vi /mnt/sysimage/etc/fstab

/dev/sda1 /boot ext4 defaults 1 1 
/dev/vg0/root  /      ext4 defaults 1 2
/dev/vg0/usr /usr 
/dev/vg0/var /var

reboot
重启看下次是否能自动找的各个分区

光盘启动,进入rescue模式,挂载/mnt/sysimage

mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
chroot /mnt/sysimage
rpm -ivh /mnt/cdrom/Packages/kernel-2*.rpm  –replacepkgs|force
grub-install /dev/sda

vim /boot/grub/grub.conf

    default=0
    timeout=3
    title wanglinux
    root (hd0,0)
    kernel /vmlinuz.... root=/dev/vg0/root
    initrd /initramfs .

原创文章,作者:qzx,如若转载,请注明出处:http://www.178linux.com/46919

(0)
qzxqzx
上一篇 2016-09-16
下一篇 2016-09-16

相关推荐

  • linux 文件管理类命令及功能用法

    第一题:Linux上的文件管理类命令都有哪些,其常用的使用方法及相关示例演示。 文件管理类的命令有: cd,ls,touch,mldir,cp,mv,rm,rmdir,pwd,tree 使用方法 (1),cd命令用来切换工作目录至dirname。其中dirName表示法可为绝对路径或相对路径。 常用格式: cd #进入用户家目录 cd~ #进入用户家目录 c…

    Linux干货 2017-07-09
  • shell脚本1——test测试

    程序:指令+数据 程序:算法+数据结构 shell脚本编程: 编程的语言分类:根据运行方式     编译运行:源代码——>编译器——>程序文件     解释运行:源代码——>运行时启动解释器,由解释器边解释边执行 根据其编程过程中功能的实现是否调用库还是调用外部…

    Linux干货 2016-08-18
  • GRUB

    GRUB(Boot Loader):  grub: GRand Unified Bootloader grub 0.x: grub legacy grub 1.x: grub2 grub legacy: stage1: mbr stage1_5: mbr之后的扇区,让stage1中的bootloader能识别stage2所在的分区上的文件系统; s…

    Linux干货 2016-04-12
  • shell脚本一键分区

    #!/bin/bash #实现硬盘自动分区助手 echo "当前所有分区:" echo `fdisk -l|grep "Disk /dev/[sh]d"|cut -d: -f1|awk '{print $2 &q…

    Linux干货 2016-07-26
  • linux文件系统目录结构

    FHS标准      文件和目录被组织成一个单根的倒置树结构 文件系统从根目录开始用“/”表示 根文件系统:root filesystem 目录名称vfat格式不敏感大小写 以.开头的为隐藏文件 路径分割的/ /boot:引导文件存放目录,内核文件,引导加载器都存放此目录 /bin:供所有用户使用的基本命令;不能关联到…

    Linux干货 2016-07-29
  • sed的基本用法详解

    在Linux的世界中,有着一个文本三剑客的称呼,它们分别代表grep(文本过滤),sed(流编辑器),awk(gawk)(报告生成器)。 它们是强大的文本处理工具,了解并掌握它们,可以让你对文本的处理更加从容和轻松。 今天我们主要是围绕sed来进行分析。 一、初识sed sed:Stream Editor 从名字上也可以直观的了解到它是一个流编辑工具。何为流…

    Linux干货 2015-06-08