關于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.www58058.com/46919

(0)
qzxqzx
上一篇 2016-09-16 15:56
下一篇 2016-09-16 16:46

相關推薦

  • Homework Week-7 RAID及bash編程

    1、創建一個10G分區,并格式為ext4文件系統;    (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;    (2) 掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳; fdisk /dev/sda n …

    Linux干貨 2016-09-26
  • linux下的文件查找命令對比(locate,find,grep,sed)

        在linux下,文件系統占據著非常重要的位置,而我們對于文件系統的操作也顯得尤為重要。 如果我們想熟悉的操作文件系統,其中,我們需要對文本的查找,截取等命令需要熟悉的掌握。 這里就不得不說幾個關于文本操作的幾個命令的作用詳細介紹和對比。比如: locate,find ,grep ,sed等。 這里,grep ,…

    Linux干貨 2016-08-15
  • SHELL編程之數組運用及YUM軟件包管理

    SHELL編程中,當要引用到多個值的時候,一個一個地進行變量賦值會讓我們的腳本變得繁瑣,不利于代碼的優化,所以,就需要通過數組進行定義,優化代碼,減少不必要的定義和命令操作。 SHELL中的數組:存儲多個元素的連續內存空間 數組名:整個屬組只有一個名字 數組索引: 編號從0開始   數組名[索引]   ${array_name[index…

    Linux干貨 2016-08-24
  • 馬哥教育網絡班21期+第六周博客作業

    1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; # cp -a /etc/rc.d/rc.sysinit /tmp/ # ls /tmp/ | grep rc.sysin…

    Linux干貨 2016-08-15
  • Linux基礎 & bash相關

    Q1:Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 文件管理類命令: cd, ls, touch, cp, mv, rm, cat, tac, more, less, tail, head; 詳細介紹以上命令: cd: 在Linux文件系統上,可以使用切換目錄命令cd將shell會話切換到另一個目錄。 命令格式: ~]#&nbsp…

    Linux干貨 2016-11-06
  • linux文件查找和壓縮

    locate          非實查找,查找是根據全系統文件數據庫進行的,                  #updatedb, 手動生成數據庫,  locate查找速度快 find : &nbs…

    Linux干貨 2017-03-04
欧美性久久久久