无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 299673|回复: 1743
打印 上一主题 下一主题

[原创]支持外置硬盘控制器驱动,可任意方式启动的PE[10-01-13稳定版]

  [复制链接]
1#
发表于 2008-2-28 23:38:52 | 显示全部楼层
有新思路,創意才好,只有變才是永恒。你看 911 pebuilder 區,現在已是死氣沉沉了。
只停留於維修救急,很簡單的PE便成了,如果給 dos 加個 10mb較件,也許做的事更多。如果來來去去也只是把甚麼甚麼軟件加到WIM, 哪無憂看來變成軟件下載基地,再也不是討譣區,更談不上任何技術。

[ 本帖最后由 adatsui 于 2008-2-28 11:49 PM 编辑 ]
回复

使用道具 举报

2#
发表于 2008-3-16 23:12:07 | 显示全部楼层
chenall :
大俠, 我想打你這個東東的主意, 實在太有創意及有用了.

可以指點看我怎樣可以利用它嗎 ?
現在的 PE , 我把全部的 SCSI 都砍掉, 是不是可以利用你這個方法, 於有需要加載 SCSI 驅動的機上加載呢 ?

利用GRUB虚拟一个内存盘A:(1.44MB的镜像足够),360KB的也应该够用了(硬盘控制器的驱动不会很大)
map --mem .../scsi.gz (fd0)   (用内存盘的模式加载镜像里面只有启动文件还有几个必要的文件)


這個方式是否 按F6 加載呢 ?  GRUB 創建的 A: 盤, 在哪個階段還被 windows 認得嗎 ??
這個做法, 可以給多點詳細資料嗎 ?


還是有更好的主意 ??
回复

使用道具 举报

3#
发表于 2008-3-18 11:57:43 | 显示全部楼层
有勞大俠了, 待我消化消化, 稍後再找你幫忙.
回复

使用道具 举报

4#
发表于 2008-3-23 21:14:29 | 显示全部楼层
大俠:
"2008-03-21完整的ISO"
無法下載 .... 是刪了嗎 ??
回复

使用道具 举报

5#
发表于 2008-3-23 23:01:29 | 显示全部楼层
pseudo 大俠.
你的零體積 PE 有空動手沒有, 最早期工作是不是可以利用 pe studio 呢, 利用它 on the fly 生成 hive 可以嗎 ?
回复

使用道具 举报

6#
发表于 2008-3-24 00:38:39 | 显示全部楼层
原帖由 pseudo 于 2008-3-23 11:54 PM 发表

目前进展是:以楼主PE为基础简单作了一个(没用pe studio ),ISO含内核和应用共3MB,暂不支持NTFS分区(支持SCSI NTFS的要大一倍)。
想拿到楼主最新21日版后再整理一下,但下载不了,谁下了能提供?


目前的 ISO 是如何的呢 ? 啟動到 DOS , 再生成PE的鏡像, 再  (抄) PE 的文件進去嗎 ? hive 又是如何處理呢 ? 再用 grub 加載哪個剛生成的鏡像嗎 ?

樓主:
不好意思, 騎劫了你的帖.
回复

使用道具 举报

7#
发表于 2008-3-25 00:18:33 | 显示全部楼层
大俠:
請問 micrope.iso 怎樣可以在 PXE 跑 ?
回复

使用道具 举报

8#
发表于 2008-3-25 21:49:13 | 显示全部楼层
原帖由 chenall 于 2008-3-25 01:50 PM 发表


可以启动,但是会找不到外置程序.


要用哪個pxe 客戶端呢 ? 我用 TFTP , 但不能啟動, TFTP 啟動 ISO 哪要是 PE 的 . (strom.0 --> winnt.sif ) , 啟動不了 ISO --> Dos -- grub.

放進  .img 內給 TFTP 成嗎 ? 這個 ISO 的 menu.lst 是不是內置了,  怎樣取出來呢 ?
回复

使用道具 举报

9#
发表于 2008-3-26 01:21:26 | 显示全部楼层
原帖由 chenall 于 2008-3-25 10:12 PM 发表


