大白菜官网,日韩在线黄色,大白菜winpe,日韩在线黄色,大白菜U盘装系统,日韩在线国产, u盘启动盘制作工具

幫助中心

當(dāng)前位置:首頁 > 幫助中心 > 0PE 菜單分析(2)

0PE 菜單分析(2)

日期:2011-06-14 | 時間:23:51
 

MENU.GZ 中的菜單內(nèi)容 
 
  此菜單接著 MENU.0PE 繼續(xù)啟動。

    看完整個 0PE 專用菜單,才知道,整個菜單只是根據(jù)用戶不同的選擇,將相應(yīng)的 WinPE 所需文件包讀入 DOS 所在的虛擬磁盤中,然后由 DOS 來處理這些文件,構(gòu)建 WinPE 啟動所需要的環(huán)境。

 

;0PE menu by Pseudo 2009.6.6
; 1、本地優(yōu)先、解開的優(yōu)先。有利于減少網(wǎng)絡(luò)流量和內(nèi)存占用。
;    根據(jù)首次找到的/0PE/BUFXP.GZ(BUF2K3.GZ)確定初始目錄。先本地,后PXE服務(wù)器(PXE啟動時);
;    先找解開的文件,后找/0PE/0PE.ISO,將其仿真為光盤并在其內(nèi)找。
; 2、初始目錄優(yōu)先(先入為主)。初始目錄優(yōu)先有利于各組件版本一致,并減少搜索代價。
;    找其它文件次序:初始目錄,本地盤(含仿真光盤),PXE服務(wù)器(PXE啟動時)。
; 3、根驅(qū)動優(yōu)先。根驅(qū)動一般是為本機定制的驅(qū)動。
;    如果存在磁盤驅(qū)動/OEM_SRS.ZIP,則不再找其它磁盤驅(qū)動,即使選了相應(yīng)菜單。
; 由于初始目錄優(yōu)先,混合啟動時,本地(包括0PE.ISO里)若有BUFXP.GZ(BUF2K3.GZ),則傾向于使用本地文件,缺文件才找PXE服務(wù)器上的。
; 本地若無BUFXP.GZ(BUF2K3.GZ),則傾向于使用PXE服務(wù)器上的文件,缺文件才從本地找。

 

; 設(shè)置 Debug 狀態(tài)
read 0x60110 || debug off

; 將 Debug 狀態(tài)傳遞到 Dos 啟動過程中
read 0x60110 && write --offset=480 (hd7,0)/BAT/_ENV.BAT set DEBUGON=1\r\n

; 根據(jù)選擇的菜單項,設(shè)置啟動類別(XP,2003,DOS,用戶自定義菜單)
write --offset=50 (hd7,0)/BAT/_ENV.BAT set SYS.VER=XP\r\n
checkrange 5:7 read 0x60068 && write --offset=50 (hd7,0)/BAT/_ENV.BAT set SYS.VER=2003\r\n
checkrange 8 read 0x60068 && write --offset=50 (hd7,0)/BAT/_ENV.BAT set SYS.VER=DOS\r\n
checkrange 4 read 0x60068 && write --offset=150 (hd7,0)/BAT/_ENV.BAT set MENU.USR=1\r\n

; 0x602A0 之前好象都未使用,怎么能在這里做判斷呢?傳遞環(huán)境變量到 DOS:set BTM=ISO
read 0x602A0 && write (hd7,0)/BAT/_ENV.BAT set BTM=ISO\r\n

; 如果是 PXE 啟動,傳遞環(huán)境變量到 DOS:set BTM=PXE
read 0x60064 && write (hd7,0)/BAT/_ENV.BAT set BTM=PXE\r\n

; 如果是 PXE 啟動,則在 DOS 啟動時加載 undi_drv.exe
read 0x60064 && write (hd7,0)/config.sys device=bin\\undi_drv.exe\r\n

; 如果是 PXE 啟動,則將 PXE 的“客戶端IP”,“服務(wù)端IP”,“網(wǎng)關(guān)IP” 寫入 PXE_XIP.COM 中。
; PXE_XIP.COM 可能是 Pseudo 寫的一個小程序
read 0x60064 && dd if=(md) of=(hd7,0)/BIN/PXE_XIP.COM bs=1 count=12 skip=0x8284 seek=0x166

; 流程控制變量
write 0x60234 0

 

default 0
timeout 0

; 隱藏菜單
hiddenmenu

 

; 菜單 [0] 流程控制
title

; [1] 0x60234 初始值就為 0,所以首先進入菜單 1 執(zhí)行
checkrange 0 read 0x60234 && fallback 1

; [2]-[3]KERNEL.ZIP 可能返回 3 或者 出錯后進入GRUB的命令行
checkrange 1 read 0x60234 && fallback 2

; [4]-[5]OEM_SRS.ZIP 可能返回 4,5,6,7,8
checkrange 3 read 0x60234 && fallback 4

; [6]-[7]SRS1.ZIP 返回 8
checkrange 4 read 0x60234 && fallback 6

; [8]-[9]SRS2.ZIP 返回 8
checkrange 5 read 0x60234 && fallback 8

; [10]-[11]F6.ZIP 可能返回 8,7
checkrange 6 read 0x60234 && fallback 10

; [12]xp/03switch 可能返回 9,10
checkrange 8 read 0x60234 && fallback 12

; [13]-[14]xp-ext1 可能返回 11(需要 xpext2),12(不需要 xpext2)
checkrange 9 read 0x60234 && fallback 13

; [15]-[16]2k3-ext1 可能返回 13(需要 2k3ext2),14(不需要 2k3ext2)
checkrange 10 read 0x60234 && fallback 15

