如是觀齋


此心本真如,妄想始蔽覆,顛倒無明,長淪生死,猶盲人夜行,永不見日。業相既起,境界為緣,業起緣生,重重束縛,何有自在?
須知體即法身,相即般若,用即解脫,若止觀則成定慧,定慧以明心,德相圓矣!

2007年11月9日 星期五

Grubinst使用介紹

Grubinst使用介紹



1. 介紹

grubinst是一個用來將GRUB4DOS安裝到硬碟的MBR(或者分區的引導磁區)以及映射檔中的工具。

grubinst.exe是一個命令行方式的程式,它的功能基本上與Gbootlace.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
這個選項用於保存原來的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,-p=I 安裝引導磁區到指定硬碟(或硬碟映射)的分區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編譯。


5. 相關網站

[http://grub4dos.sourceforge.net/ grubinst和WINGRUB主頁]

[http://grub4dos.jot.com/ 最新版GRUB4DOS專案包]

[http://bbs.znpc.net/ 時空論壇有GRUB4DOS專區(中文)]

[http://grub.linuxeden.com/ 與GRUB4DOS相關的各種資訊(中文)]

0 個意見:

張貼留言

訂閱 張貼留言 [Atom]

<< 首頁