国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > CentOS > 正文

CentOS學習筆記—啟動、ROOT密碼

2024-06-28 13:22:45
字體:
供稿:網(wǎng)友
CentOS學習筆記—啟動、ROOT密碼啟動流程一覽

簡單來說,系統(tǒng)啟動的經(jīng)過可以匯整成底下的流程的:

  • 加載 BIOS 的硬件資訊與進行自我測試,并依據(jù)配置取得第一個可啟動的裝置;
  • 讀取并運行第一個啟動裝置內(nèi) MBR 的 boot Loader (亦即是 grub, spfdisk 等程序);
  • 依據(jù) boot loader 的配置加載 Kernel ,Kernel 會開始偵測硬件與加載驅(qū)動程序;
  • 在硬件驅(qū)動成功后,Kernel 會主動呼叫 init 程序,而 init 會取得 run-level 資訊;
  • init 運行 /etc/rc.d/rc.sysinit 文件來準備軟件運行的作業(yè)環(huán)境 (如網(wǎng)絡、時區(qū)等);
  • init 運行 run-level 的各個服務之啟動 (script 方式);
  • init 運行 /etc/rc.d/rc.local 文件;
  • init 運行終端機模擬程序 mingetty 來啟動 login 程序,最后就等待使用者登陸啦;

詳見 鳥哥的 linux 私房菜 -- 基礎學習篇目錄 啟動流程、模塊管理與 loader

Boot Loader: Grub

現(xiàn)階段 Linux 里頭最主流的 boot loader就是grub。

boot loader 的兩個 stage

在 BIOS 讀完資訊后,接下來就是會到第一個啟動裝置的 MBR 去讀取 boot loader 了。這個 boot loader 可以具有菜單功能、直接加載核心文件以及控制權(quán)移交的功能等, 系統(tǒng)必須要有 loader 才有辦法加載該操作系統(tǒng)的核心就是了。但是我們都知道, MBR 是整個硬盤的第一個 sector 內(nèi)的一個區(qū)塊,充其量整個大小也才 446 bytes 而已。 我們的 loader 功能這么強,光是程序碼與配置數(shù)據(jù)不可能只占不到 446 bytes 的容量吧?那如何安裝?

為了解決這個問題,所以 Linux 將 boot loader 的程序碼運行與配置值加載分成兩個階段 (stage) 來運行:

  • Stage 1:運行 boot loader 主程序: 第一階段為運行 boot loader 的主程序,這個主程序必須要被安裝在啟動區(qū),亦即是 MBR 或者是 boot sector 。但如前所述,因為 MBR 實在太小了,所以,MBR 或 boot sector 通常僅安裝 boot loader 的最小主程序, 并沒有安裝 loader 的相關配置檔;
  • Stage 2:主程序加載配置檔: 第二階段為透過 boot loader 加載所有配置檔與相關的環(huán)境參數(shù)文件 (包括文件系統(tǒng)定義與主要配置檔 menu.lst), 一般來說,配置檔都在 /boot 底下。

那么這些配置檔是放在哪里啊?這些與 grub 有關的文件都放置到 /boot/grub 中。

