麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統 > CentOS > 正文

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

2024-06-28 13:22:45
字體:
來源:轉載
供稿:網友
CentOS學習筆記—啟動、ROOT密碼啟動流程一覽

簡單來說,系統啟動的經過可以匯整成底下的流程的:

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

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

Boot Loader: Grub

現階段 Linux 里頭最主流的 boot loader就是grub。

boot loader 的兩個 stage

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

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

  • Stage 1:運行 boot loader 主程序: 第一階段為運行 boot loader 的主程序,這個主程序必須要被安裝在啟動區,亦即是 MBR 或者是 boot sector 。但如前所述,因為 MBR 實在太小了,所以,MBR 或 boot sector 通常僅安裝 boot loader 的最小主程序, 并沒有安裝 loader 的相關配置檔;
  • Stage 2:主程序加載配置檔: 第二階段為透過 boot loader 加載所有配置檔與相關的環境參數文件 (包括文件系統定義與主要配置檔 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 文件系統之定義檔-rw-r--r--  fat_stage1_5            <==FAT 文件系統之定義檔-rw-r--r--  ffs_stage1_5            <==FFS 文件系統之定義檔-rw-------  grub.conf               <==grub 在 Red Hat 的配置檔-rw-r--r--  iso9660_stage1_5        <==光驅文件系統定義檔-rw-r--r--  jfs_stage1_5            <==jfs 文件系統定義檔lrwxrwxrwx  menu.lst -> ./grub.conf <==其實 menu.lst 才是配置檔!-rw-r--r--  minix_stage1_5          <==minix 文件系統定義檔-rw-r--r--  reiserfs_stage1_5       <==reiserfs 文件系統定義檔-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 的文件系統定義檔-rw-r--r--  vstafs_stage1_5         <==vstafs 文件系統定義檔-rw-r--r--  xfs_stage1_5            <==xfs 文件系統定義檔
從上面的說明你可以知道 /boot/grub/ 目錄下最重要的就是配置檔 (menu.lst) 以及各種文件系統的定義! 我們的 loader 讀取了這種文件系統定義數據后,就能夠認識文件系統并讀取在該文件系統內的核心文件羅。 至於 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 控制權。 在整體配置方面的項目主要常見的有:

    • default=0 這個必須要與 title 作為對照,在配置檔里面有幾個 title ,啟動的時候就會有幾個菜單可以選擇。 由於 grub 啟始號碼為 0 號,因此 default=0 代表使用『第一個 title 項目』來啟動的意思。 default 的意思是,如果在讀秒時間結束前都沒有動到鍵盤, grub 默認使用此 title 項目 (在此為 0 號) 來啟動。
    • timeout=5 啟動時會進行讀秒,如果在 5 秒鐘內沒有按下任何按鍵,就會使用上面提到的 default 后面接的那個 title 項目來啟動的意思。如果你覺得 5 秒太短,那可以將這個數值調大 (例如 30 秒) 即可。此外,如果 timeout=0 代表直接使用 default 值進行啟動而不讀秒,timeout=-1 則代表直接進入菜單不讀秒了!
    • splashimage=(hd0,0)/grub/splash.xpm.gz 有沒有發現你的 CentOS 在啟動的時候背景不是黑白而是有色彩變化的呢?那就是這個文件提供的背景圖示啦(注3)!不過這個文件的實際路徑寫法怎么會是這樣啊?很簡單啊~上述的意思是:在 (hd0,0) 這個分割槽內的最頂層目錄中,底下的 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 后面接的則是核心的檔名,而在檔名后面接的則是核心的參數。 由於啟動過程中需要掛載根目錄,因此 kernel 后面接的那個root=/dev/mapper/VolGroup-lv_root 指的是『Linux 的根目錄在哪個 partition 』的意思。
    • initrd :就是 initrd 制作出 RAM Disk 的文件檔名啦!
忘記 root 口令的解決之道

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

  1. 重新啟動!一定要重新啟動!怎么重開都沒關系;
  2. 在啟動進入 grub 菜單后, (1)在你要進入的菜單上面點 'e' 進入詳細配置; (2)將光棒移動到 kernel 上方并點 'e' 進入編輯畫面; (3)然后出現如下畫面來處理:
    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. 進入單人維護模式后,系統會以 root 的權限直接給你一個 shell ,此時你就能夠運行『 passwd 』這個命令來重建 root 的口令啦!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人精品免费看 | 毛片一级片 | 国产精品剧情一区二区在线观看 | 亚洲成人中文字幕在线 | 视频一区 日韩 | 久久网日本 | 久久伊人精品热在75 | 国产在线欧美日韩 | 久久久久久久一区 | 色播av在线| 激情91| 国产porn在线 | 操毛片| 久久亚洲成人网 | 久久国产精品二国产精品中国洋人 | 欧美三级日本三级少妇99 | 青青草最新网址 | 性猛交ⅹxxx乱巴西 欧美日韩1区2区3区 | 91在线播放国产 | 色网站在线免费观看 | 免费观看三级毛片 | 日美黄色片 | 欧美日韩亚洲一区二区三区 | 欧美成人做爰高潮片免费视频 | 久久草在线视频 | 在线看小早川怜子av | 国产午夜亚洲精品理论片大丰影院 | 草久在线观看视频 | 毛片av网| 精品免费久久 | 天天都色| 欧美成人免费香蕉 | 欧美淫交 | 日本综合久久 | 毛片毛片免费看 | 亚洲九九色| 久久91久久 | 国产剧情v888av | 国产精品成人一区二区三区吃奶 | 99亚洲伊人久久精品影院红桃 | 色网在线视频 |