; [17]-[18]xp-EXT2.WIM 可能返回 15(需要 NET.WIM),16(不需要)
checkrange 11 read 0x60234 && fallback 17

; [19]-[20]2k3-EXT2.WIM 可能返回 17(需要 NET.WIM),18(不需要)
checkrange 13 read 0x60234 && fallback 19

; [21]-[22]xp-NET.WIM 可能返回 19(需要 DEF.CAB),20(不需要)
checkrange 15 read 0x60234 && fallback 21

; [23]-[24]2k3-NET.WIM 可能返回 21(需要 DEF.CAB),22(不需要)
checkrange 17 read 0x60234 && fallback 23

; [25]-[26]DEF.CAB 可能返回 23
checkrange 19,21 read 0x60234 && fallback 25

; [27]BOOT
checkrange 7,12,14,16,18,20,22,23 read 0x60234 && fallback 27
fallback Force

 

; 菜單 [1] 進入 MS-DOS,失敗則返回流程控制菜單(然后進入下一個啟動項)
title

fallback 0

; 如果用戶選擇的不是 MS-DOS 啟動,則(通過菜單0后)跳轉(zhuǎn)到 菜單2,處理 KERNEL.ZIP大白菜官網(wǎng)
checkrange 8 read 0x60068 || write 0x60234 1
checkrange 8 read 0x60068 || kernel

 

; 如果是 MS-DOS 啟動,則將 (hd7, 0) 映射為軟盤(fd0)
map --mem (hd7,0)+1 (fd0)

; 卸載 虛擬軟盤 (fd1,fd2,fd3),虛擬設(shè)備 0x80 到 0xff。
map --unmap=1,2,3,0x80:0xff
map --rehook

; 設(shè)置 root 目錄為 (fd0),并設(shè)置引導(dǎo)文件
rootnoverify (fd0) && chainloader /io.sys

; 開始啟動
; boot

 

; 菜單 [2] 處理 KERNEL.ZIP,將 KERNEL.ZIP 裝入內(nèi)存 (rd),以便寫入到 _KERNEL.ZIP 中
title


; 提示信息 Loading /0PE/KERNEL.ZIP...
pause --wait=0 Loading /0PE/KERNEL.ZIP...

fallback 3

 

; 找初始目錄

; 復(fù)位 ErrorFlag
write 0x60000 1

; 恢復(fù)初始目錄,并設(shè)置 root 為根目錄
dd if=(md) of=(md) bs=1 count=8 skip=0x60130 seek=0x829c && root ()

; 裝載 KERNEL.ZIP 到內(nèi)存 (rd),(rd) 起始于 16M(0x8000 * 512) 處
map --mem=0x8000 /0PE/KERNEL.ZIP (rd) || write 0x60000 0

; 成功則跳轉(zhuǎn)到 菜單3,繼續(xù)處理 KERNEL.ZIP,失敗則繼續(xù)查找 KERNEL.ZIP
read 0x60000 && kernel

 

; 找所有磁盤

; 復(fù)位 ErrorFlag
write 0x60000 1

; 搜索所有磁盤的 KERNEL.ZIP 然后裝載到內(nèi)存 (rd)
find --set-root /0PE/KERNEL.ZIP || write 0x60000 0

; 成功則裝載 KERNEL.ZIP 到內(nèi)存 (rd),(rd) 起始于 16M(0x8000 * 512) 處
read 0x60000 && map --mem=0x8000 /0PE/KERNEL.ZIP (rd)

; 成功則跳轉(zhuǎn)到 菜單3,繼續(xù)處理 KERNEL.ZIP,失敗則繼續(xù)查找 KERNEL.ZIP
read 0x60000 && kernel

 

; 找 PXE

; 復(fù)位 ErrorFlag
write 0x60000 1

; 如果是 PXE 啟動,則設(shè)置 root 為 PXE 服務(wù)器
read 0x60064 && rootnoverify (pd)

; 裝載 KERNEL.ZIP 到內(nèi)存 (rd),(rd) 起始于 16M(0x8000 * 512) 處
map --mem=0x8000 /0PE/KERNEL.ZIP (rd) || write 0x60000 0

; 成功則跳轉(zhuǎn)到 菜單3,繼續(xù)處理 KERNEL.ZIP
read 0x60000 && kernel

; 失敗則進入 GRUB 命令行模式
pause Error: File /0PE/KERNEL.ZIP not found!!! && commandline

 

; 菜單 [3] 將 KERNEL.ZIP 寫入 _KERNEL.ZIP,以便 DOS 處理
title


; 獲取 (rd) 的大小并寫入 _KERNEL.ZIP 的文件頭中(_KERNEL.ZIP 原本為 3M 全0文件)
cat --length=0 (rd)+1 && dd if=(md) of=(hd7,0)/BUF/_KERNEL.ZIP bs=1 count=4 skip=0x8290

; 將 (rd) 的內(nèi)容寫入 _KERNEL.ZIP 的剩余空間中
dd if=(rd)+1 of=(hd7,0)/BUF/_KERNEL.ZIP bs=1 seek=4

; 提示 KERNEL.ZIP 準(zhǔn)備完畢
pause --wait=0 KERNEL.ZIP is ready.

; (通過菜單0后)跳轉(zhuǎn)到 菜單4,繼續(xù)處理 OEM_SRS.ZIP
fallback 0
write 0x60234 3 && kernel

 

; 菜單 [4] 處理 OEM_SRS.ZIP,將 OEM_SRS.ZIP 裝入內(nèi)存 (rd),以便寫入到 _SRS.ZIP 中
title


