作者 主題: Grub 及 chroot 觀念問題  (閱讀 3741 次)

0 會員 與 1 訪客 正在閱讀本文。

ericc535

  • 可愛的小學生
  • *
  • 文章數: 28
    • 檢視個人資料
Grub 及 chroot 觀念問題
« 於: 2004-04-27 09:32 »
各位前輩:
1.請問在grub.conf 內的 boot=/dev/hda 前面加上#或不加#有無差別呢?
2 root (hd0,0) ( 書本上說 root (hd0,0)即hda1 代表著 / ) 對底下兩行有影響嗎?
     kernel /boot/vmlinuz-2.4.20.28.9 ro root=LABEL=/     跟上面 root 有不同嗎?
initrd /boot/initrd-2.4.20-28.9.img
及 單獨將 boot 切一個 partion 又有何不同呢?(對上面的表示上)
及如何看出 boot loader 是放在mbr or 其他位置呢?
3 在 rescue 模式下 chroot 可切換 /mnt/sysimage -> 真實環境
但為什麼某些狀況下,無法用chroot /mnt/sysimage呢?

jou

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 4989
  • 性別: 男
    • 檢視個人資料
Grub 及 chroot 觀念問題
« 回覆 #1 於: 2004-04-27 10:15 »
1.# 就是 mark 起來,作為註解。
2. (hd0,0) GRUB ,hda1 LILO 各是其對分割區的不同表示法,root=LABEL=/ 是對 root 分割區加上標籤,也就是 " / " ,並告知根目錄所在分割區位置,kernel 放在什麼地方,initrd 放在那裡,以利開機程式去讀取。
利用 (hd0) 或 (hd0,0) 安裝您的 boot loader 到 mbr 或第一個分割區。
3.在什麼情形下沒辦法呢?我也不知道?

bono

  • 榮譽學長
  • 活潑的大學生
  • ***
  • 文章數: 363
  • 性別: 男
    • 檢視個人資料
Grub 及 chroot 觀念問題
« 回覆 #2 於: 2004-04-27 15:07 »
有必要先了解一下開機的概念;
記得一點, boot loader 是用來 load OS kernel 用的前端程式, 一般只有陽春功能 (grub 這個怪物就另當別論了 :P )

代碼: [選擇]

               BIOS (POST階段, 掌握 boot device)
                 |
             Boot Loader
   (grub,lilo,ntldr 等等, 負責載入 OS kernel)
                     |
               Load Kernel  (或做 chain loader 呼叫另一個 Boot Loader)
                     |
                run init (pid=1)
                      |
         (依照 /etc/inittab 內容執行各項初始化工作和服務)
                      :
                      :
                   /      \
     [color=red] runlevel=3 [/color]/          \ [color=red]runlevel=5[/color]
     (min)getty           xdm (kdm,gdm)
         + login                /
               \              / (載入 window mgr, Desktop Enviroment)
             +-----------------+
             | Character Shell |
             |         or      |
             |    GUI Shell    |
             +-----------------+

(hd0,0) 是 grub 識別的格式, 而 /dev/hda1 則是 Linux Kernel 識別的格式, 在還沒載入 Kernel 前, 因為是由 grub 掌控系統,
所以會用 (hd0,0)的格式;

而載入 kernel 後, 就必須用 /dev/hda1 格式了, 所以如果要重裝 grub, 在 console 下要打 #grub-install /dev/hda1,
而不是打 #grub-install (hd0,0) ;

反之, 若是在 grub 的 shell 下, 就是用 (hd0,0) 了
/___/_/___/_/___/_/___/_/___/_/___/

-=-  Bono   -=-  MCSE & LPIC Tutor -=-
_/___/_/___/_/___/_/___/_/___/_/___/

ericc535

  • 可愛的小學生
  • *
  • 文章數: 28
    • 檢視個人資料
還是不甚了解耶?
« 回覆 #3 於: 2004-04-27 15:49 »
謝謝各位前輩的解說, 小弟還是有些疑惑,請各位指點一二:
1.在grub.conf 內的 boot=/dev/hda ---這一行有什麼用處呢?小弟我不管加上#  
   或取消#開機似乎不受影響
2. 除了可依以下方式更改 boot loader 的位置
     #grub
    放在 boot partition
    grub>root (hd0,0)
    grub>setup (hd0,0)
   
    放在mbr
    grub>root (hd0,0)
    grub>setup (hd0)
可從哪個檔案看出boot loader 的位置呢???
3.安裝時若將boot loader 放在 1st partition 是不是一定就無法開機呢?(只有
    linux os時)
4. root (hd0,0) 是要對應 /boot partition (若/boot 是單獨分割出來的 )嗎???
    root (hd0,0) 是要對應 /                    (若 boot  是在 / 裡面) 嗎????

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17466
    • 檢視個人資料
    • http://www.study-area.org
Grub 及 chroot 觀念問題
« 回覆 #4 於: 2004-04-28 00:58 »
1) 嗯... 這個我也不知。
2) 檔案看不出來,端看你要如何 install
3) 若能從 mbr 給 chain 過來,放哪個 partition 都行,只要是 /boot 所在即可。
4) 正確﹗不過其下一行 kernel 也有差:
* 若是單獨:/vmlinuz........
* 若是跟著 / :/boot/vmlinuz.....

ynie

  • 可愛的小學生
  • *
  • 文章數: 4
    • 檢視個人資料
Grub 及 chroot 觀念問題
« 回覆 #5 於: 2004-05-14 22:31 »
可以請問一下前輩們:
grub> root (hd0,2)
 Filesystem type is ext2fs, partition type 0x83
                                                                               
grub> setup (hd0)
 Checking if "/boot/grub/stage1" exists... no
 Checking if "/grub/stage1" exists... no
                                                                               
Error 15: File not found

我有去/boot/grub/stage1,確實有這個檔案,請問這邊要如何解決!謝謝了

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17466
    • 檢視個人資料
    • http://www.study-area.org
Grub 及 chroot 觀念問題
« 回覆 #6 於: 2004-05-15 21:18 »
或許,先將你的如下資訊說清楚些,會比較容易些:
1) partition 與 label
2) /etc/fstab 的內容
3) /boot 底下的檔案清單
4) /boot/grub/menu.lst  的內容