使用TFTP.
把GRLDR作为启动文件.(从这里下载http://download.gna.org/grub4dos/)

然后启动的菜单文件内容.
title Micrope
map --mem (pd)/MicroPE.iso (0xff)
map --hook
chainloader (0xff)

这 ...


謝謝 . 依你所說設定.  在 2 款機上測試.

dell 620 , 2GB Ram. 成功.  (甚麼選項也不理)

ml370, 512 MB Ram. 
方法1 . 加載 ISO 中途, 重回顯示 menu.lst (default) 並當了.
方法2 , 加載  WINPE.IMG 中途, 重回顯示 menu.lst (default) 並當了.
或許是 compaq 的 bios 不好. 想試 自動偵測 SCSI 要找其它機了.  (唉, 現在的機很多都沒 SCSI)

**  解出 winpe.img 給其它機加載, 會不會失去自動偵 SCSI 的功能呢 ?
回复

使用道具 举报

10#
发表于 2008-3-26 03:42:48 | 显示全部楼层
eSeries 206 以 PXE 方式啟動. 如不任任何選項 , 第二次 gurb 菜單 選唯一的 microPE 沒用, 不啟動.
選其它項, 進入 pe , 但沒有 scsi.

好像是很挑 BIOS 似的. IBM ,  Compaq / HP 的都有點毛病.

哪非品牌機.  組裝機配 29160, 39160 有人試過嗎 ??

[ 本帖最后由 adatsui 于 2008-3-26 03:45 AM 编辑 ]
回复

使用道具 举报

11#
发表于 2008-4-9 07:15:20 | 显示全部楼层
Chenall :
有下列事項請教大俠

在試著你提供的 PE定制.rar , 以下列方式先啟動 oemscsi.img, 再進入自制的 winpe (hd0), 實機pxe及vpc掛iso測試, 到winpe的滾動條後出現了0x7b, 0x6b 等故障, 請問以此種方式啟動 winpe , 有否要特別處理的事項. ??
        title Micro Windows PE With S&R&S driver (WDSYS+SCSI.IMG)
        find --set-root --ignore-floppies /OEMSCSI_.IMG
        map --mem --unsafe-boot (cd)/123_PE.IMG (hd0)
        map ()/OEMSCSI.IMG (fd0)
        map --hook
        chainloader (fd0)/io.sys


在你的 winpe.img 內的 setupldr.bin (156299/156381 byte) 是甚麼版本, 2個的長度也不同, 除調用不同的txtsetup.sif, 還有其它玄機吧? 我用的 w2k3 sp1 的 setupldr.bin (291kb)以 硬盤方式啟動 winpe , 系統目錄是默認的 \minint\, 而你的卻是 \wxpe\ (似乎無論以 ramdisk 或硬盤方式啟動均相同), 請問題怎機做到的呢.
回复

使用道具 举报

12#
发表于 2008-4-9 23:39:50 | 显示全部楼层
感謝大俠.
工作目錄搞定了.

使用無盤天使 卡著了.
提示是 the file wdsys.sys could not be found . 有時是 the file wdsys (沒有 .sys)  could not be found.

123_PE.IMG 當試把你的 winpe.img 內容抄進去. 啟動了.
放回我原來 winpe 的文件便提示找不到 wdsys.sys. (已找到 system32\drivers 目錄)

我的 winpe 已在 txtsetup.sif 加入了
[Scsi.Load] 部分:
wdsys=wdsys,4

這個是 wdsys=wdsys 還是 wdsys=wdsys.sys,4 ? 但二種也試了, 結果是一1樣.

而 這樣也試了, 也是提示找不到 wdsys.sys
#fujianabc
[ScsiClass.Load]段最后加上wdsys = wdsys.sys
[ScsiClass]段最后加上wdsys = "Diskless Angel Driver" (引号里随便填写什么)

有一點疑惑的是.
除了 txtsetup.sif 改動外, reg 有要加入的地方嗎 ?官方說 vista pe 2 要加入.
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\da\ControlSet001\Services\wdsys]
"Type"=dword:00000001
"Start"=dword:00000000
"ErrorControl"=dword:00000001
"DisplayName"="Diskless Angel Driver"
"Group"="SCSI Miniport"
"ImagePath"="system32\\drivers\\wdsys.sys"