; 提示信息 Loading /OEM_SRS.ZIP...
pause --wait=0 Loading /OEM_SRS.ZIP...


; 如果選擇了與 F6.ZIP 相關(guān)的啟動項,則載入 1M 大小的 _srs.zip 到 (fd2) 中
checkrange 3,4,7 read 0x60068 && map --mem (hd7,0)/F6.GZ (fd2)

; 如果未選擇與 F6.ZIP 相關(guān)的啟動項,則載入 3M 大小的 _srs.zip 到 (fd2) 中
checkrange 3,4,7 read 0x60068 || map --mem (hd7,0)/A.GZ (fd2)
map --hook

fallback 5


; 找初始目錄

; 復(fù)位 ErrorFlag
write 0x60000 1

; 恢復(fù)初始目錄,并設(shè)置 root 為根目錄
dd if=(md) of=(md) bs=1 count=8 skip=0x60130 seek=0x829c && root ()

; 裝載 OEM_SRS.ZIP 到內(nèi)存 (rd),(rd) 起始于 16M(0x8000 * 512) 處
map --mem=0x8000 /OEM_SRS.ZIP (rd) || write 0x60000 0

; 成功則跳轉(zhuǎn)到 菜單5,繼續(xù)處理 KERNEL.ZIP,失敗則繼續(xù)查找 OEM_SRS.ZIP
read 0x60000 && kernel

 

; 找本地磁盤

; 復(fù)位 ErrorFlag
write 0x60000 1

; 搜索所有磁盤的 KERNEL.ZIP 然后裝載到內(nèi)存 (rd),忽略軟盤和光盤
find --set-root --ignore-floppies --ignore-cd /OEM_SRS.ZIP || write 0x60000 0

; 成功則裝載 OEM_SRS.ZIP 到內(nèi)存 (rd),(rd) 起始于 16M(0x8000 * 512) 處
read 0x60000 && map --mem=0x8000 /OEM_SRS.ZIP (rd)

; 成功則跳轉(zhuǎn)到 菜單5,繼續(xù)處理 OEM_SRS.ZIP,失敗則繼續(xù)查找 OEM_SRS.ZIP
read 0x60000 && kernel


; 找PXE

; 復(fù)位 ErrorFlag
write 0x60000 1

; 如果是 PXE 啟動,則設(shè)置 root 為 PXE 服務(wù)器
read 0x60064 && rootnoverify (pd)

; 裝載 OEM_SRS.ZIP 到內(nèi)存 (rd),(rd) 起始于 16M(0x8000 * 512) 處
map --mem=0x8000 /OEM_SRS.ZIP (rd) || write 0x60000 0

; 成功則跳轉(zhuǎn)到 菜單3,繼續(xù)處理 OEM_SRS.ZIP
read 0x60000 && kernel

; 失敗則提示 OEM_SRS.ZIP not found.
pause --wait=0 OEM_SRS.ZIP not found.

; 如果選擇了與 SRS1.ZIP 相關(guān)的菜單項目,則(通過菜單0)跳轉(zhuǎn)到 菜單6 處理 SRS1.ZIP
checkrange 1,5 read 0x60068 && write 0x60234 4

; 如果選擇了與 SRS2.ZIP 相關(guān)的菜單項目,則(通過菜單0)跳轉(zhuǎn)到 菜單8 處理 SRS2.ZIP
checkrange 2,6 read 0x60068 && write 0x60234 5

; 如果選擇了與 F6.ZIP 相關(guān)的菜單項目,則(通過菜單0)跳轉(zhuǎn)到 菜單10 處理 F6.ZIP
checkrange 3,4,7 read 0x60068 && write 0x60234 6

; 開始跳轉(zhuǎn)
fallback 0 && kernel

 

; 菜單 [5] 將 OEM_SRS.ZIP 寫入 _SRS.ZIP,以便 DOS 處理
title


; 傳遞環(huán)境變量到 DOS:set OEMF6=TRUE
write --offset=450 (hd7,0)/BAT/_ENV.BAT set OEMF6=TRUE\r\n

; 獲取 (rd) 的大小并寫入 _SRS.ZIP 的文件頭中(_SRS.ZIP 原本為 1.4M 全0文件,或 3M 全0文件)
cat --length=0 (rd)+1 && dd if=(md) of=(fd2)/_SRS.ZIP bs=1 count=4 skip=0x8290

; 將 (rd) 的內(nèi)容寫入 _SRS.ZIP 的剩余空間中
dd if=(rd)+1 of=(fd2)/_SRS.ZIP bs=1 seek=4

; 提示 OEM_SRS.ZIP 準(zhǔn)備完畢
pause --wait=0 OEM_SRS.ZIP is ready.

; 如果選擇的是“用戶自定義菜單”,則(通過菜單0)跳轉(zhuǎn)到 菜單27 直接啟動
; 否則跳轉(zhuǎn)到 菜單12 根據(jù)所選擇的不同系統(tǒng),繼續(xù)處理 EXT1.GZ
write 0x60234 8
checkrange 4 read 0x60068 && write 0x60234 7

; 開始跳轉(zhuǎn)
fallback 0 && kernel

 

; 菜單 [6] 處理 SRS1.ZIP,將 SRS1.ZIP 裝入內(nèi)存 (rd),以便寫入到 _SRS.ZIP 中
title


; 提示信息 Loading /0PE/SRS/SRS1.ZIP...
pause --wait=0 Loading /0PE/SRS/SRS1.ZIP...

fallback 7


