Grubinst初級使用教程


Grubinst初級使用教程

1. 介紹
grubinst是一個用來將GRUB4DOS安裝到硬盤的MBR(或者分區的引導扇區)以及映像文件中的工具。

grubinst.exe是一個命令行方式的程序,它的功能基本上與不點的GRUB4DOS發行包中的bootlace.com(可以運行在純DOS或者 Linux環境)相同,但是跟bootlace.com不同,grubinst完全是用C語言開發的,能夠在Windows NT/2K/XP、Linux和FreeBSD等操作系統下編譯並運行。

grubinst_gui.exe是grubinst.exe的圖形界面shell程序,對於那些不熟悉命令行操作的用戶來說,它提供了更友好的圖形操作 界面,目前,grubinst_gui.exe只能運行在Windows操作系統(事實上是只能運行在NT/2K/XP環境)下。

另外請注意,當前版本的grubinst不支持在Windows 95/98/ME下修改硬盤的MBR,對於這些操作系統,請使用bootlace.com。

2. grubinst跟bootlace.com的區別
在bootlace.com里,硬盤盤等設備只能用設備的BIOS識別號來表示,如0x80表示第一塊硬盤,0x81表示第二塊硬盤等等。而在 grubinst中,硬盤則可以用特定的設備文件名來表示(跟grub的傳統類似),如(hd0), (hd1)...。軟驅暫時還不支持這種表示方式。

grubinst支持幾個新的選項,主要用於恢復原來的MBR。

--save-mbr=FILENAME

This option is used to save the original MBR to FILENAME 這個選項用於保存原來的MBR到文件中。

--restore-mbr=FILENAME

這個選項用來從前面保存的文件中恢復原來的MBR。

--restore-prevmbr

這個選項用來恢復保存在硬盤或者映像文件中第二個扇區的原來的MBR。

正常情況下,原來的MBR只有一個扇區,它被保存在新的GRLDR MBR中的第二個扇區中。你可以用--restore-prevmbr選項來恢復它。然而,如果原來的MBR的長度超過一個扇區,例如,你安裝了別的引導 管理軟件,那么GRLDR MBR就沒有足夠的空間保存原來的MBR。在這種情況下,你應該使用--save-mbr=FILENAME將原來的MBR保存到一個外部文件中,需要時 再使用--restore-mbr=FILENAME選項從保存的文件中恢復它。

3. 用法及示例
取自grubinst 1.1的--help。

grubinst  [選項]  設備或文件
選項:

      --help,-h               顯示本幫助
       --pause                 退出前暫停
       --version               顯示grubinst版本信息
       --verbose,-v            輸出詳細信息
       --list-part,-l          列出設備或者文件中的所有分區信息
       --save=FN,-s=FN         保存原來的MBR/引導扇區到文件FN中。
       --restore=FN,-r=FN      從前面備份的FN中恢復原來的MBR/引導扇區
       --restore-prevmbr,-r    恢復保存在設備或者文件第二扇區中的原來的MBR
      --read-only,-t          只是模擬操作,沒有真正的寫操作(測試模式)
       --no-backup-mbr         不在第二扇區中備份原來的MBR。
       --force-backup-mbr      強制備份原來的MBR到第二扇區(默認選項)
      --mbr-enable-floppy     在軟驅上搜索grldr(默認選項)
      --mbr-disable-floppy    禁止搜索軟驅上的grldr
      --mbr-enable-osbr       當分區表非法時(通常是某操作系統的引導扇區),仍然啟動原來的MBR(默認選項)
      --mbr-disable-osbr      當分區表非法時(通常是某操作系統的引導扇區),禁止啟動原來的MBR。
      --duce                  (不明白,無法翻譯)disable the feature of unconditional entrance
                               to the command-line.
      --boot-prevmbr-first    在搜索GRLDR之前嘗試首先啟動原來的MBR
      --boot-prevmbr-last     在啟動原來的MBR之前先搜索GRLDR(默認選項)
      --preferred-drive=D     優先啟動磁盤編號, 0 <= D < 255.
      --preferred-partition=P 優先啟動分區編號, 0 <= P < 255.
      --time-out=T,-t=T       在啟動原來的MBR之前等待T秒,如果T是0xff,無限等待,默認等待5秒
      --hot-key=K,-k=K        如果在啟動原來的MBR之前按下了指定鍵,則啟動GRUB。K的長度為一個
                                  字(word),也就是int16/AH=1中斷的AX寄存器值。高位字節是對應按鍵
                                  的掃描碼,低位字節是ASCII碼。默認按鍵是0x3920,也就是空格鍵。
      --key-name=S            指定熱鍵的顯示名
      --floppy,-f             如果安裝目標是軟驅,則指定這個選項。
      --floppy=N              如果安裝目標是硬盤的某個分區,則指定這個選項。N用來指定分區編號:0,
                              1,2和3對應主分區,4,5,6,...對應邏輯分區。
      --sectors-per-track=S   對--floppy選項指定每磁道扇區數,1 <= S <= 63, 默認是63.
      --heads=H               對--floppy選項指定磁頭數,1 <= H <= 256, 默認是255.
      --start-sector=B        對--floppy=N選項指定隱藏扇區數。
      --total-sectors=C       對--floppy選項指定總扇區數,默認是0。
      --lba                   對--floppy選項使用LBA方式。如果軟驅的BIOS支持LBA,你可以指定這個選項。
                                  按規定所有的軟驅BIOS都支持CHS方式,所以最好指定--chs選項。如果既沒指定
                                  --lba也沒指定--chs,則LBA指示字節(一般是啟動扇區第3字節)的值不會被改
                                  變。
      --chs                   對--floppy選項使用chs方式。如果你的軟驅BIOS不支持LBA方式,你應該指定
                                  --chs選項。我們假定所有的軟驅BIOS都支持CHS方式,所以推薦使用--chs選項。
                                  如果既沒指定--lba也沒指定--chs,則LBA指示字節(一般是啟動扇區第3字節)
                                  的值不會被改變。
      --install-partition=I   安裝引導扇區到指定硬盤(或硬盤映像)的分區I。
       -p=I
      --boot-file=F,-b=F      改變默認啟動文件名(默認是grldr)。
      --load-seg=S            改變啟動文件的默認內存加載段(默認是0x2000:0)。
      --grub2,-2              裝載grub2的內核g2ldr而不是grldr。
      --output,-o             輸出內置的grldr.mbr(受-b參數的影響)。
示例 1: 安裝GRLDR MBR到第一個硬盤

grubinst (hd0)

示例 2: 安裝GRLDR MBR 到磁盤映像文件disk.dsk

grubinst disk.dsk

示例 3: 恢復第一塊硬盤的單扇區MBR

grubinst --restore-prevmbr (hd0)

示例 4: 安裝GRLDR MBR到第一塊硬盤並保存原來的MBR到MBR.sav文件中。

grubinst --save-mbr=MBR.sav (hd0)

示例 5: 從保存的MBR.sav中恢復原來的MBR。

grubinst --restore-mbr=MBR.sav (hd0)

示例 6: 在啟動時10秒內按下空格才加載GRUB

grubinst --boot-prevmbr-first --time-out=10 (hd0)

4. 編譯方法
要編譯grubinst,在Linux/FreeBSD下你需要GCC,在Windows NT/2K/XP下你需要mingw或者Visual C++ 6.0。

mingw:

make -f Makefile.mgw

Visual C++ 6.0:

nmake -f Makefile.vc6

Linux GCC:

make -f Makefile.lnx

FreeBSD GCC:

make -f Makefile.bsd

這里提供的二進制代碼使用mingw編譯。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM