电竞比分网-中国电竞赛事及体育赛事平台

分享

Grub4dos詳細(xì)圖文教程 1

 readeee 2013-10-11
時間:2010-07-09 09:48

Grub4dos用于把grub4dos安裝到Windows系統(tǒng)的啟動項(xiàng)或者M(jìn)BR中,為避免與其他軟件沖突(比如軟激活程序等),支持給 grldr改名,修改后的文件名限5個字符,不足5字符時自動補(bǔ)全。支持Windows 2000、xp、2003、2008、vista及Windows 7 (x86&x64)。支持帶100MB保留分區(qū)的系統(tǒng)。

1.1 grub簡介

GRUB 是一個遵從Multiboot(多重啟動)規(guī)范的啟動管理程序?,F(xiàn)在接觸到的有3種,即GNU Grub Lagecy , GNU Grub2 和 Grub for dos(grub4dos)。

GNU GRUB Lagecy其實(shí)就是原來的 GNU GRUB 0.xx ,最新版是2005年發(fā)布的GNU GRUB 0.97。 目前已停止開發(fā),并改名為 GNU GRUB Lagecy。

GNU GRUB2是第二代GRUB,它將取代原來的GNU GRUB(例如0.9x版),但目前還處于開發(fā)階段,尚未發(fā)布正式版。

GNU GRUB Lagecy和GNU GRUB2都是 GNU 組織的項(xiàng)目。

GRUB for DOS(GRUB4DOS)是一個以 GNU GRUB 為基礎(chǔ)的功能強(qiáng)大的引導(dǎo)器。它可以在 DOS 和 LINUX下運(yùn)行,也可以通過其他引導(dǎo)器來運(yùn)行,還可以作為MBR運(yùn)行。GRUB4DOS內(nèi)置了功能完善的 BIOS 級磁盤仿真。

下面以比較廣泛使用的GRUB4DOS為基礎(chǔ)進(jìn)行說明。GNU GRUB與GRUB4DOS的不同之處,可參看相關(guān)說明文件。

1.2 如何獲得grub4dos最新版

可從以下網(wǎng)址下載Grub4dos最新版。
http://www./download/Soft/Soft_23559.htm


1.3 如何安裝grub4dos?

下載Grub4dos后,解壓縮后就可以了。核心文件有下面這幾個:grldr和grub.exe,及menu.lst(此為樣本,需修改)。如果你需要中文支持,就用chinese子目錄中的文件。

安裝方法常見的有下面3種。

1.3.1 通過Windows NT的啟動菜單進(jìn)入Grub4dos

將grldr文件復(fù)制到c:\,去掉boot.ini的只讀屬性,然后修改c:\boot.ini文件,在boot.ini的最后面加一行:
c:\grldr="Start GRUB4DOS"
并將boot.ini中的timeout值設(shè)置為大于0的數(shù)字,如:timeout=5,然后保存boot.ini,改回只讀屬性。
編輯boot.ini前,可在cmd下輸入:
attrib -s -r -h c:\boot.ini
解除boot.ini的只讀屬性,編輯完后輸入:
attrib +s +r +h c:\boot.ini
恢復(fù)boot.ini的原有屬性。

這樣,編輯完重新啟動計算機(jī),在NT的啟動菜單就會出現(xiàn)“Start GRUB4DOS”這一項(xiàng),選擇該項(xiàng)即可進(jìn)入grub4dos的環(huán)境。【圖1】



此方法的優(yōu)點(diǎn)是:不需要修改MBR。

初學(xué)者使用grub一般都需要grub菜單,把準(zhǔn)備好的menu.lst文件 放到C:\下(也可放到其它分區(qū)根目錄或其它指定目錄)。menu.lst的編寫方法可參考readme.txt或者別人提供的menu.lst。在下面 的“1.4 如何使用grub4dos”中將作簡單介紹。

1.3.2 通過DOS啟動grub

將機(jī)器通過任何可能的方式(軟盤,U盤,光盤等)啟動到DOS環(huán)境(最好是純DOS環(huán)境,即不加載任何驅(qū)動程序和TSR程序的DOS環(huán)境),然后在DOS下或者AUTOEXEC.BAT中運(yùn)行g(shù)rub.exe,即可進(jìn)入grub4dos。
也可在DOS/Windows9x的CONFIG.SYS中使用下列任一方式啟動grub。
DEVICE=GRUB.EXE
INSTALL=GRUB.EXE
SHELL=GRUB.EXE

此方法的優(yōu)點(diǎn)是:不需要修改MBR;可根據(jù)需要在腳本或者其它DOS程序中啟動GRUB4DOS。