; 找初始目錄
write 0x60000 1
dd if=(md) of=(md) bs=1 count=8 skip=0x60130 seek=0x829c && root ()
map --mem=0x8000 /0PE/SRS/SRS1.ZIP (rd) || write 0x60000 0
read 0x60000 && kernel

; 找本地
write 0x60000 1
find --set-root /0PE/SRS/SRS1.ZIP || write 0x60000 0
read 0x60000 && map --mem=0x8000 /0PE/SRS/SRS1.ZIP (rd)
read 0x60000 && kernel

; 找PXE
write 0x60000 1
read 0x60064 && rootnoverify (pd)
map --mem=0x8000 /0PE/SRS/SRS1.ZIP (rd) || write 0x60000 0
read 0x60000 && kernel

; 失敗則(通過菜單0)跳轉(zhuǎn)到菜單12,根據(jù)所選擇的不同系統(tǒng),繼續(xù)處理 EXT1.GZ
pause --wait=0 SRS1.ZIP not found.
write 0x60234 8
fallback 0 && kernel

 

; 菜單 [7] 將 SRS1.ZIP 寫入 _SRS.ZIP,以便 DOS 處理
title
write --offset=400 (hd7,0)/BAT/_ENV.BAT set scsiImg=TRUE\r\n

; (_SRS.ZIP 原本為 3M 全0文件)
cat --length=0 (rd)+1 && dd if=(md) of=(fd2)/_SRS.ZIP bs=1 count=4 skip=0x8290
dd if=(rd)+1 of=(fd2)/_SRS.ZIP bs=1 seek=4
pause --wait=0 SRS1.ZIP is ready.

; (通過菜單0)跳轉(zhuǎn)到 菜單12 根據(jù)所選擇的不同系統(tǒng),繼續(xù)處理 EXT1.GZ
write 0x60234 8
fallback 0 && kernel

 

; 菜單 [8] 處理 SRS2.ZIP,將 SRS2.ZIP 裝入內(nèi)存 (rd),以便寫入到 _SRS.ZIP 中大白菜官網(wǎng)
title
pause --wait=0 Loading /0PE/SRS/SRS2.ZIP...
fallback 9

; 初始目錄有
write 0x60000 1
dd if=(md) of=(md) bs=1 count=8 skip=0x60130 seek=0x829c && root ()
map --mem=0x8000 /0PE/SRS/SRS2.ZIP (rd) || write 0x60000 0
read 0x60000 && kernel

; 找本地
write 0x60000 1
find --set-root /0PE/SRS/SRS2.ZIP || write 0x60000 0
read 0x60000 && map --mem=0x8000 /0PE/SRS/SRS2.ZIP (rd)
read 0x60000 && kernel

; 找PXE
write 0x60000 1
read 0x60064 && rootnoverify (pd)
map --mem=0x8000 /0PE/SRS/SRS2.ZIP (rd) || write 0x60000 0
read 0x60000 && kernel

; 失敗則(通過菜單0)跳轉(zhuǎn)到菜單12,根據(jù)所選擇的不同系統(tǒng),繼續(xù)處理 EXT1.GZ
pause --wait=0 SRS2.ZIP not found.
write 0x60234 8
fallback 0 && kernel

 

; 菜單 [9] 將 SRS2.ZIP 寫入 _SRS.ZIP,以便 DOS 處理
title
write --offset=400 (hd7,0)/BAT/_ENV.BAT set scsiImg=TRUE\r\n

; (_SRS.ZIP 原本為 3M 全0文件)
cat --length=0 (rd)+1 && dd if=(md) of=(fd2)/_SRS.ZIP bs=1 count=4 skip=0x8290
dd if=(rd)+1 of=(fd2)/_SRS.ZIP bs=1 seek=4

; (通過菜單0)跳轉(zhuǎn)到 菜單12 根據(jù)所選擇的不同系統(tǒng),繼續(xù)處理 EXT1.GZ
pause --wait=0 SRS2.ZIP is ready.
write 0x60234 8
fallback 0 && kernel

 

; 菜單 [10] 處理 F6.ZIP,將 F6.ZIP 裝入內(nèi)存 (rd),以便寫入到 _SRS.ZIP 中
title
pause --wait=0 Loading /0PE/SRS/F6.ZIP...
fallback 11

; 初始目錄有
write 0x60000 1
dd if=(md) of=(md) bs=1 count=8 skip=0x60130 seek=0x829c && root ()
map --mem=0x8000 /0PE/SRS/F6.ZIP (rd) || write 0x60000 0
read 0x60000 && kernel

; 找本地
write 0x60000 1
find --set-root /0PE/SRS/F6.ZIP || write 0x60000 0
read 0x60000 && map --mem=0x8000 /0PE/SRS/F6.ZIP (rd)
read 0x60000 && kernel

; 找PXE
write 0x60000 1
read 0x60064 && rootnoverify (pd)
map --mem=0x8000 /0PE/SRS/F6.ZIP (rd) || write 0x60000 0
read 0x60000 && kernel

; 如果選擇的是“用戶自定義菜單”,則(通過菜單0)跳轉(zhuǎn)到 菜單27 直接啟動
; 否則跳轉(zhuǎn)到 菜單12 根據(jù)所選擇的不同系統(tǒng),繼續(xù)處理 EXT1.GZ
pause --wait=0 F6.ZIP not found.
write 0x60234 8
checkrange 4 read 0x60068 && write 0x60234 7
fallback 0 && kernel

 

; 菜單 [11] 將 F6.ZIP 寫入 _SRS.ZIP,以便 DOS 處理
title
write --offset=450 (hd7,0)/BAT/_ENV.BAT set OEMF6=TRUE\r\n