[HKEY_LOCAL_MACHINE\da\ControlSet001\Services\wdsys\Parameters]

[HKEY_LOCAL_MACHINE\da\ControlSet001\Services\wdsys\Parameters\PnpInterface]
"5"=dword:00000001

我也試過把這加入在我的 winpe (把 ..\da\controlset001, 改成 ..\controlset001) , 但也結果也是提示找不到文件 .

爬了一堆帖, 似乎在 txtsetup.sif 的改動,不同人有不同做法.
回复

使用道具 举报

13#
发表于 2008-4-11 07:18:49 | 显示全部楼层
Chenall:

己找到我的winpe 安裝不到 wdsys.sys 的原因 . 有些有趣發現.

因我的 winpe 全數 scsi 驅動也去除. 也沒 scsiport.sys . 沒了這個就出現故障.  the file wdsys.sys could not be found
而我也去掉了 volsnap.sys 這令到 即使有 scsiport.sys , 加載了 wdsys.sys (我估計), 但出現 0x7b
回复

使用道具 举报

14#
发表于 2008-4-15 05:53:09 | 显示全部楼层
請問大家
成功地以加上  map ()/SCSI.IMG (fd1) 方式 啟動 winpe 以獲得自動加載  SCSI.IMG (fd1) 內的 scsi 驅動的各位, SCSI.IMG 內的驅動是怎安排, 目錄結構如何呢 ? (不是進入dos , 再抄驅動往 WINPE 所在的  C: 方式)

看 了定制PE.rar 數天, 仍找不到門路.

謝謝 .
回复

使用道具 举报

15#
发表于 2008-4-16 07:23:44 | 显示全部楼层
得到 Chenall 的指點, 謎底解開了. 已成功把           "支持外置硬盘控制器驱动" 套用在自己的 winpe 中了.

同一個 ISO 可以用在 U 盤, PXE, 採用 fd(1) winpe 自動加載.
在 xSeries 206 (2GB ram) 測試, PXE方式成功加載了 Adaptec HostRAID U320.

以 PXE啟動. 啟動後剩 1.7 G. 即是說, 以 pxe 啟動, 最低消費是 壓縮後影像的大小, 此處即是約 50mb. (2.0gb - 240mb winpe大小 - winpe.gz 大小, - 1.44mb oemscsi.img 大小)
* winpe.gz 無法缷, 即使 map (hd32) (hd32), map (0xff) (0xff) . 但很滿意了.

以 USB 啟動, 啟動後剩 1.76 G (另一台機, 也是2GB). 沒甚麼可說的, 一向也是可以的, 反而用了 gzip 不及 cab 壓縮率高, 用多了10mb , 但卻可以衝破 MS 的 ramboot 大小限制 ( .IS_ 過了約 300mb 我啟啟動不了.) 及可以與 TFTP 共用同一ISO文件.  


遺憾的是 PXE 方式, 沒法檢測及選擇只傳需要的驅動. (假設我們把不同 SCSI 做成一個個的 OEMSCSI.IMG), 客機取得啟動 ISO 後, 即使檢測知要哪款驅動, 也沒法(不懂) 再向 TFTP 服務端要求傳送來 map 作 fd(1). 而以不同網段各自 menu.lst 則要各自用一個 ISO 太費勁啦.

U盤等則可以先進入dos檢查, 再 map U 盤上的相應的 OEMSCSI, 從而減小啟動ISO的大小.

