您好,登錄后才能下訂單哦!
1.1-Linux啟動過程詳解
1.2-常見的啟動故障排除
1.2-1 實戰-防止***破解root密碼
1.2-2 實戰-服務器掛機,轉移數據
1.2-3 實戰-修復磁盤I節點耗盡
1.2-4 實戰-磁盤壞道檢測
一 .Linux啟動過程詳解
其實就是轉交系統控制權的過程
Linux操作系統的引導過程中一般包括一下幾個步驟
開機自檢àMBR引導àGRUB菜單à加載Linux內核àinit進程初始化à登錄系統
BIOS -> MBR -> GRUB -> kernel -> initprocess -> login
1,服務器主機開始的時候,根據主板上的BIOS中對CPU 內存 顯卡 鍵盤等設備進行初步檢測,檢測成功后根據CMOS預設的啟動順序移交系統控制權.
2,根據第一扇區的MBR主引導記錄的設置,將系統的控制權交給包含操作系統的引導分區,或根據MBR記錄中的引導信息調用啟動菜單grub (MBR)
3,系統將控制權交給GRUB以后,將會顯示啟動菜單提供給用戶選擇,并根據所選項加載Linux內核文件,然后將系統的控制權交給內核.(GRUB)
4,內核獲得系統的控制權以后,負責資源分配與調度,將完全掌握整個Linux操作系統的運行過程. (kernel)
5,由內核先將系統中的 /sbin/init 程序加載到內存中運行,完成初始化過程(init)
6.等待用戶登錄(login)
第一步--加載BIOS
因為BIOS中包含了CPU的相關 信息、設備啟動順序信息、硬盤信息、內存信息、時鐘信息等等
第二步--讀取MBR
硬 盤上第0磁道第一個扇區被稱為MBR,也就是MasterBoot Record,即主引導記錄,它的大小是512字節,可里面卻存放了
預啟動信息、分區表信息
可分為兩部分:
第一部分為引導(PRE-BOOT)區,占了 446個字節;
第二部分為分區表(PARTITION PABLE),共有66個字節,記錄硬盤的分區信息。
引導區的作用之一是找到標記為活動(ACTIVE)的分區,并將活動分區的引導區讀入內存。
系統找到BIOS所指定的硬盤的MBR后,就會將其復制到地址所在的物理內存中。
其實被復制到物理內存的內容就是Boot Loader,而具體到你的電腦,那就是grub了。
第三步--Boot Loader
小程序 初始化硬件,建立內存空間
Boot Loader有若干種,其中Grub、Lilo和spfdisk是常見的Loader,這里以Grub為例來講解吧
系統讀取內存中的grub配置信息(一般為menu.lst或grub.lst),并依照此配置信息來啟動不同的操作系統。
第四步--加載內核
系統將解壓后的內核放置在內存之中,并調用start_kernel()函數來啟動一系列的初始化函數并初始化各種設備,完成Linux核心環境的建立。至此,Linux內核已經建立起來了,基于Linux的程序應該可以正常運行了
第五步init依據inittab文件來設定運行等級
內核被加載后,第一個運行的程序便是/sbin/init,該文件會讀取/etc/inittab文件,并依據此文件來進行初始化工作。
其實/etc/inittab文件最主要的作用就是設定Linux的運行等級,其設定形式是“:id:5:initdefault:”,這就表明Linux需要運行在等級5上。Linux的運行等級設定如下:
0:關機
1:單用戶模式
2:無網絡支持的多用戶模式
3:有網絡支持的多用戶模式
4:保留,未使用
5:有網絡支持有X-Window支持的多用戶模式
6:重新引導系統,即重啟
切換運行級別: init 運行級別
查看運行級別: runlevel
第六步--init進程執行rc.sysinit
在設定了運行等級后,Linux系統執行的第一個文件就是/etc/rc.d/rc.sysinit腳本程序,它做的工作非常多,包括設定PATH、 設定網絡配置(/etc/sysconfig/network)、啟動swap分區、設定/proc等等。
第七步--執行不同運行級別的腳本程序
根據運行級別的不同,系統會運行/etc/rc0.d到rc6.d中的相應的腳本程序,來完成相應的初始化工作和啟動相應的服務。
運行級別 5 /etc/rc5.d
查看文件的內容 發現都是 以 K 或者是 S開頭的信息
S 開機要啟動的服務 K 開機不啟動的服務 中間的是服務的名稱 優先級
案例1:
查看服務的腳本
/etc/init.d/httpd
chkconfig: 2345 服務運行級別 10 啟動優先級 90 關閉優先級 -所有級別
第八步--執行/etc/rc.d/rc.local
rc.local就是在一切初始化工作后,Linux留給用戶進行個性化的地方。你可以把你想設置和啟動的東西放到這里。
第九步--執行/bin/login程序,進入登錄狀態
此時,系統已經進入到了等待用戶輸入username和password的時候了,你已經可以用自己的帳號登入系統了
常見的啟動故障排除
每個人都可以,進入單用戶模式,破解root密碼。不安全
如何防止破解root密碼?
grub加密
生成密文密碼
grub配置文件 /boot/grub/grub.conf
注意加密后的密碼的標點符號也得復制
加密方式有兩種
grub-md5-crypt #使用MD5加密方式#
grub-crypt #使用sha-256方式加密,這種加密模式安全性更好一些#
根據位置不同
title前:密碼是對GRUB加密
title后:密碼是對開機加密
重啟測試:
加密后原先按e建編輯失效,必須按p 輸入對應的密碼
這樣就是防止隨便有人破解ROOT密碼
當我的服務器壞掉 進入一個基本的shell系統將數據全部cp,便于恢復
進入救援模式:
開機BIOS cdrom 優先
救援模式
語言
鍵盤類型
是否啟動網絡 NO 不需要網絡
掛載的目錄
你的基本的系統是掛載到了/mnt/sysp_w_picpath 目錄下,你可以去盡情的修改.
如果你要改變
掛載成功
啟動一個shell環境
chroot /mnt/sysp_w_picpath # 切換文件系統根
插入U盤 最好是FAT格式
我的U盤是空的
fdisk
加載模塊 modprobe vfat 這是u盤的類型
驗證我的U盤
文件打不開的需要轉換格式
磁盤的I節點耗盡
當一個文件系統的磁盤I節點耗盡,將無法繼續在該分區中創建新的文件數據,導致故障出現;
添加磁盤分區 32M 格式化
創建掛載點 /data 掛載
編寫腳本模擬i節點耗盡
1 #!/bin/bash 2 i=1 3 while [ $i -le 10040] 4 do 5 touch /data/file$i 6 let i++ 7 done
注釋
i=1 賦值 i=1
while [條件 ] 條件循環語句 當i小于10040
do 執行的操作
創建file文件
let i++ 整數運算
手動創建文件
[root@node2 ~]#touch /data/a.log touch: 無法創建"/data/a.log": 設備上沒有空間
有容量的
[root@node2 ~]#df -hT /data Filesystem Type Size Used Avail Use% Mounted on /dev/sda5 ext4 23G 45M 22G 1% /data
修復
找出該分區占用I節點大的細小文件 ,進行轉移或刪除 (建議為用戶設置磁盤配額)
[root@node2 ~]#rm -rf /data/file* [root@node2 ~]#df -i /data Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda5 1517760 42 1517718 1% /data
檢測磁盤的壞道
分為兩種
邏輯壞道:有軟件操作不當造成,可以使用軟件修復;
物理壞道:物理性損壞,更改磁盤分區的占用位置進行改善,排除掉壞的塊
注意:如果硬盤出現壞道.若不及時修復或更換,壞道會越來越多,造成數據丟失.
情景:
讀取磁盤中的數據時,磁盤設備發出異常的聲響
訪問某個文件時,反復讀取卻出錯,提示文件損壞
新建立的分區無法執行格式化
使用磁盤的時候頻繁死機
磁盤壞道檢測
badblocks
-s 顯示進度信息
-v 顯示詳情
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。