; (_SRS.ZIP 原本為 1.4M 全0文件)
cat --length=0 (rd)+1 && dd if=(md) of=(fd2)/_SRS.ZIP bs=1 count=4 skip=0x8290
dd if=(rd)+1 of=(fd2)/_SRS.ZIP bs=1 seek=4

; 如果選擇的是“用戶自定義菜單”,則(通過菜單0)跳轉(zhuǎn)到 菜單27 直接啟動
; 否則跳轉(zhuǎn)到 菜單12 根據(jù)所選擇的不同系統(tǒng),繼續(xù)處理 EXT1.GZ
pause --wait=0 F6.ZIP is ready.
write 0x60234 8
checkrange 4 read 0x60068 && write 0x60234 7
fallback 0 && kernel

 

; 菜單 [12] 根據(jù)所選擇的不同系統(tǒng)(XP/03),處理不同的 EXT1.GZ
title
write 0x60234 9
read 0x60300 && write 0x60234 10
fallback 0 && kernel

 

; 菜單 [13] 處理 XP 的 EXT1.GZ,將 XP 的 EXT1.GZ 裝入內(nèi)存 (rd),以便快速釋放到虛擬軟盤 (fd3)
title
pause --wait=0 Loading /0PE/XP/EXT1.GZ...

; 不自動解壓 gzip 文件,將 EXT1.GZ 整個裝入內(nèi)存 (rd)
write 0x82A4 1
fallback 14

; 找初始目錄
write 0x60000 1
dd if=(md) of=(md) bs=1 count=8 skip=0x60130 seek=0x829c && root ()
map --mem=0x8000 /0PE/XP/EXT1.GZ (rd) || write 0x60000 0
read 0x60000 && kernel

; 找本地
write 0x60000 1
find --set-root /0PE/XP/EXT1.GZ || write 0x60000 0
read 0x60000 && map --mem=0x8000 /0PE/XP/EXT1.GZ (rd)
read 0x60000 && kernel

; 找PXE
write 0x60000 1
read 0x60064 && rootnoverify (pd)
map --mem=0x8000 /0PE/XP/EXT1.GZ (rd) || write 0x60000 0
read 0x60000 && kernel

; 失敗則將 B.GZ 虛擬為 (fd3),B.GZ 為 3M 空磁盤映像
pause --wait=0 EXT1.GZ not found.
write 0x82A4 0
map --mem (hd7,0)/B.GZ (fd3)
map --hook

; 如果是 PXE 啟動,或 ISO 啟動,則繼續(xù)處理 EXT2.WIM,否則直接啟動
write 0x60234 12
read 0x60064 && write 0x60234 11
read 0x602A0 && write 0x60234 11
fallback 0 && kernel

 

; 菜單 [14] 將 EXT1.GZ 釋放到虛擬軟盤 (fd3)
title
write --offset=300 (hd7,0)/BAT/_ENV.BAT set EXT1=TRUE\r\n
write 0x82A4 0
map --mem (rd)+1 (fd3) && map --hook
pause --wait=0 EXT1.GZ is ready.

; 如果是 PXE 啟動,或 ISO 啟動,則繼續(xù)處理 EXT2.WIM,否則直接啟動
write 0x60234 12
read 0x60064 && write 0x60234 11
read 0x602A0 && write 0x60234 11
fallback 0 && kernel

 

; 菜單 [15] 處理 2003 的 EXT1.GZ,將 2003 的 EXT1.GZ 裝入內(nèi)存 (rd),以便快速釋放到虛擬軟盤 (fd3)
title
pause --wait=0 Loading /0PE/2003/EXT1.GZ...
write 0x82A4 1
fallback 16

; 初始目錄有
write 0x60000 1
dd if=(md) of=(md) bs=1 count=8 skip=0x60130 seek=0x829c && root ()
map --mem=0x8000 /0PE/2003/EXT1.GZ (rd) || write 0x60000 0
read 0x60000 && kernel

; 找本地
write 0x60000 1
find --set-root /0PE/2003/EXT1.GZ || write 0x60000 0
read 0x60000 && map --mem=0x8000 /0PE/2003/EXT1.GZ (rd)
read 0x60000 && kernel

; 找PXE
write 0x60000 1
read 0x60064 && rootnoverify (pd)
map --mem=0x8000 /0PE/2003/EXT1.GZ (rd) || write 0x60000 0
read 0x60000 && kernel

; 失敗則將 B.GZ 虛擬為 (fd3),B.GZ 為 3M 空磁盤映像
pause --wait=0 EXT1.GZ not found.
write 0x82A4 0
map --mem (hd7,0)/B.GZ (fd3)
map --hook

; 如果是 PXE 啟動,或 ISO 啟動,則繼續(xù)處理 EXT2.WIM,否則直接啟動
write 0x60234 14
read 0x60064 && write 0x60234 13
read 0x602A0 && write 0x60234 13
fallback 0 && kernel

 

; 菜單 [16] 將 EXT1.GZ 釋放到虛擬軟盤 (fd3)
title
write --offset=300 (hd7,0)/BAT/_ENV.BAT set EXT1=TRUE\r\n
write 0x82A4 0
map --mem (rd)+1 (fd3) && map --hook

; 如果是 PXE 啟動,或 ISO 啟動,則繼續(xù)處理 EXT2.WIM,否則直接啟動
pause --wait=0 EXT1.GZ is ready.
write 0x60234 14
read 0x60064 && write 0x60234 13
read 0x602A0 && write 0x60234 13
fallback 0 && kernel

 

