執手麥田的咖啡空間  
          專注于Java的學習研究
          公告
          • 于喧鬧網界之中,尋一處僻靜之所,與三二好友,品程序、論思想,其樂何融融!
            執手麥田的咖啡館——在這里關注JAVA的學習研究
          日歷
          <2007年5月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          留言簿(2)

          隨筆分類(13)

          隨筆檔案(13)

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

           
          四、GRUB 接口

          GRUB 除了菜單模式,還提供了一個命令模式和 grub shell 。當系統啟動并顯示菜單時,按 c 鍵就可以進入命令模式。提示符是 grub> 。

          如果你已經成功引導操作系統并登錄,可以在 shell 提示符下執行 grub ,這會啟動一個 grub shell。提示符也是 grub> 。

          GRUB 能夠象 bash 一樣使用上下鍵來訪問 command history ,ctrl-u、ctrl-k、ctrl-l 等快捷鍵也可以使用。想要編輯菜單,可以按下 e 鍵;

          想要新增一空白行,可以按下 o 鍵(當前行之后)或者 O 鍵(當前行之前)。想要刪除當前行,按下 d 鍵;ESC 鍵放棄當次修改并返回上級菜單。

          有些命令只能在命令模式下,有些命令只能用于配置文件(菜單模式),有些命令在兩個模式下都可以使用。下面我們就介紹 GRUB 常用的命令。

          五、GRUB 常用命令

          5.1 只能用于配置文件的命令

          下面這5個命令只能出現于配置文件中,分別是 :

          a)default :定義默認引導的操作系統。0 表示第一個操作系統,1表示第2個,依此類推

          b)fallback :如果 default 所指定的操作系統引導失敗,則默認引導由 fallback 指定的操作系統

          c) hiddenmenu :用于啟動時隱藏菜單,除非在 timeout 之前按下 ESC 才能看到菜單。

          d)timeout :定義多少秒內如果用戶沒有按下鍵盤上的某個按鍵,就自動引導 default 所指定的操作系統。

          e)title :定義引導項目的名稱。

          f)password :用于定義進入 GRUB 命令模式的密碼。你還可以為每個操作系統都定義一個密碼,方法是把 password 命令放在 title行之后。

          而且每個操作系統的引導密碼可以不同,也可以和進入命令模式的那個密碼不同,最大程度的保證 GRUB 的安全。

          5.2 只能用于命令模式或者 grub shell 的命令

          a)device :用于定義 BIOS 中的磁盤設備和操作系統的磁盤設備之間的映射關系。

          例如 device (hd0)/dev/hdb 把 BIOS 中的第一個硬盤相當于 Linux 的 /dev/hdb

          b)serial :用于初始化一個串口設備。

          例如 :serial –-unit=0 –-speed=9600 表示初始化 COM1(--unit=0),速率為 9600 Baud

          不過 grub shell 下執行該命令會顯示 “無法識別的命令”

          c)terminal :用于切換顯示輸出。有兩這個值可選 :console 和 serial 。當你把筆記本接到一個沒有顯示器/鍵盤的主機上時,執行

          terminal serial 就可以在你的筆記本上操作這臺主機的 GRUB 了。執行 terminal console 把顯示輸出還原到該主機。

          不過 grub shell 下執行該命令會顯示“無法識別的命令”

          d)splashimage :用于定義啟動時的背景圖片。例如 splashimage /grub/splash.xpm.gz

          經過測試,發現用 tarball 安裝的不支持該命令,這似乎是 redhat grub rpm 專有的。

          e)blocklist :用于顯示某個文件在文件系統中的位置,以 block list 的形式顯示。例如 blocklist /vmlinuz

          f)ca :用于顯示文件內容。由于 GRUB 可以直接訪問多種文件系統,所以可以用 cat (hd0,1)/etc/passwd 來在 GRUB 命令模式下查看 /etc/passwd 文件

          g)root :用于指定含有 stage 文件的分區。如果有 /boot 分區,則 root device 就是 /boot 分區,否則

          就是 / 分區。

          h)rootnoverify :和 root 類似,但不會嘗試掛載該分區。例如用于指定 windows 操作系統所在的分區。

          i)chainloader :用于加載另外一個 boot loader ,通常是用于加載 windows 的 boot loader 。它的參數是一個 block list ,

          例如 chainloader (hd0,0)0+1 表示加載第一個磁盤的第一個分區的第1塊,0 是開始位置(block 從0開始編號),+1 表示總共讀取多少個 block。

          所以 chainloader 2+0 表示讀取第3個block (編號為2)

          j)find :可以用于在所有分區上搜索文件。注意,是所有分區,而不是某個分區。例如 find /vmlinuz 將會在所有分區上查找位于該分區的頂級目錄下的

          vmlinuz文件,如果找到就打印該分區名,例如 (hd0,1)。

          k)geometry :用于顯示或者設置某個硬盤的 CHS 參數,同時還顯示分區信息。例如 geometry (hd0)

          l)halt :關機

          m)reboot :重啟機器

          n)kernel :指定操作系統內核文件,還可以在內核文件名后加上參數。例如

          kernel /vmlinuz ro root=LABEL=/

          表示以只讀的方式掛載 / 分區,且根分區設備是 label 為 / 的那個設備;也可以直接給出設備名。

          o)initrd :用于指定 RAM Disk 文件,例如 initrd /initrd-2.xx.img 。

          p)boot :引導 kernel 所指定的內核,對于 linux 來說,必須先加載了 kernel 和 initrd 才能執行 boot 。

          q)setup :用于安裝 stage1 到磁盤的 MBR 或者某個分區的引導扇區。

          六、保護 GRUB 設置

          下面是一個例子


          [Copy to clipboard]CODE:
          password –-md5 <密碼1>
          timeout=30
          default=0
          title “redhat AS 4”
          password –-md5 <密碼2>
          root (hd0,1)
          kernel /vmlinuz ro root=LABEL=/
          initrd /initrd-xxx.img
          title “windows”
          password –-md5 <密碼3>
          rootnoverify (hd0,0)
          chainloader +1

          當出現 GRUB 菜單時,必須按下 p 并輸入 <密碼1> 才能進入命令模式,如果選擇 “redhat AS 4”并按下回車,會出現提示信息,要求輸入密碼,

          這時應該輸入 <密碼2>。同樣只有輸入 <密碼3> 才能進入 windows 系統。--md5 告訴 GRUB 后面的內容是已經用 md5 算法加密過的了。所以 GRUB

          會將你輸入的口令用 MD5 加密后再與之比較。你可以命令模式下用md5crypt 命令或者在 shell 下執行 grub-md5-cypt 來得出一個字符串用 MD5 加密

          后的結果,再插入到配置文件中。為每個引導項目設置 GRUB 密碼有好處也有壞處 :

          a)好處是 :你可以禁止用戶隨便引導某個操作系統,即使普通用戶可以接觸GRUB 菜單,沒有密碼也沒有用;

          b)壞處是 :如果你一旦重啟機器,就必須手工輸入口令,否則會一直停在那里。如果你是在半夜遠程重啟某個主機的話…. Hoho

          c)建議 :只設置 GRUB 密碼,也就是限制用戶進入命令模式,具體菜單項不設置密碼。
          posted on 2007-05-16 20:04 執手麥田 閱讀(396) 評論(0)  編輯  收藏 所屬分類: 展覽館
           
          Copyright © 執手麥田 Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 石台县| 巴林左旗| 陇西县| 普定县| 南阳市| 永济市| 晴隆县| 盐津县| 神木县| 瑞金市| 简阳市| 开阳县| 青川县| 天柱县| 阳东县| 宁南县| 稻城县| 淮滨县| 礼泉县| 桃源县| 宣威市| 茂名市| 华安县| 瓦房店市| 安新县| 西贡区| 通许县| 宁城县| 稻城县| 密山市| 瓮安县| 东乌珠穆沁旗| 牙克石市| 勐海县| 油尖旺区| 进贤县| 富民县| 墨江| 嘉兴市| 辰溪县| 梁平县|