哪 xSeries 206 的 BIOS 實在可恨, U盤 只能以 MS 的 Ramboot 式啟動, 以 grub 加載則不能啟動(菜單按執行便定在哪兒). 另一台 226 選了 removeble 啟動, 卻實際上不支持 U 盤啟動. 偏偏SCSI便在這類機上. 記得早前也曾以pxe放式, 先啟動到 DOS 再擇檢測決定加載哪個 OEMSCSI.IMG, 但當第一次以GRUB進入首個 DOS image後, 當初由 PXE 傳來的 ISO. 它竟然完全忘記了, find 任何文件也找不著, 而在dell的桌面機, 卻如所想地啟動了. 也許伺服器是 HP 的會好一些吧.
回复

使用道具 举报

16#
发表于 2008-4-16 21:16:10 | 显示全部楼层

回复 #537 chenall 的帖子

給 U 盤及 TFTP 啟動的 ISO 設定如下.
menu.lst
  [quote]
  default 0
  timeout 10
  clear

  title 123_PE.GZ with auto SCSI (OEMSCSI_.IMG)
  map --mem --unsafe-boot ()/123_PE.GZ (hd0)   ; 硬盤.IMG 格式的 PE, 9xmb 內容, 其餘可寫空間. 壓縮前 240mb, 壓縮後 50bm
  map --mem ()/OEMSCSI_.IMG (fd1)
  errorcheck off
  find --set-root --ignore-floppies /menu.lst
  map --hook
  map (0xff) (0xff)
  map (hd32) (hd32)
  map --rehook
  errorcheck on
  chainloader (hd0,0)/i386/setupldr.bin
  

  123_PE.GZ
  grldr   ;這個做 ISO 的 bootsect , 就如 定製PE.RAR 所示.
  OEMSCSI_.IMG
[/quote]

越想越奇, dell 機該 123_PE.GZ (約 50mb) 進入 PE後沒佔內存. 但 xSeries 卻沒把內存釋放. 稍後再找其它機試試.


DOS下的 TFTP, 很好, 很強大, 又學多一招, 有新現意了. 謝謝.

[ 本帖最后由 adatsui 于 2008-4-16 09:19 PM 编辑 ]
回复

使用道具 举报

17#
发表于 2008-4-16 22:37:17 | 显示全部楼层
是的, 菜單是 ISO 的.

而 ftfp\menu.lst\default 是很簡單的.

title  My PE
map --mem (pd)/ISO/MyPE.ISO (hd32)
map --hook
chainloader (hd32)
boot


我再看看, grub 時的 記億體提示,  該機網卡是集成的. 又或許我試著不把 123_PE.IMG 壓縮, 如果是沒釋放, 哪這樣將會佔著 240 mb , 這較易辨認.


dos 下用 tftp 的2個文件找到了,  dos 下 tftp 像是要 給 伺服器 ip 去 get 文件 , 這個 ip 經 pxe 啟動進入 dos 後, 會記在哪裡嗎 ?

[ 本帖最后由 adatsui 于 2008-4-16 10:43 PM 编辑 ]
回复

使用道具 举报

18#
发表于 2008-4-18 03:54:02 | 显示全部楼层

回复 #535 chenall 的帖子

啟動後 1.76 Gb, 1.70 Gb 內存於兩部機表現不同的情況, 搞了很久也沒法重現. 現在終搞清了.
該是用了不同版本的 grub4dos 的 grldr , 14-03-2008 版本以 map --mem 啟動後多佔了該 ISO 的大小.
而 16-04-2008 的版本, 啟動後沒佔該內存. 所以 2G - 244 mb = 約 1.76 . 而剩 1.70 G的兩者相差約等於該 map --mem ISO 的大小.


至於使用 沒 --mem 的方式, 也試了很久, 沒法建立一個可連續的 ISO 給正常加載.
每個步驟做一次 contig, 做 img 時後 一次, 壓 gzip 後又一次, 建立 ISO 又一次. 也不成.
把存放地方改在 ram drive 處理 (我用  imdisk 建一個 400 mb 來用) 一切在 ram drive 重做一次,
也有contig , 確定 contig 結果是沒有碎塊. 也不成.
幸好我只用 map --mem 的方式載. 這點沒影響.



不同版本 grub4dos 測試的資料.
下列似乎只有啡色字的有出入.