; 菜單 [17] 處理 XP 的 EXT2.WIM,將 XP 的 EXT2.WIM 裝入內(nèi)存 (rd),以便寫入到 _EXT2.WIM 中
title
pause --wait=0 Loading /0PE/XP/EXT2.WIM...
fallback 18

; 初始目錄有
write 0x60000 1
dd if=(md) of=(md) bs=1 count=8 skip=0x60130 seek=0x829c && root ()
map --mem=0x8000 /0PE/XP/EXT2.WIM (rd) || write 0x60000 0
read 0x60000 && kernel

; 找本地
write 0x60000 1
find --set-root /0PE/XP/EXT2.WIM || write 0x60000 0
read 0x60000 && map --mem=0x8000 /0PE/XP/EXT2.WIM (rd)
read 0x60000 && kernel

; 找PXE
write 0x60000 1
read 0x60064 && rootnoverify (pd)
map --mem=0x8000 /0PE/XP/EXT2.WIM (rd) || write 0x60000 0
read 0x60000 && kernel

; 如果是 PXE 啟動,或 ISO 啟動,則繼續(xù)處理 @0#NET_.WIM,否則直接啟動
pause --wait=0 EXT2.WIM not found.
write 0x60234 16
read 0x60064 && write 0x60234 15
read 0x602A0 && write 0x60234 15
fallback 0 && kernel

 

; 菜單 [18] 將 XP 的 EXT2.WIM 寫入 _EXT2.WIM,以便 DOS 處理
title
cat --length=0 (rd)+1 && dd if=(md) of=(hd7,0)/BUF/_EXT2.WIM bs=1 count=4 skip=0x8290
dd if=(rd)+1 of=(hd7,0)/BUF/_EXT2.WIM bs=1 seek=4
pause --wait=0 EXT2.WIM is ready.
write 0x60234 16
read 0x60064 && write 0x60234 15
read 0x602A0 && write 0x60234 15
fallback 0 && kernel

 

; 菜單 [19] 處理 2003 的 EXT2.WIM,將 2003 的 EXT2.WIM 裝入內(nèi)存 (rd),以便寫入到 _EXT2.WIM 中
title
pause --wait=0 Loading /0PE/2003/EXT2.WIM...
fallback 20

; 初始目錄有
write 0x60000 1
dd if=(md) of=(md) bs=1 count=8 skip=0x60130 seek=0x829c && root ()
map --mem=0x8000 /0PE/2003/EXT2.WIM (rd) || write 0x60000 0
read 0x60000 && kernel

; 找本地
write 0x60000 1
find --set-root /0PE/2003/EXT2.WIM || write 0x60000 0
read 0x60000 && map --mem=0x8000 /0PE/2003/EXT2.WIM (rd)
read 0x60000 && kernel

; 找PXE
write 0x60000 1
read 0x60064 && rootnoverify (pd)
map --mem=0x8000 /0PE/2003/EXT2.WIM (rd) || write 0x60000 0
read 0x60000 && kernel

; 如果是 PXE 啟動,或 ISO 啟動,則繼續(xù)處理 @0#NET_.WIM,否則直接啟動
pause --wait=0 EXT2.WIM not found.
write 0x60234 18
read 0x60064 && write 0x60234 17
read 0x602A0 && write 0x60234 17
fallback 0 && kernel

 

; 菜單 [20] 將 2003 的 EXT2.WIM 寫入 _EXT2.WIM,以便 DOS 處理
title
cat --length=0 (rd)+1 && dd if=(md) of=(hd7,0)/BUF/_EXT2.WIM bs=1 count=4 skip=0x8290
dd if=(rd)+1 of=(hd7,0)/BUF/_EXT2.WIM bs=1 seek=4

; 如果是 PXE 啟動,或 ISO 啟動,則繼續(xù)處理 @0#NET_.WIM,否則直接啟動
pause --wait=0 EXT2.WIM is ready.
write 0x60234 18
read 0x60064 && write 0x60234 17
read 0x602A0 && write 0x60234 17
fallback 0 && kernel

 

; 菜單 [21] 處理 @0#NET_.WIM,將 @0#NET_.WIM 裝入內(nèi)存 (rd),以便寫入到 _NET.WIM 中
title
pause --wait=0 Loading /0PE/AUTORUNS/@0#NET_.WIM...
fallback 22

; 初始目錄有
write 0x60000 1
dd if=(md) of=(md) bs=1 count=8 skip=0x60130 seek=0x829c && root ()
map --mem=0x8000 /0PE/AUTORUNS/@0#NET_.WIM (rd) || write 0x60000 0
read 0x60000 && kernel

; 找本地
write 0x60000 1
find --set-root /0PE/AUTORUNS/@0#NET_.WIM || write 0x60000 0
read 0x60000 && map --mem=0x8000 /0PE/AUTORUNS/@0#NET_.WIM (rd)
read 0x60000 && kernel

; 找PXE
write 0x60000 1
read 0x60064 && rootnoverify (pd)
map --mem=0x8000 /0PE/AUTORUNS/@0#NET_.WIM (rd) || write 0x60000 0
read 0x60000 && kernel

; 如果是 PXE 啟動,則繼續(xù)處理 DEF.CAB,否則直接啟動
pause --wait=0 @0#NET_.WIM not found.
write 0x60234 20
read 0x60064 && write 0x60234 19
fallback 0 && kernel

 

; 菜單 [22] 將 @0#NET_.WIM 寫入 _NET.WIM,以便 DOS 處理
title
cat --length=0 (rd)+1 && dd if=(md) of=(hd7,0)/BUF/_NET.WIM bs=1 count=4 skip=0x8290
dd if=(rd)+1 of=(hd7,0)/BUF/_NET.WIM bs=1 seek=4

