国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Linux GRUB手動安裝方法詳情

2024-08-27 23:56:11
字體:
來源:轉載
供稿:網友
  需要手工安裝 GRUB 主要有兩種情況:
 
  Linux 系統原先不是使用 GRUB 作為引導程序而現在想要使用 GRUB 來作為引導程序;
 
  MBR 中的引導程序被覆蓋,需要在 MBR 中重新安裝 GRUB,如先安裝了 Linux 系統,后安裝了 Windows 系統。
 
  下面,我們分別介紹這兩種情況如何手工安裝 GRUB 引導程序。
 
  系統中沒有GRUB,需要手工安裝
 
  我們先來講第一種情況,就是 Linux 系統中沒有安裝 GRUB,我們需要重新安裝 GRUB;或者打算把不是啟動分區的某個分區變成啟動分區。比如我的系統中新建了一個分區 /dev/sdb1,并掛載到了 /tdisk/ 目錄上,我們查看一下新建立的分區,命令如下:
 
  [root@localhost ~]# df
 
  文件系統 1K-塊 已用 可用 已用% 掛載點
 
  /dev/sda3 19923216 1787736 17123412 10% /
 
  tmpfs 312672 0 312672 0% /dev/shm
 
  /dev/sda1 198337 26359 161738 15% /boot
 
  /dev/sdb1 2071384 68632 1897528 4% /tdisk
 
  這個分區是我手工建立的,當然不是系統的默認啟動分區(系統默認啟動分區是 /boot 分區)。我們用這個分區模擬一個不是采用 GRUB 作為默認引導程序的 Linux 硬盤,在這個分區中手工安裝 GRUB 引導程序。也就是說,這個實驗成功后,/boot 分區可以啟動系統,/tdisk 分區也可以啟動系統。
 
  具體安裝步驟如下:
 
  1) 使用 grul-install 命令在要啟動的分區中安裝 GRUB 相關文件
 
  在 /boot 分區中有一個 /boot/grub/ 目錄,這個目錄中保存的就是 GRUB 的相關文件(如文件系統的 Stage 1.5 文件)。我們查看一下 /boot 分區中的這個目錄,如下:
 
  [root@localhost ~]#ls /boot/grub/
 
  device.map ffs_stage1_5 jfs_stage1_5 reiserfs_stage1_5 stage2
 
  xfs_stage1_5 e2fs_stage1_5 grub.conf menu.lst splash.xpm.gz
 
  ufs2_stage1_5 fat_stage1_5 iso9660_stage1_5 minix_stage1_5 stage1
 
  vstafs_stage1_5
 
  但是在 /tdisk 目錄中并不存在這些文件,所以第一步就是要在 /tdisk 目錄中安裝這些 GRUB 相關文件,具體采用 grub-install 命令。這個命令的格式如下:
 
  [root@localhost ~]# grub-install [選項] 設備文件名
 
  選項:
 
  -root-directory=DIR:DIR 為實際目錄,也就是手工指定 GRUB 相關文件的安裝目錄;
 
  【例 1】命令標準格式。
 
  [root@localhost ~]# gmb-install /dev/sda
 
  #因為默認 GRUB 就是安裝到 /dev/sda 中的,所以不需要指定 --root-directory 選項
 
  我們需要把 GRUB 安裝到 /tdisk 分區,所以需要執行以下命令:
 
  [root@localhost ~]# grub-install --root-directory=/tdisk/dev/sdb1
 
  #把GRUB安裝至/tdisk分區
 
  Probing devices to guess BIOS drives. This may take a long time.
 
  Installation finished. No error reported.
 
  This is the contents of the device map/tdisk/boot/ grub/device.map.
 
  Check if this is correct or not. If any of the lines is incorrect,
 
  GRUB 的相關文件已經安裝到 /tdisk/boot/grub/ 目錄中。當然,這些文件還是需要 GRUB 的配置文件來讀取的。大家注意到了嗎? /tdisk/boot/grub/ 目錄中沒有 grub.conf 或 menu.lst 配置文件,這些配置文件還是需要依賴 /boot/grub/ 目錄的。
 
  注意,如果系統中沒有 grul-install 命令,則說明沒有 GRUB 軟件,這時可以源碼包安裝,也可以 RPM 包安裝。RPM 包的安裝命令如下:
 
  [root@localhost ~]# rpm -ivh /mnt/cdrom/Packages/ grub-0.97-77.el6.i686.rpm
 
  2) 修改GRUB的配置文件
 
  在我們的實驗中,GRUB 是已經安裝好的,所以可以直接修改 /boot/grub/gmb.conf 配置文件。但如果是沒有安裝過 GRUB 的 Linux 系統手工安裝 GURB,就需要自己建立 GRUB 配置文件了。那么我們修改 /boot/grub/grub.conf 配置文件如下:
 
  [root@localhost ~]# vi /boot/gmb/grub.conf
 
  default=0
 
  timeout=5
 
  splashimage=(hd0,0)/grub/splash.xpm.gz
 
  hiddenmenu
 
  Done
 
  #在/tdisk分區的啟動扇區中安裝GRUB吧。雖然有兩個failed,但這只是兩個文件系統的Stage 1.5文件沒有安裝,并不影響
 
  grub> quit
 
  #退出GRUB交互界面
 
  這時 GRUB 安裝完成了,可以重新啟動試驗一下了。重啟后可以看到圖 1 所示的界面。
 
  當然 /tdisk 分區中并沒有真正的內核,所以最終還是要靠 /boot 分區啟動。如果是多內核并存的,就可以真正啟動了。
 
  總結一下,在 Linux 系統中安裝 GRUB,或者在新分區中安裝 GRUB 的步驟如下:
 
  需要在 Linux 系統的指定分區中安裝 GRUB 的相關文件。這是通過 grub-stall 命令實現的。
 
  需要按照要求修改 GRUB 的配置文件,也就是 /boot/gmb/grub.conf。
 
  需要在分區的啟動扇區中安裝 GRUB,這是通過 grub 命令的交互模式實現的。
 
  MBR中的GRUB被覆蓋,需要重新安裝GRUB
 
  這種情況最常見的就是先安裝了 Linux 系統,后安裝了 Windows 系統,導致 MBR 中的 GRUB 被覆蓋。而 Windows 系統的啟動引導程序又不能識別 Linux 系統,從而導致 Linux 系統不能正常啟動。
 
  這種情況解決起來比第一種要簡單得多,因為不需要安裝 GRUB 的相關文件和修改 GRUB 的配置文件,也就是第一種情況的第一步和第二步不需要執行,因為這是已經安裝和修改好的。只需要執行第三步,覆蓋 MBR 中的啟動引導程序即可。
 
  但是這里的問題是,應該在什么地方啟動 GRUB 的交互模式呢?第一種情況是,我們是在 Linux 的命令行中執行 grub 命令,來啟動 GRUB 交互模式。第二種情況是已經不能正常啟動 Linux 系統了,當然也就沒有 Linux 的命令行了。在這種情況下,我們需要先利用 Linux 的光盤修復模式,使用光盤來啟動 Linux,進入 Linux 的命令行,再指定 grub 命令。Linux 的光盤修復模式將在后續章節中介紹。
 
  我們先假設已經進入了光盤修復模式中的 Linux 命令行,那么只需執行如下命令即可:
 
  sh-4.1#grub
 
  #啟動GRUB交互界面。注意到了嗎?提示符不一樣了,那是因為系統是從光盤啟動的,所以環境變量沒有生效
 
  gmb>root (hd0.0)
 
  #同樣需要設置GRUB的主目錄
 
  grub>setup (hd0)
 
  #直接把GRUB安裝到MBR中,所以不需要指定分區
 
  grub>quit
 
  #退出
 
  重啟系統之后,就可以發現熟悉的 GRUB 界面又回來了。這種安裝 GRUB 的方式要比第一種情況簡單,因為這并不是全裝,僅僅是覆蓋安裝而已。
 

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鄂伦春自治旗| 商都县| 贺兰县| 乐至县| 紫云| 平远县| 合江县| 保定市| 罗田县| 石柱| 哈尔滨市| 安庆市| 桂林市| 麻江县| 营山县| 博白县| 汝州市| 金湖县| 哈尔滨市| 吴江市| 连云港市| 晋州市| 株洲市| 广平县| 江西省| 会泽县| 保山市| 紫阳县| 灵璧县| 依兰县| 南通市| 图木舒克市| 九台市| 监利县| 垦利县| 庄河市| 阿拉善左旗| 壶关县| 定西市| 咸丰县| 马尔康县|