grub小练习

简介:

练习:

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

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

3、为grub设备保护功能



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

1)关机

2)添加硬盘

3)给硬盘分区

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

wKioL1mmN-qhvXG4AAARt1NX5Dc662.png

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

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


4)安装grub

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


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

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

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

6)准备内核及ramdisk

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

7)准备配置文件

1
2
3
4
5
6
7
8
9
# 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
1
# cp /boot/xueling.xpm.gz /mnt/boot


2、为grub设备保护功能

1)生成密码

1
2
3
4
5
6
# grub-md5-crypt
 
xue: $ 1 $gOWbT/$ngmGgm2riNqf9MWKL9Lvr0
 
# openssl passwd - 1  -salt $(openssl rand -base64  4 )
ling: $ 1 $T3KoeQ==$.wB.fhpApwAoHwcphLiq0/


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

1
password --md5 $1$gOWbT/$ngmGgm2riNqf9MWKL9Lvr0


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

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


1
2
3
4
5
6
7
8
9
10
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)同步,新建虚拟机,进入测试

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

wKiom1mmPQbQ5pxKAAGaIElxD0A660.png-wh_50

wKioL1mmPR6ihrpLAAAF1YCOtzQ068.png-wh_50

wKioL1mmPUbwMHtkAAAqP30BUyo592.png-wh_50



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

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

2)挂载光盘

3)进入resuce模式

1
boot: linux rescue


4)切换至真正的根

1
# chroot /mnt/sysimage


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

1
2
3
# grub
grub> root (hd0, 0 )
grub> setup (hd0)










本文转自 lccnx 51CTO博客,原文链接:http://blog.51cto.com/sonlich/1961052,如需转载请自行联系原作者
目录
相关文章
|
Linux Windows Ubuntu
grub2与grub区别
<ul style="margin: 0px; padding: 0px; border: 0px; list-style: none; color: rgb(50, 62, 50); font-family: simsun; font-size: 14px; line-height: 21px;"> <li style="margin: 0px 0px 0px 30px; padding:
5922 0
|
存储 Linux Windows
通过grub-install命令把grub安装到u盘
<p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; color: rgb(89, 145, 0); font-family: 微软雅黑, 黑体; font-size: 18px; line-height: 20px;">通过grub-install命令把grub安装到u盘</
3036 0
|
Linux Shell 数据安全/隐私保护
|
Shell Linux 数据安全/隐私保护
|
Linux 数据安全/隐私保护 编解码