; 如果是 PXE 啟動,則繼續(xù)處理 DEF.CAB,否則直接啟動
pause --wait=0 @0#NET_.WIM is ready.
write 0x60234 20
read 0x60064 && write 0x60234 19
fallback 0 && kernel

 

; 菜單 [23] 內(nèi)容和 菜單21 一樣,可共用
title
pause --wait=0 Loading /0PE/AUTORUNS/@0#NET_.WIM...
fallback 24

; 初始目錄有
write 0x60000 1
dd if=(md) of=(md) bs=1 count=8 skip=0x60130 seek=0x829c && root ()
map --mem=0x8000 /0PE/AUTORUNS/@0#NET_.WIM (rd) || write 0x60000 0
read 0x60000 && kernel

; 找本地
write 0x60000 1
find --set-root /0PE/AUTORUNS/@0#NET_.WIM || write 0x60000 0
read 0x60000 && map --mem=0x8000 /0PE/AUTORUNS/@0#NET_.WIM (rd)
read 0x60000 && kernel

; 找PXE
write 0x60000 1
read 0x60064 && rootnoverify (pd)
map --mem=0x8000 /0PE/AUTORUNS/@0#NET_.WIM (rd) || write 0x60000 0
read 0x60000 && kernel
pause --wait=0 @0#NET_.WIM not found.
write 0x60234 22
read 0x60064 && write 0x60234 21
fallback 0 && kernel

 

; 菜單 [24] 內(nèi)容和 菜單22 一樣,可共用
title
cat --length=0 (rd)+1 && dd if=(md) of=(hd7,0)/BUF/_NET.WIM bs=1 count=4 skip=0x8290
dd if=(rd)+1 of=(hd7,0)/BUF/_NET.WIM bs=1 seek=4
pause --wait=0 @0#NET_.WIM is ready.
write 0x60234 22
read 0x60064 && write 0x60234 21
fallback 0 && kernel

 

