歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 解決Linux Grub啟動問題

解決Linux Grub啟動問題

日期:2017/2/27 9:51:33   编辑:更多Linux

  1.問題的提出

  筆者的電腦是windows 2000和Linux雙系統,由於前段時間“沖擊波”的沖擊,筆者決定重裝Windows 2000,順便對分區進行容量調整——合並兩個分區,由原來的C、D、E 、F、G調整成了C、D、E、F。

  安裝完Windows 2000之後,由於以前安裝Linux時選擇把Grub裝在Linux分區的第一扇區,因此直接在Windows 2000下安裝BootMagic8.0建立Linux啟動鏈接(若Grub不是裝在Linux分區的第一扇區而是裝在MBR中,則須對Grub執行Setup或Install),此時只能進入Grub控制台,進入不了Grub圖形界面,啟動Linux時需要手動輸入命令:

  root(hd0,7)
  kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/
  initrd /boot/initrd-2.4.18-14.imgo

  2.分析解決

  仔細分析,原因應該是合並分區後,Grub配置文件中的(hd0,﹖)跟現在的分區不能對應,所以不能正常啟動。在筆者的電腦中,原Windows分區D、E、F、G在Linux下分別對應hdb5、hdb6、hdb7、hdb8,調整後的D、E、F則對應hdb5、hdb6、hdb7。於是按照前述方法進入Linux,打開/boot/grub/grub.conf文件,內容如下:

  default=0  /默認選項為Red
          Hat Linux
  timeout=10  /10秒後進入選
        定項
  splashimage=(hd0,8)/boot/grub/splash.XPm.gz    /*指定Grub圖形
        界面文件
  title Red Hat Linux(2.4.18-14)
  root hd0,8 
  kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/
  initrd /boot/initrd-2.4.18-14.img
  title windows
  rootnoverify(hd0,0)
  chainloader +1

  Windows 2000安裝在C盤,有關Windows的部分不需要修改;在有關Linux的部分中,將(hd0,8)改成(hd0,7)。

  接著修改Grub的重要的文件stage2。重新啟動到Windows 2000下,用explore2fs-1.00-pre4(用Windows訪問ETX分區)導出stage2,然後用UltraEdit打開該文件(見圖),將其中的(hd0,8)改成(hd0,7),保存退出。

  再次進入Linux,用修改後的stage2文件覆蓋原文件,重新啟動Linux,Grub圖形界面恢復。

更多內容請看Linux安全應用寶典 Linux防火牆 Linux服務器專題,或




Copyright © Linux教程網 All Rights Reserved