系統啟動和內核管理以及幾個重要實驗

Centos啟動流程:

    1.加載BIOS的硬件信息,獲取第一個啟動設備

    2.讀取第一個啟動設備MBR的引導加載程序(grub)的啟動信息

    3.加載核心操作系統的核心信息,核心開始解壓縮,并嘗試驅動所有的硬件設備

    4.核心執行init程序,并獲取默認的運行信息

    5.init程序執行/etc/rc.d/rc.sysinit文件

    6.啟動核心的外掛模塊

    7.init執行運行的各個批處理文件(scripts)

    8.init執行/etc/rc.d/rc.local

    9.執行/bin/login程序,等待用戶登錄

    10.登錄之后開始以Shell控制主機

GRUB的三個階段:

    第一階段:MBR

    第1.5階段:讓第一階段能夠識別boot分區

    第二階段:放在/boot/grub/grub.conf

Init

    centos 6的第一個進程

    它的配置文件:/etc/inittab   /etc/init/*.conf

    運行級別:七個級別

                0、關機

                1、單用戶模式

                2、多用戶模式

                3、多用戶模式(命令界面)

                4、預留級別

                5、多用戶模式(圖形界面)

                6、重啟

        默認級別:35

        切換級別:init #

        查看級別:runlevel    :  who  -r

/etc/rc.d/rc#.d中:

        以K開頭的文件:數字越小,越先運行,數字越小的服務,通常為依賴到別的服務。

        以S開頭的文件:數字越小,越先運行,數字越小的服務,通常為被依賴的服務。

Chkconfig命令:

        查看服務:chkconfig –list

        添加服務:chkconfig –add

        刪除:chkconfig –del

        指定開啟服務的級別:chkconfig –level # nameon

        指定關閉服務的級別:chkconfig –level # nameoff

        Ntsysv命令:管理服務啟動狀態(交互式)

        Service服務名 start     開啟服務

        Service 服務名 stop     關閉服務

        Service 服務名 restart    重啟服務

        Service  –status-all     顯示所有服務狀態 

本章幾個重要的實驗:

一、Grub三個階段破壞后如何修復?

?grub的第一階段破壞修復:

#dd if=/dev/zero of=/dev/sda bs=1 count=446

#reboot

進入光盤引導

選擇rescue installed system救援模式

選擇shell進入shell界面

#chroot /mnt/sysimage/  切根

#grub-install /dev/sda

#exit

#reboot

第一階段修復成功

grub的第1.5階段破壞修復:

#dd if=/dev/zero of=/dev/sda bs=1 count=2048 skip=512 seek=512

#reboot

進入光盤引導

選擇rescue installed system救援模式

選擇shell進入shell界面

#chroot /mnt/sysimage/  切根

#grub

grub>root (hd0,0)

grub>setup (hd0)

grub>quit

#exit

#reboot

1.5階段修復成功

grub第二階段破壞修復:Grub目錄下的文件全被破壞了如何修復?

#rm -rf /boot/grub/*

#reboot

進入光盤引導

選擇rescue installed system救援模式

選擇shell進入shell界面

#chroot /mnt/sysimage/  切根

#grub-install /dev/sda

#vim grub.con

Default=0

Timeout=5

Title wanglingux

Kernel /vmlinuz root=/dev/sda2

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

#exit

#reboot

第二階段修復成功

二、Boot目錄下文件全被破壞如何修復?

#rm -rf /boot

#reboot

進入光盤引導

選擇rescue installed system救援模式

選擇shell進入shell界面

#chroot /mnt/sysimage/    切根

#mount /dev/sr0 /mnt     掛載

#cp /mnt/isolinux/vmlinuz /boot/vmlinuz-`uname -r`    修復vmlinuz文件

#mkinitrd /boot/initramfs-`uname -r`.img`uname -r`     修復initramfs.img文件

#grub-install /dev/sda

#cd /boot/grub

#vim grub.con

Default=0

Timeout=5

Title wanglingux

Kernel /vmlinuz root=/dev/sda2

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

#exit

#reboot    重啟

啟動成功,修復完成

三、/etc/fstab/boot/下文件都被破壞如何修復?

#rm -rf /etc/fstab

#rm -rf /boot/*

#reboot

進入光盤引導

選擇rescue installed system救援模式

選擇shell進入shell界面

#mount /dev/sda1 /mnt/sda1     掛載

#mount /dev/sda2 /mnt/sda2

#mount /dev/sda3 /mnt/sda3

Vi /mnt/sda2/etc/fstab

/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

#reboot    (必須重啟)

進入光盤引導

選擇rescue installed system救援模式

選擇shell進入shell界面

#chroot /mnt/sysimage/  切根

#grub-install /dev/sda    

#mount /dev/sr0 /mnt/    掛載

#Cd /boot/grub

#rpm -ivh /mnt/packages/kernel-2.6.32-642.el6.x86_64.rpm –force    裝下內核包

#vim /boot/grub/grub.conf

Default=0

Timeout=5

Title wanglingux

Kernel /vmlinuz root=/dev/sda2

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

#exit

#reboot    重啟

重啟成功,修復完成

四、內核編譯,以NTFS模塊為例,如何編譯內核?

下載內核文件傳到Linux

#tar xf linux-4.10.15.tar.xz

插上U盤,由于U盤是NTFS格式而紅帽沒有NTFS模塊,所以要編譯內核

#lsblk

#mount /dev/sdc /mnt      掛載

#cd linux-4.10.15/     

#cp /boot/config-3.10.0-514.el7.x86_64       (必須拷貝到解壓包下)

#yum -y groupinstall “Development Tools”       安裝包組

#make menuconfig     配置內核選項

選定DES/FAT/NT Filesystem support   空格選定

#cd linux-4.10.15/

#make -j 4 && (for i in {1..10};do echo -e ‘\a’; sleep 0.5;done)     編譯

#make modules_install     安裝模塊

#updatedb     更新下數據庫

#make install    裝相關內核文件

#reboot   重啟

啟動成功

原創文章,作者:忠神通,如若轉載,請注明出處:http://www.www58058.com/75825

(0)
忠神通忠神通
上一篇 2017-05-15 20:56
下一篇 2017-05-15 21:01

相關推薦

  • 關于大型網站技術演進的思考(十一)–網站靜態化處理—動靜分離策略(3)

    原文出處: 夏天的森林   前文里我講到了網站靜態化的關鍵點是動靜分離,動靜分離是讓動態網站里的動態網頁根據一定規則把不變的資源和經常變的資源區分開來,動靜資源做好了拆分以后,我們就可以根據靜態資源的特點將其做緩存操作,這就是網站靜態化處理的核心思路。由此可見,網站靜態化處理的核心就是動靜分離和緩存兩大方面,上篇我簡單講述了動靜…

    Linux干貨 2015-03-11
  • Linux程序包管理

    Linux程序包管理 RPM包基礎 RPM YUM 編譯安裝 概述 Linux上的程序包管理,是我們的必備技能,本文將從三個視角:rpm、yum、源碼編譯來淺析Linux的程序包管理。首先,我們來看下本文的主要內容: – 程序包的命名- RPM: 程序包管理器    安裝、卸載、升級、查詢…

    Linux干貨 2016-08-29
  • Linux的用戶組和權限(一)

    導讀:本章主要內容如下       1.解釋Linux的安全模型      2.解釋用戶賬號和組群賬號的目的      3.用戶和組管理命令      4.理解并設置文件權限 &n…

    Linux干貨 2016-08-04
  • Linux基礎指令(2)

    4.文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息?  元數據定義:      數據(Metadata),又稱中介數據、中繼數據,為描述 數據的數據(data about data),主要是描述數據屬性(property)的信息,用來支持如…

    Linux干貨 2016-11-09
  • 深入淺出Docker(一):Docker核心技術預覽

    原文鏈接:http://www.infoq.com/cn/articles/docker-core-technology-preview/ 【編者按】Docker是PaaS供應商dotCloud開源的一個基于LXC 的高級容器引擎,源代碼托管在 GitHub 上,基于Go語言開發并遵從Apache2.0協議開源。Docker提供了一種在安全、可重復的環境中自…

    2015-04-10
  • CentOS7下使用rmcli配置IP地址詳解及網絡連接狀態查看工具和進程管理工具的使用

    一、在CentOS7中推薦使用nmcli工具來管理網卡配置,nmcli是NetworkManager Command-Line Interface(網絡管理命令行接口)的簡稱,可以通過它以命令行的方式管理網卡。也可以使用nmtui管理工具,nmtui是NetworkManager Text-User Interface(網絡管理文本用戶接口)的簡稱,它提供的…

    Linux干貨 2016-09-07
欧美性久久久久