; 菜單 [25] 處理 DEF.CAB,將 DEF.CAB 裝入內(nèi)存 (rd),以便寫入到 _DEF.CAB 中
title
pause --wait=0 Loading /0PE/NET/*...
fallback 26

; 初始目錄有
write 0x60000 1
dd if=(md) of=(md) bs=1 count=8 skip=0x60130 seek=0x829c && root ()
map --mem=0x8000 /0PE/NET/DEF.CAB (rd) || write 0x60000 0
read 0x60000 && kernel

; 找本地
write 0x60000 1
find --set-root /0PE/NET/DEF.CAB || write 0x60000 0
read 0x60000 && map --mem=0x8000 /0PE/NET/DEF.CAB (rd)
read 0x60000 && kernel

; 找PXE
write 0x60000 1
read 0x60064 && rootnoverify (pd)
map --mem=0x8000 /0PE/NET/DEF.CAB (rd) || write 0x60000 0
read 0x60000 && kernel

; 失敗則直接啟動
pause --wait=0 DEF.CAB not found.
write 0x60234 23
fallback 0 && kernel

 

; 菜單 [26] Loading /0PE/NET/*...
title
cat --length=0 (rd)+1 && dd if=(md) of=(hd7,0)/BUF/_DEF.CAB bs=1 count=4 skip=0x8290
dd if=(rd)+1 of=(hd7,0)/BUF/_DEF.CAB bs=1 seek=4
pause --wait=0 DEF.CAB is ready.

; 將 NETID.TXT 的內(nèi)容寫入 _NETID.TXT
write 0x60000 1
map --mem=0x8000 /0PE/NET/NETID.TXT (rd) || write 0x60000 0
read 0x60000 && cat --length=0 (rd)+1
read 0x60000 && dd if=(md) of=(hd7,0)/BUF/_NETID.TXT bs=1 count=4 skip=0x8290
read 0x60000 && dd if=(rd)+1 of=(hd7,0)/BUF/_NETID.TXT bs=1 seek=4
read 0x60000 && pause --wait=0 NETID.TXT is ready.
read 0x60000 || pause --wait=0 NETID.TXT not found.

; 將 NETMAP.TXT 的內(nèi)容寫入 _NETMAP.TXT
write 0x60000 1
map --mem=0x8000 /0PE/NET/NETMAP.TXT (rd) || write 0x60000 0
read 0x60000 && cat --length=0 (rd)+1
read 0x60000 && dd if=(md) of=(hd7,0)/BUF/_NETMAP.TXT bs=1 count=4 skip=0x8290
read 0x60000 && dd if=(rd)+1 of=(hd7,0)/BUF/_NETMAP.TXT bs=1 seek=4
read 0x60000 && pause --wait=0 NETMAP.TXT is ready.
read 0x60000 || pause --wait=0 NETMAP.TXT not found.

; 開始啟動
write 0x60234 23
fallback 0 && kernel

 

; 菜單 [27] 啟動
title


; 轉(zhuǎn) (fd2) 為 (fd0)
; 此時 (fd0) 中存放的是 SRS 文件
map --mem (fd2)+1 (fd0)

; 如果選擇了“用戶自定義菜單”,則轉(zhuǎn) (fd3) 為 (fd1)
; 此時 (fd1) 中存放的是 EXT1.GZ 中的內(nèi)容
checkrange 4 read 0x60068 || map --mem (fd3)+1 (fd1)

; 如果未選擇“用戶自定義菜單”,則設(shè)置 (fd1) 為 B.GZ 的內(nèi)容
; 此時 (fd1) 為 3M 大小的空軟盤映像
checkrange 4 read 0x60068 && map --mem (hd7,0)/B.GZ (fd1)

; 卸載 (fd2), (fd3), (0xA0)到(0xff)
map --unmap=2,3,0xA0:0xff
map --rehook


; 調(diào)整硬盤順序,(hd7) 優(yōu)先
errorcheck off
map (hd7) (hd0)
map (hd2) (hd3)
map (hd1) (hd2)
map (hd0) (hd1)
map --hook
errorcheck on


; 進入 DOS 環(huán)境,處理文件
rootnoverify (hd0,0) && chainloader /io.sys
; 開始啟動
; boot

大白菜官網(wǎng)

(責(zé)任編輯:www.ebdh.cn)

大白菜超級U盤啟動盤制作工具

主站蜘蛛池模板: 带压开孔_带压堵漏_带压封堵-菏泽金升管道工程有限公司 | 防水接头-电缆防水接头-金属-电缆密封接头-不锈钢电缆接头 | 全自动不干胶贴标机_套标机-上海今昂贴标机生产厂家 | 超声波乳化机-超声波分散机|仪-超声波萃取仪-超声波均质机-精浩机械|首页 | 厂房出售_厂房仓库出租_写字楼招租_土地出售-中苣招商网-中苣招商网 | 云南外加剂,云南速凝剂,云南外加剂代加工-普洱澜湄新材料科技有限公司 | 货车视频监控,油管家,货车油管家-淄博世纪锐行电子科技 | 减速机电机一体机_带电机减速器一套_德国BOSERL电动机与减速箱生产厂家 | 新型游乐设备,360大摆锤游乐设备「诚信厂家」-山东方鑫游乐设备 新能源汽车电池软连接,铜铝复合膜柔性连接,电力母排-容发智能科技(无锡)有限公司 | 成都顶呱呱信息技术有限公司-贷款_个人贷款_银行贷款在线申请 - 成都贷款公司 | 深圳富泰鑫五金_五金冲压件加工_五金配件加工_精密零件加工厂 | 生鲜配送系统-蔬菜食材配送管理系统-连锁餐饮订货配送软件-挪挪生鲜供应链管理软件 | 柔软云母板-硬质-水位计云母片组件-首页-武汉长丰云母绝缘材料有限公司 | 净水器代理,净水器招商,净水器加盟-FineSky德国法兹全屋净水 | 有机肥设备生产制造厂家,BB掺混肥搅拌机、复合肥设备生产线,有机肥料全部加工设备多少钱,对辊挤压造粒机,有机肥造粒设备 -- 郑州程翔重工机械有限公司 | 智能案卷柜_卷宗柜_钥匙柜_文件流转柜_装备柜_浙江福源智能科技有限公司 | 阿里巴巴诚信通温州、台州、宁波、嘉兴授权渠道商-浙江联欣科技提供阿里会员办理 | 清水混凝土修复_混凝土色差修复剂_混凝土色差调整剂_清水混凝土色差修复_河南天工 | 免费分销系统 — 分销商城系统_分销小程序开发 -【微商来】 | MTK核心板|MTK开发板|MTK模块|4G核心板|4G模块|5G核心板|5G模块|安卓核心板|安卓模块|高通核心板-深圳市新移科技有限公司 | 北京易通慧公司从事北京网站优化,北京网络推广、网站建设一站式服务商-北京网站优化公司 | 上海皓越真空设备有限公司官网-真空炉-真空热压烧结炉-sps放电等离子烧结炉 | 快速卷帘门_硬质快速卷帘门-西朗门业 | 旋振筛|圆形摇摆筛|直线振动筛|滚筒筛|压榨机|河南天众机械设备有限公司 | 翰香原枣子坊加盟费多少钱-正宗枣核糕配方培训利润高飘香 | 绿萝净除甲醛|深圳除甲醛公司|测甲醛怎么收费|培训机构|电影院|办公室|车内|室内除甲醛案例|原理|方法|价格立马咨询 | 复合土工膜厂家|hdpe防渗土工膜|复合防渗土工布|玻璃纤维|双向塑料土工格栅-安徽路建新材料有限公司 | 软瓷_柔性面砖_软瓷砖_柔性石材_MCM软瓷厂家_湖北博悦佳软瓷 | 深圳网站建设-高端企业网站开发-定制网页设计制作公司 | 广州活动策划公司-15+年专业大型公关活动策划执行管理经验-睿阳广告 | 泥浆在线密度计厂家-防爆数字压力表-膜盒-远传压力表厂家-江苏大亚自控设备有限公司 | 复盛空压机配件-空气压缩机-复盛空压机(华北)总代理 | 校园气象站_超声波气象站_农业气象站_雨量监测站_风途科技 | 防水套管_柔性防水套管_刚性防水套管-巩义市润达管道设备制造有限公司 | DDoS安全防护官网-领先的DDoS安全防护服务商 | CCE素质教育博览会 | CCE素博会 | 教育展 | 美育展 | 科教展 | 素质教育展 | 快干水泥|桥梁伸缩缝止水胶|伸缩缝装置生产厂家-广东广航交通科技有限公司 | 上海风淋室_上海风淋室厂家_上海风淋室价格_上海伯淋 | 中医中药治疗血小板减少-石家庄血液病肿瘤门诊部 | 体感VRAR全息沉浸式3D投影多媒体展厅展会游戏互动-万展互动 | 银川美容培训-美睫美甲培训-彩妆纹绣培训-新娘化妆-学化妆-宁夏倍莱妮职业技能培训学校有限公司 临时厕所租赁_玻璃钢厕所租赁_蹲式|坐式厕所出租-北京慧海通 |