菜單文件menu.lst可保存在grub文件所在目錄或其它指定路徑。

1.3.3 通過mbr啟動grub

通過軟件包里的bootlace.com(可運(yùn)行于DOS/Win9x)安裝GRLDR引導(dǎo)記錄到硬盤或者硬盤映像文件的主引導(dǎo)記錄,或者安裝到軟盤或者軟盤映像的引導(dǎo)扇區(qū)。電腦啟動時,通過擊熱鍵(默認(rèn)為空格鍵,可自定義)來啟動grub。

比如:
在DOS下安裝GRLDR代碼到主引導(dǎo)記錄:
bootlace.com 0x80

在DOS下安裝GRLDR代碼到軟盤:
bootlace.com --floppy --chs 0x00

在DOS下安裝GRLDR代碼到軟盤映像:
bootlace.com --floppy --chs floppy.img

我所使用的命令為:
bootlace --force-backup-mbr --boot-prevmbr-first --time-out=3 --hot-key=0x3920 --mbr-disable-floppy 0x80
表 示安裝GRLDR代碼到MBR時,備份原MBR(--force-backup-mbr),默認(rèn)啟動原MBR,即啟動原windows xp系統(tǒng)(--boot-prevmbr-first),等待時間3秒(--time-out=3),熱鍵為空格鍵(--hot- key=0x3920), 不搜索軟盤上的GRLDR(--mbr-disable-floppy)。

也就是說啟動時等待3秒,3秒內(nèi)不擊熱鍵的話,啟動windows xp;3秒內(nèi)擊熱鍵則啟動Grub4dos。

bootlace的其它參數(shù)及自定義熱鍵用法可參看readme.txt文件。

裝 入mbr后,再將grldr和menu.lst文件復(fù)制到某分區(qū)的根目錄(現(xiàn)在支持的文件系統(tǒng)是FAT12,FAT16, FAT32, NTFS,EXT2 or EXT3 的分區(qū)。對于Windows用戶,最好是fat分區(qū)),menu.lst也可保存到其它指定位置。

此方法的優(yōu)點(diǎn)是:不依賴于操作系統(tǒng);能夠自動搜索硬盤上各個分區(qū)的grldr文件。

另 外,2000/xp/2003/vista環(huán)境下可用另一軟件grubinst來把GRLDR引導(dǎo)記錄安裝到硬盤的MBR。grubinst具有圖形界面 和命令行兩種工作模式供選用,并附有比較詳細(xì)的使用說明,很易于使用?!緟⒖锤戒?4.1 如何使用grubinst_gui】

1.3.4 通過Windows NT的啟動菜單進(jìn)入grub4dos NEW!

用批處理自動把grub4dos裝入Vista啟動項(xiàng)(非MBR)。

把Grub4dos裝入Vista啟動項(xiàng),比裝入MBR相對來說要安全。
【對于vista系統(tǒng),不能通過fdisk /mbr來恢復(fù)mbr,這樣會造成vista無法啟動。】

關(guān)于手動把grub4dos裝入Vista的啟動項(xiàng)的方法,網(wǎng)上有一些介紹。比起winxp修改Boot.ini來,操作要麻煩不少。

主要就是操作過程中要產(chǎn)生一個ID號【如:b88a2da4-0a4e-11dc-813a-00e04c75ef59】,需要手動輸入3次,實(shí)在是麻煩。

下面的批處理自動完成整個裝入操作。

-------------------------------
@echo off
rem by lianjiang
cls
echo.
echo 請以管理員身份運(yùn)行。
echo.
pause
set gname=GRUB for DOS
set vid=
set timeout=5
bcdedit >bcdtemp.txt
type bcdtemp.txt | find "\grldr.mbr" >nul && echo. && echo   BCD啟動項(xiàng)中已有g(shù)rub4dos的項(xiàng)目,無需再安裝。&& pause && goto exit
bcdedit   /export "Bcd_Backup" >nul
bcdedit   /create /d "%gname%" /application bootsector >vid.ini
for,/f,"tokens=2 delims={",%%i,In (vid.ini) Do (
               set vida=%%i
)
for,/f,"tokens=1 delims=}",%%i,In ("%vida%") Do (
               set vid={%%i}
)
echo %vid%>vid.ini
bcdedit   /set %vid% device boot >nul
bcdedit   /set %vid% path \grldr.mbr >nul
bcdedit   /displayorder %vid% /addlast >nul
bcdedit   /timeout   %timeout% >nul
if exist grldr.mbr copy grldr.mbr %systemdrive%\ /y && goto exit
echo.
echo 稍后請自行把grldr.mbr拷貝到%systemdrive%\根目錄
echo.
pause
:exit
del bcdtemp.txt >nul
-------------------------------

