在解決問題前咱們先了解一下開機引導的過程:shell
啓動故障主要出如今前三個步驟,開機自檢主要是檢查硬件是否損壞,主要是檢查CPU和內存, 因此若是是這一步驟出問題了咱們就須要更換硬件了。下面我開始從MBR開始講。bash
一般,咱們將包含MBR引導代碼的扇區稱爲主引導扇區。因這一扇區中,引導代碼佔有絕大部分的空間,故而將習慣將該扇區稱爲MBR扇區(簡稱MBR)。因爲這一扇區承擔有不一樣於磁盤上其餘普通存儲空間的特殊管理職能,做爲管理整個磁盤空間的一個特殊空間,它不屬於磁盤上的任何分區,於是分區空間內的格式化命令不能清除主引導記錄的任何信息。主引導扇區由三個部分組成(共佔用512個字節):
1.主引導程序即主引導記錄(MBR)(佔446個字節)
可在FDISK程序中找到,它用於硬盤啓動時將系統控制轉給用戶指定的並在分區表中登記了的某個操做系統。
2.磁盤分區表項(DPT,Disk Partition Table)
由四個分區表項構成(每一個16個字節)。
負責說明磁盤上的分區狀況,其內容由磁盤介質及用戶在使用FDISK定義分區時決定。(具體內容略)
3.結束標誌(佔2個字節)
其值爲AA55,存儲時低位在前,高位在後,即看上去是55AA(十六進制)。ssh
1.在進行MBR引導扇區恢復以前,必定要保證在其它磁盤中有MBR引導扇區的備份,下面咱們先對MBR引導扇區進行備份。由於引導扇區是sda磁盤的第一個扇區,大小爲512字節,咱們只需將這個扇區的數據備份出來便可。ide
2.備份好引導扇區後,咱們將引導扇區破壞來模擬引導扇區損壞的啓動故障,咱們只須要複製一些垃圾文件將引導扇區覆蓋便可,而後重啓你就會發現系統沒法正常啓動。工具
3.此時咱們就須要一個系統驅動盤,就是你用來裝系統的U盤驅動或光盤驅動都行。我用的是光盤鏡像,將它們插到你的設備上,而後重啓設備,在剛開啓時按下[ESC]鍵,在啓動菜單中選擇光盤啓動,而後按下面圖片依次進行選擇。優化
4.進入後稍做等待,而後輸入「1」回車,再直接回車,進入到一個鏡像的shell終端模式。操作系統
5.建立一個新目錄,而後將以前用來備份的磁盤sdb1掛載上去。3d
輸入:mkdir bak 輸入:mount /dev/sdb1 /bak/
6.將sdb1中的備份文件sda.mbr.bak複製到sda的引導扇區中,而後重啓便可。rest
輸入:dd if=/bak/sda.mbr.bak of=/dev/sda 輸入:init 6
7.啓動成功。code
是一個來自GNU項目的多操做系統啓動程序。GRUB是多啓動規範的實現,它容許用戶能夠在計算機內同時擁有多個操做系統,並在計算機啓動時選擇但願運行的操做系統。GRUB可用於選擇操做系統分區上的不一樣內核,也可用於向這些內核傳遞啓動參數。
1.首先我們須要將grub配置文件grub.cfg刪除,用來模擬grub損壞的啓動故障,而後重啓系統。
2.步驟與恢復MBR引導扇區相同,咱們須要一個系統驅動盤,就是你用來裝系統的U盤驅動或光盤驅動都行。我用的是光盤鏡像,將它們插到你的設備上,而後重啓設備,在剛開啓時按下[ESC]鍵,在啓動菜單中選擇光盤啓動,而後按下面圖片依次進行選擇。
3.進入後稍做等待,而後輸入「1」回車,再直接回車,進入到一個鏡像的shell終端模式。
4.首先加載系統鏡像進入到bash環境,而後從新創建加載sda分區,最後從新構建grub菜單配置文件並退出bash環境。
輸入:chroot /mnt/sysimage/ 輸入:grub2-install /dev/sda 輸入:grub2-mkconfig -o /boot/grub2/grub.cfg 輸入:exit
5.重啓設備,稍做等待,啓動成功。
1.當你忘記root的開機密碼了,首先我們用到的仍是光盤鏡像,步驟與上面的步驟相同,將它們插到你的設備上,而後重啓設備,在剛開啓時按下[ESC]鍵,在啓動菜單中選擇光盤啓動,而後按下面圖片依次進行選擇。
2.進入後稍做等待,而後輸入「1」回車,再直接回車,進入到一個鏡像的shell終端模式。
3.先加載系統鏡像進入到bash模式,直接用「passwd」命令重置密碼,再用「exit」命令退出bash模式,輸入「init 6」重啓直接用新密碼登陸便可。
systemctl 控制類型 服務名稱
用「runlevel」命令查看當前的運行級別和切換前運行級別,「5」表示當前的運行級別,「3」表示切換前的運行級別。
1.用「init 3」進入字符界面,「3」是字符界面的運行級別。
2.進入字符界面輸入用戶名「root」和用戶密碼登陸,而後再用「init 5」命令進入圖形化界面。
1.輸入命令「systemctl isolate multi-user.target」進入字符界面,「multi-user」是字符界面的target。
2.在字符界面輸入用戶名和密碼,登陸後再用命令「systemctl isolate graphical.target」命令進入圖形化界面。
咱們將原來的默認運行級別「graphical」(圖形化界面)更改成「multi-user」字符界面,這裏其實就是建立一個「multi-user」的軟連接「default.target」,並將原來同名的「graphical」的軟連接刪除。這裏「-s」即便軟連接,「-f」是刪除軟連接同名連接。直接輸入命令「ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target」,而後查看默認運行級別已經修改爲功,當你下次啓動系統就會是字符界面了。
咱們直接輸入命令「ntsysv」就能進入服務管理界面,咱們能夠看到每一個服務前都有「[ * ] 」 或「[ * ]」,有「 * 」的表示開機自啓,沒有則不開機自啓,咱們能夠經過「空格鍵」來更改服務的自啓狀態,當咱們更改完畢只需按[tab]鍵來選擇肯定保存設置便可。
1.咱們直接輸入命令「systemctl disable sshd.service」,就能直接關閉「sshd」服務的開機自啓,而後用命令「systemctl is-enabled sshd」查看一下「sshd」服務的自啓狀態,顯示「disabled」不能自啓。
2.咱們再用「systemctl enable sshd.service」命令將「sshd」服務的開機自啓功能打開,而後查看顯示「enabled」開機自啓。