開機自檢——BIOS(Basic Input/Output System),先加電,檢查硬件(CPU、內(nèi)存、顯卡、鍵盤等設(shè)備)是否沒有問題,沒有問題加載驅(qū)動
創(chuàng)新互聯(lián)建站是一家專注于網(wǎng)站設(shè)計制作、成都網(wǎng)站制作與策劃設(shè)計,甕安網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:甕安等地區(qū)。甕安做網(wǎng)站價格咨詢:13518219792MBR引導(dǎo)——微代碼找啟動盤
CPU首先讀取位于CMOS中的BIOS程序,按照BIOS中設(shè)定的啟動次序(Boot Sequence)逐一查找可啟動設(shè)備,找到可啟動的設(shè)備后,去該設(shè)備的第一個扇區(qū)中讀取MBR(Master Boot Record,主引導(dǎo)記錄)。
MBR存在于可啟動磁盤的0磁道0扇區(qū),占用512字節(jié),它主要用來告訴計算機從選定的可啟動設(shè)備的哪個分區(qū)來加載引導(dǎo)加載程序(Boot loader),MBR中存在如下內(nèi)容:
(1) Boot Loader 占用446字節(jié),存儲有操作系統(tǒng)(OS)相關(guān)信息,如操作系統(tǒng)名稱,操作系統(tǒng)內(nèi)核位置等,它的主要功能是加載內(nèi)核到內(nèi)存中運行。
(2) Partition Table 分區(qū)表,占用64字節(jié),每個主分區(qū)占用16字節(jié)(這就是為啥一塊硬盤只能有4個主分區(qū)
(3)分區(qū)表有效性標(biāo)記占用2字節(jié),CPU將MBR讀取至內(nèi)存,運行GRUB(Boot Loader常用的有GRUB和LILO兩種,現(xiàn)在常用的是GRUB),GRUB會把內(nèi)核加載到內(nèi)存去執(zhí)行。
如上所示,我們可查看/boot/grub2/grub.cfg文件的第100行的內(nèi)容,就能看到是在該配置文件中對內(nèi)核文件進(jìn)行操作了。
GRUB菜單——使用廣泛的多系統(tǒng)引導(dǎo)器程序,系統(tǒng)控制權(quán)傳遞給GRUB以后,將會顯示啟動菜單提供給用戶選擇,根據(jù)選擇或者默認(rèn)項加載內(nèi)核文件,然后將系統(tǒng)控制權(quán)轉(zhuǎn)交給內(nèi)核。
加載內(nèi)核(kernel)——/boot目錄下,Linux內(nèi)核是預(yù)先編譯好的特殊二進(jìn)制文件,介于各種硬件資源和系統(tǒng)程序之間,負(fù)責(zé)資源分配與調(diào)度。
補充:下面的vmlinuz-3.10.0-693.el7.x86_64就是我們的內(nèi)核文件了。在/boot目錄下
[root@lokott ~]# ll /boot |grep "vmlinuz*"
-rwxr-xr-x. 1 root root 5877760 10月 23 12:20 vmlinuz-0-rescue-f18b1b17cb2b477f8cb451fffad48550
-rwxr-xr-x. 1 root root 5877760 8月 23 2017 vmlinuz-3.10.0-693.el7.x86_64
[root@lokott ~]# head -100 /boot/grub2/grub.cfg |tail -1
linux16 /vmlinuz-3.10.0-693.el7.x86_64 root=UUID=d0f8b702-0aa9-4857-9551-2e1283d2f5f9 ro crashkernel=auto rhgb quiet LANG=zh_CN.UTF-8
init進(jìn)程初始化——原來的緩存全部清空,加載必要進(jìn)程之后,加載外部的第三方進(jìn)程(應(yīng)用軟件)(延時啟動)
內(nèi)核初始化作為PID1從initramfs執(zhí)行/sbin/init。在Centos7中將其復(fù)制為systemd,systemd啟動initrd.target中的 所有單元,并且掛載根文件系統(tǒng)/sysroot
由Linux內(nèi)核加載運行/sbin/init程序,是系統(tǒng)中的第一個進(jìn)程,PID號永遠(yuǎn)為1
Systemd 單元類型
運行級別所對應(yīng)的systemd目標(biāo)
其中.service ——/lib/sysytemd/system
文件存儲兩個部分——元信息(狀態(tài)的信息)和內(nèi)容
===========================================================================================
1.故障原因
病毒、***等造成的破壞
不正確的分區(qū)操作、磁盤讀寫誤操作
2.故障現(xiàn)象
找不到引導(dǎo)程序、啟動中斷
無法加載操作系統(tǒng),開機后黑屏
3.解決思路
提前做好備份文件
以安裝光盤引導(dǎo)進(jìn)入急救模式
從部分文件中恢復(fù)
流程如下
備份MBR扇區(qū)數(shù)據(jù)——加一塊硬盤做備份(一定需要先備份)
(1)分區(qū),格式化,掛載
(2)備份mbr引導(dǎo)扇區(qū)到其它磁盤
備份=dd if=/dev/sda of=/abc/sda.mbr.bak bs=512 count=1 (/abc是另一塊磁盤的掛載點)
模擬故障
dd if=/dev/sda of=/abc/sda.mbr.bak bs=512 count=1
重啟:reboot——> 啟用DHCP(找不到系統(tǒng)),從網(wǎng)上找有無可以加載的系統(tǒng),但是是找不到的
修復(fù)之前需要光盤鏡像需要連接使用
加載系統(tǒng)鏡像文件中的急救模式
加載系統(tǒng)鏡像文件中的內(nèi)核界面
在讀條時按下ESC鍵(手速快點)——選擇CD-ROM Drive——選擇Troubleshooting——選擇Rescue a Centos system(補充:當(dāng)然如果你的鏡像文件一直是連接狀態(tài)的話前面兩個步驟是可以省略的)
4.把備份數(shù)據(jù)做恢復(fù)
第一步:
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 6G 0 part /boot
├─sda2 8:2 0 20G 0 part /
├─sda3 8:3 0 10G 0 part /home
├─sda4 8:4 0 1K 0 part
└─sda5 8:5 0 4G 0 part [SWAP]
sdb 8:16 0 20G 0 disk
└─sdb1 8:17 0 20G 0 part
sr0 11:0 1 4.2G 0 rom /run/media/root/CentOS 7 x86_64
[root@localhost ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=1310656 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5242624, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]# mount /dev/sdb1 /mnt
[root@localhost ~]# df -hT | tail -1
/dev/sdb1 xfs 20G 33M 20G 1% /mnt
[root@localhost ~]# dd if=/dev/sda of=/mnt/sda.mbr.bak bs=512 count=1
記錄了1+0 的讀入
記錄了1+0 的寫出
512字節(jié)(512 B)已復(fù)制,0.000126274 秒,4.1 MB/秒
[root@localhost ~]# ls /mnt/
sda.mbr.bak
第二步:
[root@localhost ~]# dd if=/dev/zero of=/dev/sda bs=512 count=1//垃圾填充覆蓋第一個扇區(qū)內(nèi)容(模擬破壞)
記錄了1+0 的讀入
記錄了1+0 的寫出
512字節(jié)(512 B)已復(fù)制,0.000139415 秒,3.7 MB/秒
[root@localhost ~]# reboot //重啟
第三步:
一直是連接著系統(tǒng)鏡像文件的情況下啊,重啟之后操作如下:
(1)選擇Troubleshooting——回車
(2)選擇Rescue a CentOS system——回車
(3)進(jìn)入加載界面,稍等
(4)進(jìn)入急救界面準(zhǔn)備進(jìn)行修復(fù)MBR,輸入1,回車,彈出下面的對話后再次回車
(5)進(jìn)行修復(fù)扇區(qū)的命令輸入
===========================================================================================
1.故障原因
MBR中的GRUB弓|導(dǎo)程序遭到破壞
grub.conf文件丟失、引導(dǎo)配置有誤
2.故障現(xiàn)象
系統(tǒng)引導(dǎo)停滯,顯示"grub>” 提示符
3.解決思路
嘗試手動輸入引導(dǎo)命令
進(jìn)入急救模式,重寫或者從備份中恢復(fù)grub.conf
向MBR扇區(qū)中重建grub程序
流程如下:
使用系統(tǒng)急救模式進(jìn)入命令字符界面
加載鏡像中的系統(tǒng)進(jìn)入bash環(huán)境
chroot /mnt/sysimage
重新構(gòu)建GRUB菜單系統(tǒng)
grub2-install /dev/sda
grub2-mkconfig -o /boot/grub2/grub.cfg
exit
reboot
實驗操作過程與結(jié)果如下:
[root@localhost ~]# ll /boot/
總用量 136460
-rw-r--r--. 1 root root 140894 8月 23 2017 config-3.10.0-693.el7.x86_64
drwxr-xr-x. 3 root root 17 11月 14 11:37 efi
drwxr-xr-x. 2 root root 27 11月 14 11:38 grub
drwx------. 5 root root 97 11月 14 11:42 grub2
-rw-------. 1 root root 69272056 11月 14 11:41 initramfs-0-rescue-a33ccb7775134b0e83e04555d56fedb7.img
-rw-------. 1 root root 28281283 11月 14 11:42 initramfs-3.10.0-693.el7.x86_64.img
-rw-------. 1 root root 16565979 11月 14 11:43 initramfs-3.10.0-693.el7.x86_64kdump.img
-rw-r--r--. 1 root root 10181954 11月 14 11:41 initrd-plymouth.img
-rw-r--r--. 1 root root 293027 8月 23 2017 symvers-3.10.0-693.el7.x86_64.gz
-rw-------. 1 root root 3228420 8月 23 2017 System.map-3.10.0-693.el7.x86_64
-rwxr-xr-x. 1 root root 5877760 11月 14 11:41 vmlinuz-0-rescue-a33ccb7775134b0e83e04555d56fedb7
-rwxr-xr-x. 1 root root 5877760 8月 23 2017 vmlinuz-3.10.0-693.el7.x86_64
[root@localhost ~]# ll /boot/grub2
總用量 32
-rw-r--r--. 1 root root 84 11月 14 11:42 device.map
drwxr-xr-x. 2 root root 25 11月 14 11:42 fonts
-rw-r--r--. 1 root root 4235 11月 14 11:42 grub.cfg
-rw-r--r--. 1 root root 1024 11月 14 11:42 grubenv
drwxr-xr-x. 2 root root 8192 11月 14 11:42 i386-pc
drwxr-xr-x. 2 root root 4096 11月 14 11:42 locale
解釋說明一下:如上所示其中/boot目錄下的grub目錄存放的是啟動菜單的背景圖片及樣式,而grub2中存放的才是配置文件。
(1)先刪除該配置文件來模擬整個過程
[root@localhost grub2]# cd /boot/grub2/
[root@localhost grub2]# ls
device.map fonts grub.cfg grubenv i386-pc locale
[root@localhost grub2]# rm -rf grub.cfg
[root@localhost grub2]# init 6
重啟之后的界面如下:(此時無法正常登錄)
(2)引導(dǎo)急救模式,加載系統(tǒng)鏡像:在讀條時(手速快點)按下ESC進(jìn)入選擇菜單——選擇3.CD-ROM Drive——選擇Troubleshooting——選擇Rescue a Centos system,最終進(jìn)入如下界面進(jìn)行操作
之后就可以正常登錄了。
===========================================================================================
1.故障原因
遺忘root用戶密碼
2.故障現(xiàn)象
無法進(jìn)行需要root權(quán)限的管理操作
沒有其他可用賬號,將無法登錄系統(tǒng)
3.解決思路
進(jìn)入急救模式,重新設(shè)置密碼
流程如下:
實驗操作過程與結(jié)果如下:
(1)先將鏡像文件選擇為已連接
(2)重啟本地虛擬機
在讀條時(手速快點)按下ESC進(jìn)入選擇菜單——選擇3.CD-ROM Drive——選擇Troubleshooting——選擇Rescue a Centos system
(3)使用chroot命令和passwd root來設(shè)置root密碼;之后exit、reboot就可以正常登錄root用戶了
控制類型 (選項參數(shù))
實例:
[root@localhost ~]# systemctl stop network //停止網(wǎng)絡(luò)連接
[root@localhost ~]# ifconfig | head //查看ip信息
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 00:0c:29:56:d3:4a txqueuelen 1000 (Ethernet)
RX packets 374 bytes 28991 (28.3 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 50 bytes 6529 (6.3 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:71:37:09 txqueuelen 1000 (Ethernet)
[root@localhost ~]# systemctl start network //啟動網(wǎng)絡(luò)連接
[root@localhost ~]# ifconfig | head
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.68.130 netmask 255.255.255.0 broadcast 192.168.68.255
inet6 fe80::7eb1:2dde:8a54:6927 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:56:d3:4a txqueuelen 1000 (Ethernet)
RX packets 379 bytes 29759 (29.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 75 bytes 10116 (9.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
查看運行級別
臨時切換運行級別
系統(tǒng)服務(wù)管理工具
ntsysv工具(偽圖像化界面)
systemctl 工具
結(jié)合下面的實例來進(jìn)一步介紹systemctl命令
[root@localhost ~]# rpm -q httpd
httpd-2.4.6-90.el7.centos.x86_64
[root@localhost ~]# netstat 顯示網(wǎng)絡(luò)連接,路由表,接口狀態(tài),偽裝連接,網(wǎng)絡(luò)鏈路信息和組播成員組。^C
[root@localhost ~]# netstat -ntap | grep 80
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# netstat -ntap | grep 80
tcp6 0 0 :::80 :::* LISTEN 14793/httpd
[root@localhost ~]# systemctl stop httpd
[root@localhost ~]# netstat -ntap | grep 80
[root@localhost ~]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@localhost ~]# systemctl is-enabled httpd
enabled
systemctl enable httpd 是開機自啟動,is-enabled是顯示其狀態(tài),關(guān)閉自啟動是disable 上面輸入reboot后使用netstat查看80端口是否有httpd服務(wù)自啟動。具體操作如下所示。
[root@localhost ~]# netstat -ntap | grep 80
tcp6 0 0 :::80 :::* LISTEN 953/httpd
[root@localhost ~]# systemctl disable httpd
Removed symlink /etc/systemd/system/multi-user.target.wants/httpd.service.
[root@localhost ~]# systemctl is-enabled httpd
disabled
[root@localhost ~]#
本文主要是對Linux系統(tǒng)管理中系統(tǒng)引導(dǎo)過程和服務(wù)控制及優(yōu)化的講解,涉及如下命令:
exit、reboot、chroot、grub2-install、grub2-mkconfig、passwd、runlevel、ntsysv、systemctl、netstat等。主要是對系統(tǒng)啟動引導(dǎo)過程中的一些問題進(jìn)行解決,強制破解root密碼(實質(zhì)上是強行更換),最后講述的是服務(wù)控制命令操作和簡單的一些優(yōu)化操作。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)頁題目:Linux/Centos7系統(tǒng)管理之引導(dǎo)過程與服務(wù)控制-創(chuàng)新互聯(lián)
文章源于:http://jinyejixie.com/article24/jgeje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、建站公司、標(biāo)簽優(yōu)化、網(wǎng)站策劃、品牌網(wǎng)站設(shè)計、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容