启动和内核管理

实验1rm -rf /boot 恢复

1. rm -rf /boot/*

wKioL1nAuW6zWxJDAABJl0z_R7E861.png

重启的时候虚拟机启动不起来。

wKiom1nAudrCopvNAAAPkqi84qM419.png

2. 进入救援模式

wKiom1nAuoKSMIAqAAOnQz-hYq4762.png

wKiom1nAvQyT_RukAAAInmYFJ1I912.png

wKioL1nAvPWD_yC9AAAJ5AUpB78104.png

3.进入shell中,切换根目录: chroot /mnt/sysp_w_picpath

wKioL1nAvoPShbMgAAAM8stLazI671.png

4. mkinitrd/boot/initramfs-`uname -r`.img  `uname -r`为当前正在使用的内核重新制作ramdisk文件

wKiom1nAw_eQQ4NMAAAID2H9S_M863.png

5. mount /dev/sr0 /mnt;cp /mnt/isolinux/vmlinuz /boot 内核文件

wKioL1nAxR_T1J7OAAAT7JC9h7Q249.png

6 grub-install /dev/sda 安装grub


7 vim /boot/grub/grub.conf 创建conf文件

default=0

timeout=5

title centos6.9

kernel /vmlinuz root=/dev/sda2

initrd /initramfs-2.6.32-696.el6.x86_64.img

注意:Grub 和内核是不同的

结束

实验2:在分区情况下,rm -rf /boot/etc/fstab,恢复

这个实验与上面的实验有点类似,但是这个实验进入救援模式后找不到挂载点。

1 rm -rf /boot /etc/fstab

reboot

 wKioL1nGQ_rTcokqAABqqafmlVs043.png

2 救援模式,无法挂载到/mnt/sysp_w_picpaths。这是因为删除了fstab文件

通过挂载查看那个分区是/root,那个分区是boot,因为之前把boot 里的东西删光了,所以是空的。

mount /dev/sda{1,2,...} /mnt/tmp;ls/mnt/tmp

mount /dev/sda2 /mnt/tmp

wKioL1nGRuviAbHGAAAVWuR--Ew321.png

新建fstab文件,因为这里只能用vi,不方便,所以用重定向 cat > /mnt/tmp/etc/fstab,编辑完成后ctrl +d 退出。注意:在此之前要先把根挂载起来。

/dev/sda1 /boot ext4 defaults 0 0

/dev/sda2 /     ext4 defaults 0 0

 /dev/sda3 /app  ext4 defaults 0 0

/dev/sda5 swap swap defaults 0 0

wKioL1nGSG3h9Yd2AAAKJGowE30861.png

exit;exit重新进入救援模式,挂载到/mnt/sysp_w_picpaths成功


mkdir  1

mount /dev/sr0  1

wKioL1nGWjLBVMrxAAAHZHqevqk646.png

rpm -ivh /mnt/cdrom/Packages/kernel.xxx.rpm--root=/mnt/sysp_w_picpaths --force

wKiom1nGXKfgPCylAAANl0BOf4Y621.png


chroot /mnt/sysp_w_picpaths

grub-install /dev/sda


 vim/boot/grub/grub.conf

default=0

timeout=5

title linux

kernel /vmlinuz-2.6.32-696.el6.x86_64 root=UUID=6da11b60-dd80-460a-a00f-beb8b3373b5c

initrd /initramfs-2.6.32-696.el6.x86_64.img wKiom1nGYfuQggE2AAANQcKwWSE500.png

exit;exit

在做这个实验时,由于删除了boot,所以后来找不到boot。原本直接删boot是删不掉的,但由于我的boot没有自动挂载,所以就删掉了。

实验3:在LVM情况下,rm -rf /boot/etc/fstab,恢复

Mv /etc/fstab /root

Rm –rf /boot/*

进入救援模式,同样找不到挂载的地方

wKioL1nCU9qBqMmHAAANlyqmmw0396.png

查看逻辑卷:lvdisplay

wKiom1nCUoyQsfu5AAAkTJSA79o255.png

Mkdir /mnt/tmp

Mount /dev/UvlGroup/lv_root/tmp但是发现挂载不上,这是因为逻辑卷下有一个脚本被禁用了,所以要激活

wKioL1nCUnvS9doLAAAGbPr0uHs668.png


查看卷组状态lvscan

wKiom1nCUvGRMhIVAAAUpJprJ8U381.png

vgchange –ay启用卷组,启用后就可看到逻辑卷了。

wKiom1nCU4njs5tHAAASVc1KEs4607.png

找不到挂载点是因为删除了/etc/fstab这个文件,所以要先进行编辑这个文件。

vim /mnt/tmp/etc/fstab

cat > /mnt/tmp/etc/fstab

/dev/sda1 /boot  ext4 default 0 0

/dev/VolGroup/lv_root  /  ext4default 0 0

/dev/ VolGroup/lv_home  /home ext4 default 0 0

/dev/ VolGroup/lv_swap  /swap ext4 default 0 0

wKioL1nCW5Ggrak8AAALlbYw0z8192.png

上述操作完成后,再次进入救援模式

wKioL1nCZhXREmQDAAAmEsfevf8126.png

Chroot /mnt/sysp_w_picpath

Mount /dev/sr0  /mnt

wKiom1nCZ3zAxBk0AAAN7oEVNNI838.png

接下来的步骤类似于实验1

安装内核缺少的文件,要强制安装,否则会提示已经安装过了。

wKiom1nCcEqAPSImAAAgqIXfL-s009.png

grub-install /dev/sda 安装grub


Sync

Vim /boot/grub/grub.conf

实验总结:1.在进入救援模式时,一直进不去,我很郁闷,这是为啥呢?

原来要用到逻辑卷,所以就使用了网络安装,所以忘了挂载光盘。希望大家别像我一样!

实验4:自制Linux

在centos6中新加一块硬盘,以便于卸载安装到别的机器上

分区并创建文件系统fdisk /dev/sdb,分两个必要的分区


/dev/sdb1 对应/boot

/dev/sdb2 对应根 /

mkfs.ext4 /dev/sdb1   mkfs.ext4 /dev/sdb2

wKiom1nGMK3Q0K4HAADvHquQGBc225.jpg

 挂载boot

mkdir /mnt/boot (子目录必须为boot) mount /dev/sdb1 /mnt/boot

wKioL1nGMJbAN2wDAADaOztnHBU997.jpg

安装grub ,grub-install --root-directory=/mnt /dev/sdb

wKiom1nGMQKT5zDLAADU000rr9w599.jpg

说明grub安装成功。
wKiom1nGQC2iaLvzAAEYG_wtZyw785.jpg

恢复内核initramfs 文件

cp /boot/vmlinuz-2.6.32-642.el6.x86_64/mnt/boot/

cp/boot/initramfs-2.6.32-642.el6.x86_64.img

wKioL1nGQEOzj38MAACcvNeFT-E822.jpg 


 建立grub.conf:

vim /mnt/boot/grub.conf

title wanglinux

kernel /vmlinuz-2.6.32-642.el6.x86_64

root=/dev/sda2 selinux=0 init=/bin/bash

initrd /initramfs-2.6.32-642.el6.x86_64.img

wKiom1nGQYrhisgPAACRM0_5Z_I211.jpg

网卡的去的驱动模块

locate e1000

cp/lib/modules/2.6.32-642.el6.x86_64/kernel/drivers/net/e1000/e1000.ko

创建一级目录

mkdir /mnt/system

mount /dev/sdb2 /mnt/sysroot

cd /mnt/system

cp  {etc,lib,lib64,bin,sbin,tmp,var,usr,sys,proc,opt,home,root,boot,dev,mnt,media}

复制bash 和相关库文件

复制相关命令及相关库文件

如:ls,cat,vim,reboot,hostname等等.

到此Linux制作完成,可以新建一个虚拟机,删除原来的硬盘,使用centos6中所建的盘。如果可以启动,就说明制作成功。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章