fstab、init文件創建,內核啟動管理

/etc/下的fstab文件和/sbin/下的init文件的創建,內核啟動列表管理簡述

fstab、init文件創建,內核啟動管理

17

一、/etc/fstab文件創建

某些時候當Linux系統下劃分了新的分區后,需要將這些分區設置為開機自動掛載,否則,Linux是無法使用新建的分區的。 /etc/fstab 文件負責配置Linux開機時自動掛載的分區。根目錄是所有Linux的文件和目錄所在的地方,需要掛載上一個磁盤分區。假如我們把/etc/fstab文件刪除了,或者該文件里的分區名和掛載點出現了錯誤,導致系統無法正常啟動,那么下面介紹了我們可以怎么將其恢復。

1、/etc/fstab文件錯誤,系統救援模式下會提醒:系統將嘗試去尋找相關的掛載點,但是提示我們沒有找到任何LINUX分區。

1

2

2、救援模式進入系統后,我們發現根目錄不知道是掛載到哪個分區下了,我們用分區工具查詢一下我們現有的linux分區,如下圖所示:沒有顯示根目錄的位置,所以我們來嘗試的掛載一下根目錄,創建/mnt/rootfs掛載點,我們試著把分區都掛載一下,基于平時的經驗,我們確認/dev/sda2是根目錄的掛載點。

3

4

4.5

3、查看一下/etc/fstab文件,顯示沒有該文件。那我們就創建該文件,用vim打開編輯也可以,用cat將文件內容重定向到文件里也可以,這里我們采用第二種方法。把我們需要掛載的分區都寫到文件里去。第一列到最后一列依次是:分區名,掛載點,文件系統類型,掛載參數,dump備份設置,fsck磁盤檢查設置。

5

6

4、編輯完后我們可以查看一下/etc/fstab文件,內容都有了,blkid可以看到我們掛載的分區UUID和文件系統類型都有了?,F在我們重啟,系統就可以啟動成功了。

 

二、/sbin/init文件創建

1、在系統啟動過程中,加載Kernel之后,緊接著系統會調用/sbin/init程序。如果該程序文件不存在將是災難性的?,F在我們嘗試恢復該文件。下圖是該文件丟失后,系統啟動后的反應,無法進入shell。

7

2、/sbin/init程序丟失我們可以查看一下init文件是依賴于哪個包文件,rpm? -qf? init ,可以看到init程序是出自于upstart程序包,那現在我們來安裝此程序包,如下圖所示:安裝upstart包中為/sbin/init的文件。安裝好以后查看sbin目錄下,init程序文件已經恢復出來了。重啟系統。

8

 

三、內核管理(刪除不用的內核啟動項、更改默認啟動內核)

1、如果我們在系統中安裝了多個內核,而后續有的內核不想要了,然后內核啟動時啟動列表里仍然顯示著不需要的內核,我們可以將其刪除。

9

2、我的系統中有3版本的內核和4版本的內核,現在我把4版本的內核刪除,對應的我們需要找到內核相關的文件。/boot/目錄下,執行rm? -f? *4.16*,這樣/boot/下關于內核4版本的文件就沒了,然后還需要進入/lib/modules文件夾下,把4版本的文件刪除,接著,我們需要進入/etc/grub2.cfg文件(CentOS6中是/etc/grub.conf),把關于內核4版本的項全部刪除,如下圖中選中的內容所示。這樣我們重啟后會發現,我們不想要的系統內核版本已經不在啟動列表里了。

10

3、查看系統內核的個數為2個,分別是內核3版本和救援模式內核

13

4、查看內核默認啟動項為saved

11

5、查看saved的參數設定為內核3版本。因此系統啟動時默認啟動內核3版本。

14

6、如果我們內核啟動列表里有多個內核版本,默認啟動的內核不是自己想要啟動的內核,那么我們可以更改/etc/default/grub文件中的GRUB_DEFAULT項為你想要的啟動內核,這里需要注意的是,系統啟動內核列表里,從上到下第一個內核的標識為0,第二個為1,以此類推。因此如果你需要啟動的內核為第二個,我們就把GRUB_DEFAULT項設定為1,這樣系統啟動時默認加載第二個內核。

16

7、/etc/default/grub文件修改完后,我們需要讓其生效,而系統在加載內核時會讀取/etc/grub2.cfg文件來確認加載哪一個內核,而/etc/grub2.cfg文件是來自/etc/default/grub文件的生成,因此我們需要用到GRUB2-MKCONFIG命令來生成新的/etc/grub2.cfg文件。完成后,我們查看一下/etc/grub2.cfg文件,默認的啟動項saved_entry已經被改為1了,此時可以重啟系統。修改完成。

15

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/98571

(0)
JllbcJllbc
上一篇 2018-05-15 10:28
下一篇 2018-05-15 11:21

相關推薦

  • linux基礎3

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@localhost ~]# who | cut -d ‘ ‘ -f1 | sort -u root 2、取出最后登錄到當前系統的用戶的相關信息。 [root@localhost ~]# last -1 | id uid=0(root…

    Linux筆記 2018-07-08
  • 阿X吃雞錄————第四站

    diff -u a b >ab 生成ab即為補丁,在a或者b文件丟失時 patch -b a/b ab 生成丟失的文件內容 etc/下創建nologin文件會使普通文件無法登陸(普通用戶登陸會顯示文件中的內容) [-t num ] 判斷是否文件在終端被打開(文件描述符) read 對變量賦值 echo -e “ \c” read name 會不產生換行…

    Linux筆記 2018-08-06
  • liunx 命令幫助

    — help和-h ? 選項如下:

    Linux筆記 2018-04-01
  • rpm命令使用

    rpm命令 rpm [options] PACKAGE_FILE … 常用選項 -i –install 安裝 -U –update 升級 -e –erase 卸載 -q –query 查詢 -V verify 校驗 –rebuilddb –initdb 構建數據庫 ` 程序安裝 rpm {-i|–install} [install-opti…

    Linux筆記 2018-06-10
  • 初學Linux之標準I/O和管道

    標準輸入和輸出 程序是由指令+數據組成程序的數據流有三種: 輸入數據流:<–標準輸入(stdin),一般默認是鍵盤輸出數據流:–>標準輸出(stdout),一般默認到終端窗口錯誤輸出流:–>標準錯誤(stderr),一般默認到終端窗口 標準輸入:0標準輸出:1錯誤輸出:2 I/O重定向:改變默認位置 輸出…

    Linux筆記 2018-04-03
  • Linux筆記 2018-04-07
欧美性久久久久