此方法的優(yōu)點(diǎn)是:不需要修改MBR。

grub菜單文件的準(zhǔn)備同“1.3.1 通過Windows NT的啟動菜單進(jìn)入grub4dos”。

1.4 如何使用grub4dos

對于多數(shù)沒有或很少接觸過linux的windows用戶來說,剛開始使用grub時離不開菜單。也就是說,使用grub前,我們要準(zhǔn)備menu.lst文件。

下面是一個menu.lst的例子。(以#開始的行,表示注釋,不執(zhí)行)

# 默認(rèn)延遲時間(秒)
timeout 30

# 第一項(xiàng)為默認(rèn)值
default 0

# 設(shè)置圖形背景文件
splashimage (hd0,0)/boot/grub/xp2008.gz

# 設(shè)置中文支持的字體文件
fontfile (hd0,0)/boot/grub/fonts

title 使用map啟動本地硬盤上的瑞星殺毒軟盤鏡像文件
map (hd0,0)/boot/grub/rav.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

title 使用memdisk啟動本地 Win98 軟盤鏡像文件
kernel (hd0,0)/boot/grub/memdisk.gz
initrd (hd0,0)/boot/grub/win98.img

title 使用memdisk啟動本地硬盤上的瑞星殺毒軟盤壓縮鏡像文件
root (hd0,0)
kernel /boot/grub/memdisk.gz c=80 h=12 s=36 floppy
initrd /boot/rav.zip

title 啟動第一主分區(qū)(hd0,0)上的操作系統(tǒng)
rootnoverify (hd0,0)
makeactive
chainloader +1

title 啟動第二主分區(qū)(hd0,1)上的操作系統(tǒng)
rootnoverify (hd0,1)
makeactive
chainloader +1

title 重啟
reboot

title 關(guān)機(jī)
halt

此菜單文件的運(yùn)行效果如下圖?!緢D2】

 



參考這個例子,我們就可以根據(jù)自己需要對菜單進(jìn)行修改。

比如從網(wǎng)上下載了效率源的鏡像文件,文件名為XLY.IMG。我們只需把
title 使用memdisk啟動本地 Win98 軟盤鏡像文件
kernel (hd0,0)/boot/grub/memdisk.gz
initrd (hd0,0)/boot/grub/win98.img

改成
title 硬盤檢測修復(fù)工具 效率源 (memdisk)
kernel (hd0,0)/boot/grub/memdisk.gz
initrd (hd0,0)/boot/grub/xly.img

或者改成
title 硬盤檢測修復(fù)工具 效率源 (map)
map (hd0,0)/boot/grub/xly.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

同時把xly.img文件保存到第一主分區(qū)(一般是C:)的boot\grub目錄下。
當(dāng)然也可以保存到其它路徑。

比如xly.img文件保存到C:\boot下,則menu.lst文件相應(yīng)改為:
map (hd0,0)/boot/xly.img (fd0)

又如xly.img文件保存到D:\test下,則menu.lst文件相應(yīng)改為:
map (hd0,4)/test/xly.img (fd0)
(參看下面的注意d)

從上面的例子可以看出,啟動軟盤鏡象,有兩種方式,即用memdisk或用map。

用memdisk時,img文件可壓縮;在img文件大小為非1.44MB或2.88MB標(biāo)準(zhǔn)鏡像時,需要指定CHS參數(shù)。img文件的CHS參數(shù)可用winimage獲得。

即例子中的:
title 使用memdisk啟動本地硬盤上的瑞星殺毒軟盤壓縮鏡像文件
root (hd0,0)
kernel /boot/grub/memdisk.gz c=80 h=12 s=36 floppy
initrd /boot/rav.zip

另外,菜單文件中的文件路徑可用相對路徑(如:/boot/rav.zip)或絕對路徑(如:(hd0,0)/boot/grub/xly.img)表示。

map方式對軟盤映像大小沒有限制,但要求必須連續(xù)存放。改進(jìn)的map --mem則無此限制。

比如:
map --mem /boot/xxx.ima (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

注意:
a, 菜單文件中所用的memdisk.gz文件,不包括在Grub4dos的發(fā)行包里,需自行準(zhǔn)備??蓮膅nu grub軟件包或從其它基于grub的工具(如一鍵ghost,本人的gghost)中獲得。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多