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編譯。
posted on 2008-10-29 13:46
我是風之子 閱讀(5211)
評論(0) 編輯 收藏 所屬分類:
服務器相關