fstab、init文件創建,內核啟動管理
一、/etc/fstab文件創建
某些時候當Linux系統下劃分了新的分區后,需要將這些分區設置為開機自動掛載,否則,Linux是無法使用新建的分區的。 /etc/fstab 文件負責配置Linux開機時自動掛載的分區。根目錄是所有Linux的文件和目錄所在的地方,需要掛載上一個磁盤分區。假如我們把/etc/fstab文件刪除了,或者該文件里的分區名和掛載點出現了錯誤,導致系統無法正常啟動,那么下面介紹了我們可以怎么將其恢復。
1、/etc/fstab文件錯誤,系統救援模式下會提醒:系統將嘗試去尋找相關的掛載點,但是提示我們沒有找到任何LINUX分區。
2、救援模式進入系統后,我們發現根目錄不知道是掛載到哪個分區下了,我們用分區工具查詢一下我們現有的linux分區,如下圖所示:沒有顯示根目錄的位置,所以我們來嘗試的掛載一下根目錄,創建/mnt/rootfs掛載點,我們試著把分區都掛載一下,基于平時的經驗,我們確認/dev/sda2是根目錄的掛載點。
3、查看一下/etc/fstab文件,顯示沒有該文件。那我們就創建該文件,用vim打開編輯也可以,用cat將文件內容重定向到文件里也可以,這里我們采用第二種方法。把我們需要掛載的分區都寫到文件里去。第一列到最后一列依次是:分區名,掛載點,文件系統類型,掛載參數,dump備份設置,fsck磁盤檢查設置。
4、編輯完后我們可以查看一下/etc/fstab文件,內容都有了,blkid可以看到我們掛載的分區UUID和文件系統類型都有了?,F在我們重啟,系統就可以啟動成功了。
二、/sbin/init文件創建
1、在系統啟動過程中,加載Kernel之后,緊接著系統會調用/sbin/init程序。如果該程序文件不存在將是災難性的?,F在我們嘗試恢復該文件。下圖是該文件丟失后,系統啟動后的反應,無法進入shell。
2、/sbin/init程序丟失我們可以查看一下init文件是依賴于哪個包文件,rpm? -qf? init ,可以看到init程序是出自于upstart程序包,那現在我們來安裝此程序包,如下圖所示:安裝upstart包中為/sbin/init的文件。安裝好以后查看sbin目錄下,init程序文件已經恢復出來了。重啟系統。
三、內核管理(刪除不用的內核啟動項、更改默認啟動內核)
1、如果我們在系統中安裝了多個內核,而后續有的內核不想要了,然后內核啟動時啟動列表里仍然顯示著不需要的內核,我們可以將其刪除。
2、我的系統中有3版本的內核和4版本的內核,現在我把4版本的內核刪除,對應的我們需要找到內核相關的文件。/boot/目錄下,執行rm? -f? *4.16*,這樣/boot/下關于內核4版本的文件就沒了,然后還需要進入/lib/modules文件夾下,把4版本的文件刪除,接著,我們需要進入/etc/grub2.cfg文件(CentOS6中是/etc/grub.conf),把關于內核4版本的項全部刪除,如下圖中選中的內容所示。這樣我們重啟后會發現,我們不想要的系統內核版本已經不在啟動列表里了。
3、查看系統內核的個數為2個,分別是內核3版本和救援模式內核
4、查看內核默認啟動項為saved
5、查看saved的參數設定為內核3版本。因此系統啟動時默認啟動內核3版本。
6、如果我們內核啟動列表里有多個內核版本,默認啟動的內核不是自己想要啟動的內核,那么我們可以更改/etc/default/grub文件中的GRUB_DEFAULT項為你想要的啟動內核,這里需要注意的是,系統啟動內核列表里,從上到下第一個內核的標識為0,第二個為1,以此類推。因此如果你需要啟動的內核為第二個,我們就把GRUB_DEFAULT項設定為1,這樣系統啟動時默認加載第二個內核。
7、/etc/default/grub文件修改完后,我們需要讓其生效,而系統在加載內核時會讀取/etc/grub2.cfg文件來確認加載哪一個內核,而/etc/grub2.cfg文件是來自/etc/default/grub文件的生成,因此我們需要用到GRUB2-MKCONFIG命令來生成新的/etc/grub2.cfg文件。完成后,我們查看一下/etc/grub2.cfg文件,默認的啟動項saved_entry已經被改為1了,此時可以重啟系統。修改完成。
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/98571