码迷,mamicode.com
首页 > 其他好文 > 详细

grub小练习

时间:2017-08-30 19:52:42      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:linux

练习:

1、新加硬盘,提供直接单独运行bash系统

2、破坏本机grub stage1 (512MBR中的446),而后在救援模式修复之

3、为grub设备保护功能



1、新加硬盘,提供直接单独运行bash系统

1)关机

2)添加硬盘

3)给硬盘分区

# fdisk -l /dev/sdb
# fdisk /dev/sdb

技术分享

boot分区 200M /dev/sdb1
swap分区 1G   /dev/sdb2
root分区 5G   /dev/sda3
partx -a /dev/sdb
partx -a /dev/sdb
mke2fs -t ext4 -b 2048 -i 2048 -L boot -O ^has_journal /dev/sdb1

mke2fs -t ext4 -b 2048 -i 2048 -L boot -O ^has_journal /dev/sdb3
tune2fs -O has_journal -o acl /dev/sdb3
mkswap /dev/sdb2
mkdir /mnt/{boot,sysroot}
mount /dev/sdb1 /mnt/boot 
mount /dev/sdb3 /mnt/sysroot
mount | fgrep sdb


4)安装grub

# grub-install --root-directory=/mnt /dev/sdb


5)准备FHS要求的根目录,及bash程序、库

# ldd /bin/bash | grep -o ‘/.*[[:space:]]‘ | tr -d ‘ ‘ | xargs -I {} cp --parents {} /mnt/sysroot

# cp --parents /bin/bash /mnt/sysroot
# install -d /mnt/sysroot/{etc,lib64,proc,sys,tmp,usr,var,home,root,boot,media,dev}

6)准备内核及ramdisk

# cp /boot/vmlinuz-1.2.3-1.os.cpu /mnt/boot/vmlinuz
# cp /boot/initramfs-1.2.3-1.os.cpu.img /mnt/boot/initramfs.img

7)准备配置文件

# vim /mnt/boot/grub/grub.conf
default=0
timeout=5
splashimage=(hd0,0)/xueling.xpm.gz
hiddenmenu
titile bashlinux
    root (hd0,0)
    kernel /vmlinuz ro root=/dev/sda3 selinux=0 init=/bin/bash
    initrd /initramfs.img
# cp /boot/xueling.xpm.gz /mnt/boot


2、为grub设备保护功能

1)生成密码

# grub-md5-crypt

xue: $1$gOWbT/$ngmGgm2riNqf9MWKL9Lvr0

# openssl passwd -1 -salt $(openssl rand -base64 4)
ling: $1$T3KoeQ==$.wB.fhpApwAoHwcphLiq0/


2)在hiddenmenu下添加代码,为菜单加密码

password --md5 $1$gOWbT/$ngmGgm2riNqf9MWKL9Lvr0


3)在initrd下一行添加代码,为启动内核加密

password --md5 $1$T3KoeQ==$.wB.fhpApwAoHwcphLiq0/


default=0
timeout=5
splashimage=(hd0,0)/xueling.xpm.gz
hiddenmenu
password --md5 $1$gOWbT/$ngmGgm2riNqf9MWKL9Lvr0
title bashlinux
    root (hd0,0)
    kernel /vmlinuz ro root=/dev/sda3 selinux=0 init=/bin/bash
    initrd /initramfs.img
    password --md5 $1$T3KoeQ==$.wB.fhpApwAoHwcphLiq0/


4)同步,新建虚拟机,进入测试

# sync
# for i in 1 2 3; do sync; done

技术分享

技术分享

技术分享



3、破坏本机grub stage1 (512MBR中的446),而后在救援模式修复之

1)在命令行破坏grub stage1,前512字节

2)挂载光盘

3)进入resuce模式

boot: linux rescue


4)切换至真正的根

# chroot /mnt/sysimage


5)grub命令修复第一个阶段

# grub
grub> root (hd0,0)
grub> setup (hd0)


本文出自 “Reading” 博客,请务必保留此出处http://sonlich.blog.51cto.com/12825953/1961052

grub小练习

标签:linux

原文地址:http://sonlich.blog.51cto.com/12825953/1961052

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!