分类: LINUX
2009-08-03 14:16:38
grub edit> kernel /vmlinuz-2.6.18-92.el5 ro root=LABEL=/ rhgb quiet init=/bin/bash因為我們指定了核心呼叫的第一支程式 (init) 變成 /bin/bash,因此 /sbin/init 就不會被執行。 又根據開機流程的說明,我們知道此時雖然可以利用 root 取得 bash 來工作,但此時 (1)除了根目錄外,其他的目錄都沒有被掛載; (2)根目錄被掛載成為唯讀狀態。因此我們還需要進行一些動作才行!如下所示:
鳥哥僅下達兩個指令,『 mount -o remount,rw / 』用途是將根目錄重新掛載成為可讀寫, 至於『 mount -a 』則是參考 /etc/fstab 的內容重新掛載檔案系統!此時你又可以開機進行救援的工作了! 只是救援完畢後,你得要使用『 reboot 』重新開機一次才行!
BIOS 磁碟對應的問題 (device.map)
由於目前硬碟很便宜啊,所以很多朋友就想說:『那我能不能將 Windows 安裝在 /dev/hda 而 Linux 安裝在 /dev/hdb , 然後調整 BIOS 的開機裝置順序,如此則兩套系統各有各的 loader 安裝在個別硬碟的 MBR 當中了!』。 這個想法非常好,如此一來兩者就不會互相干擾,因為每顆磁碟的 MBR 個別有不同作業系統的 loader 嘛! 問題是,grub 對磁碟的裝置代號使用的是偵測到的順序啊! 也就是說,你調整了 BIOS 磁碟開機順序後,你的 menu.lst 內的裝置代號就可能會對應到錯誤的磁碟上了!啊!真想哭!
沒關係的,我們可以透過 /boot/grub/device.map 這個檔案來寫死每個裝置對 grub 磁碟代號的對應喔! 舉例來說,鳥哥的這個檔案內容如下:
[root@www ~]# cat /boot/grub/device.map (fd0) /dev/fd0 (hd0) /dev/hda
如果你不清楚如何處理的話,也可以利用 grub-install 的功能喔!例如:
[root@www ~]# grub-install --recheck /dev/hda1
這樣 device.map 就會主動的被更新了!這樣瞭解乎?