[root@www ~]# ls -l /boot/grub-rw-r--r--  device.map              <==grub 的裝置對應檔(底下會談到)-rw-r--r--  e2fs_stage1_5           <==ext2/ext3 文件系統(tǒng)之定義檔-rw-r--r--  fat_stage1_5            <==FAT 文件系統(tǒng)之定義檔-rw-r--r--  ffs_stage1_5            <==FFS 文件系統(tǒng)之定義檔-rw-------  grub.conf               <==grub 在 Red Hat 的配置檔-rw-r--r--  iso9660_stage1_5        <==光驅(qū)文件系統(tǒng)定義檔-rw-r--r--  jfs_stage1_5            <==jfs 文件系統(tǒng)定義檔lrwxrwxrwx  menu.lst -> ./grub.conf <==其實 menu.lst 才是配置檔!-rw-r--r--  minix_stage1_5          <==minix 文件系統(tǒng)定義檔-rw-r--r--  reiserfs_stage1_5       <==reiserfs 文件系統(tǒng)定義檔-rw-r--r--  splash.xpm.gz           <==啟動時在 grub 底下的背景圖示-rw-r--r--  stage1                  <==stage 1 的相關說明-rw-r--r--  stage2                  <==stage 2 的相關說明-rw-r--r--  ufs2_stage1_5           <==UFS 的文件系統(tǒng)定義檔-rw-r--r--  vstafs_stage1_5         <==vstafs 文件系統(tǒng)定義檔-rw-r--r--  xfs_stage1_5            <==xfs 文件系統(tǒng)定義檔
從上面的說明你可以知道 /boot/grub/ 目錄下最重要的就是配置檔 (menu.lst) 以及各種文件系統(tǒng)的定義! 我們的 loader 讀取了這種文件系統(tǒng)定義數(shù)據(jù)后,就能夠認識文件系統(tǒng)并讀取在該文件系統(tǒng)內(nèi)的核心文件羅。 至於 grub 的配置檔檔名,其實應該是 menu.lst 的,只是在 Red Hat 里面被定義成為 /boot/grub.conf 而已。
  • /boot/grub/menu.lst 配置檔:
    [root@localhost ~]# cat /boot/grub/menu.lst # grub.conf generated by anaconda## Note that you do not have to rerun grub after making changes to this file# NOTICE:  You have a /boot partition.  This means that#          all kernel and initrd paths are relative to /boot/, eg.#          root (hd0,0)#          kernel /vmlinuz-version ro root=/dev/mapper/VolGroup-lv_root#          initrd /initrd-[generic-]version.img#boot=/dev/sdadefault=0timeout=5splashimage=(hd0,0)/grub/splash.xpm.gzhiddenmenutitle CentOS (2.6.32-279.el6.i686)        root (hd0,0)        kernel /vmlinuz-2.6.32-279.el6.i686 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS..........(省略)        initrd /initramfs-2.6.32-279.el6.i686.img

    在 title 以前的四行,都是屬於 grub 的整體配置,包括默認的等待時間與默認的啟動項目, 還有顯示的畫面特性等等。至於 title 后面才是指定啟動的核心文件或者是 boot loader 控制權(quán)。 在整體配置方面的項目主要常見的有:

    • default=0 這個必須要與 title 作為對照,在配置檔里面有幾個 title ,啟動的時候就會有幾個菜單可以選擇。 由於 grub 啟始號碼為 0 號,因此 default=0 代表使用『第一個 title 項目』來啟動的意思。 default 的意思是,如果在讀秒時間結(jié)束前都沒有動到鍵盤, grub 默認使用此 title 項目 (在此為 0 號) 來啟動。
    • timeout=5 啟動時會進行讀秒,如果在 5 秒鐘內(nèi)沒有按下任何按鍵,就會使用上面提到的 default 后面接的那個 title 項目來啟動的意思。如果你覺得 5 秒太短,那可以將這個數(shù)值調(diào)大 (例如 30 秒) 即可。此外,如果 timeout=0 代表直接使用 default 值進行啟動而不讀秒,timeout=-1 則代表直接進入菜單不讀秒了!
    • splashimage=(hd0,0)/grub/splash.xpm.gz 有沒有發(fā)現(xiàn)你的 CentOS 在啟動的時候背景不是黑白而是有色彩變化的呢?那就是這個文件提供的背景圖示啦(注3)!不過這個文件的實際路徑寫法怎么會是這樣啊?很簡單啊~上述的意思是:在 (hd0,0) 這個分割槽內(nèi)的最頂層目錄中,底下的 grub/splash.xpm.gz 那個文件的意思。 由於鳥哥將 /boot 這個目錄獨立成為 /dev/hda1 ,因此這邊就會寫成『在 /dev/hda1 里面的 grub/splash.xpm.gz 』的意思啦!想一想,如果你的 /boot 目錄并沒有獨立成為一個分割槽, 這里會寫成如何?
    • hiddenmenu 這個說的是,啟動時是否要顯示菜單?目前 CentOS 默認是不要顯示菜單, 如果您想要顯示菜單,那就將這個配置值注解掉!

    整體配置的地方大概是這樣,而底下那個 title 則是顯示啟動的配置項目。

    • root :代表的是『核心文件放置的那個 partition 而不是根目錄』喔!不要搞錯了!  /boot 一般都是獨立為 /dev/hda1 , 所以磁碟代號就會成為 (hd0,0) 羅。
    • kernel :至於 kernel 后面接的則是核心的檔名,而在檔名后面接的則是核心的參數(shù)。 由於啟動過程中需要掛載根目錄,因此 kernel 后面接的那個root=/dev/mapper/VolGroup-lv_root 指的是『Linux 的根目錄在哪個 partition 』的意思。
    • initrd :就是 initrd 制作出 RAM Disk 的文件檔名啦!
忘記 root 口令的解決之道

如果連 root 的口令都忘記了,怎么辦? 其實在 Linux 環(huán)境中 root 口令忘記時還是可以救回來的!只要能夠進入并且掛載 / , 然后重新配置一下 root 的口令,就救回來啦!這是因為啟動流程中,若強制核心進入 runlevel 1 時, 默認是不需要口令即可取得一個 root 的 shell 來救援的。整個動作有點像這樣:

  1. 重新啟動!一定要重新啟動!怎么重開都沒關系;
  2. 在啟動進入 grub 菜單后, (1)在你要進入的菜單上面點 'e' 進入詳細配置; (2)將光棒移動到 kernel 上方并點 'e' 進入編輯畫面; (3)然后出現(xiàn)如下畫面來處理:
    grub edit> kernel /vmlinuz-2.6.32-279.el6.i686 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS..........(省略)single

    重點就是添加那個特殊字體single啦!按下 [enter] 再按下 b 就能夠啟動進入單人維護模式了。

  3. 進入單人維護模式后,系統(tǒng)會以 root 的權(quán)限直接給你一個 shell ,此時你就能夠運行『 passwd 』這個命令來重建 root 的口令啦!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 泰顺县| 固始县| 福清市| 临夏市| 潜江市| 丰宁| 浦东新区| 夏邑县| 通江县| 虎林市| 洪湖市| 嵊州市| 诸城市| 广宁县| 平远县| 钦州市| 林西县| 彰武县| 通城县| 晋城| 东安县| 瑞金市| 博罗县| 阜平县| 金寨县| 湖南省| 电白县| 安宁市| 中方县| 六盘水市| 宕昌县| 三门县| 永登县| 柳林县| 庆城县| 达日县| 克什克腾旗| 忻州市| 渑池县| 长葛市| 苗栗县|