grub4dos   16/Apr
grubrdos .....    640/2045  (tftp 加載 grub4dos)
grubrdos .....    640/2045  (iso 加載  grub4dos)



floppies_orig=1, harddrives_orig=1, floppies_curr=2, harddrives_curr=1
(cd)
filesystem type is iso9660, using whole disk


map --status

floppies_orig=1, harddrives_orig=1, floppies_curr=2, harddrives_curr=1

Number of ATAPI CD-ROMs: 0

ram_driver=0x7F, rd_base_0x0, rd_size=0x0





map --rehook
map --status

flpooies_orgi=1, harddrives_orig=1, floppies_curr=2, harddrives_curr=1

Number of ATAPI CD-ROMs: 0

ram_driver=0x7F, rd_base_0x0, rd_size=0x0


==================================
grub4dos 14/mar

grubrdos .....    640/2045   (tftp 加載 grub4dos)
grubrdos .....    640/1984   (iso 加載 grub4dos)


floppies_orig=1, harddrives_orig=1, floppies_curr=2, harddrives_curr=1
(cd)
filesystem type is iso9660, using whole disk

map --status
floppies_orig=1, harddrives_orig=1, floppies_curr=2, harddrives_curr=1

Number of ATAPI CD-ROMs: 0

ram_driver=0x7F, rd_base_0x0, rd_size=0x0




map --rehook
map --status
flpooies_orgi=1, harddrives_orig=1, floppies_curr=2, harddrives_curr=1

Number of ATAPI CD-ROMs: 0

ram_driver=0x7F, rd_base_0x0, rd_size=0x0

[ 本帖最后由 adatsui 于 2008-4-18 03:55 AM 编辑 ]
回复

使用道具 举报

19#
发表于 2008-4-23 20:19:44 | 显示全部楼层

回复 #564 chenall 的帖子

1.加载ISO不加--mem加载,只要使用硬盘或U盘启动都可以用(要求连续存放).但不可以用于PXE.PXE一定要--mem


謝謝, 害我不停地 contig , 原來是自己不懂用.

2.不知你的那个ISO文件里面都有些什么内容.
如果只是为了启动里面的PE.IMG文件,那可以将那个IMG文件放到服务器上,直接加载,就不需要加载ISO然后再通过ISO再加载了.

就是用 ISO 包著 oem_scsi, winpe.gz 先檢測選擇驅動, 再啟動pe.



***  喔, 新的檢測法, 我是第四個下載......

[ 本帖最后由 adatsui 于 2008-4-23 08:44 PM 编辑 ]
回复

使用道具 举报

20#
发表于 2008-6-29 20:14:59 | 显示全部楼层
已實用一段時間了,  我的PE內核已沒有任一scsi驅動了.
回复

使用道具 举报

21#
发表于 2009-2-20 22:32:41 | 显示全部楼层
看貼圖好像大俠把啟動改為在 startnet.cmd 就 裝網卡, 連接 網絡裡的 share 了吧. 這是我最愛的方式.
回复

使用道具 举报

22#
发表于 2009-4-8 21:56:04 | 显示全部楼层
chenall
甚麼叫跨網段. 是指不同的 gateway 嗎 ?
回复

使用道具 举报

23#
发表于 2009-4-8 23:27:35 | 显示全部楼层
有點明白.....  网关 = gateway 對嗎.
例如  跑 hanwine 的機 IP 如 50.102.120.250, 派了個 50.102.200.xxx 的給 pxe 啟動的機, 算不算跨網段呢. 但 同時也可以 派個 50.102.120.251 給要 pxe 啟動的機, 這變成沒跨網段了  ??

我經常是 給一段我認為沒機器在用的 IP 給 pxe啟動 (我不是網管, 我都是估計著哪些會沒用),  但測試的機物理上是很近自己, 並且插在同一個 switch box . 這樣派送出一個倒數第二段不同的 IP 也算跨網段嗎 ?
回复

使用道具 举报

24#
发表于 2009-4-9 00:44:52 | 显示全部楼层
pseudo, chenall .
謝謝....
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-6-14 21:13

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表