啓動和內核管理

實驗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中所建的盤。如果可以啓動,就說明製作成功。



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