請選擇 進入手機版 | 繼續訪問電腦版

NoName Team 電腦資訊討論區

 找回密碼
 我要註冊
搜索
123
返回列表 發新帖
樓主: littman

[教學] 如何製作USB隨身碟開機的 NoName XPE

[複製鏈接]
發表於 2016-4-21 18:34:20 | 顯示全部樓層
本帖最後由 阿達金田一 於 2016-4-21 18:39 編輯
danny75224 發表於 2016-4-21 15:23
有試過大大附加的檔案還是無法使用!也有試著把find --set-root /iso/hddreg.iso拿掉但就是找不到,請問iso ...

是拿掉 (hd0,0)
find --set-root /iso/hddreg.iso
map --mem /iso/hddreg.iso (hd32)
map --hook
chainloader (hd32)
boot

find --set-root 就是找到檔案...把該檔所在的裝置位置設為 root
所以 map 時...不指定 (hd0,0) 的話...就會以 root 的裝置位置 ... 為預設
也就是 find --set-root 如果找到的是 (hd0,1)
那 map --mem /iso/hddreg.iso (hd32) ... 等於是 map --mem (hd0,1)/iso/hddreg.iso (hd32)
所以只要 find --set-root 的到...就一定 map 的到...如果有問題...就應該是其它問題

建議是你到 grub4dos 的指令模式下...手動輸入指令測試...看是一個指令有問題(最好是給個圖片)

另外... hddreg.iso 就 2567288 提供的...其實 光碟開機映像...好像只是一個 1.4M 軟碟映像
所以...大可用 UltraISO 去提取 光碟開機映像 ... 然後直接 map 那個 軟碟映像

範例


\grldr
\menu.lst
\grub4dos  ... ( grub4dos 相關檔案 )
\grub4dos\bg.lz  ... 背景圖片
\grub4dos\unifont.lz ... 字型檔
\grub4dos\mapfd0 ... 這是 map ima 到 (fd0) 的 grub4dos !BAT 檔
\grub4dos\mapxff ... 這是 map iso 到 (0xff) 的 grub4dos !BAT 檔
\iso  ... ( 放 hddreg.iso )
\iso\hddreg.iso ... ( 2567288大 提供的那個)
\ima ... ( 放 ima )
\ima\hddreg.ima ... (從 hddreg.iso 中...提取出的 光檔開機映像 ...一個 1.4M軟碟 img )
\ima\SPFDISK.LZ ... ( 自己做的 spfdisk dos img ... 壓成 Lzma )

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?我要註冊

x
發表於 2016-4-21 19:46:13 | 顯示全部樓層
謝謝阿達金田的祥細解說!我後來也有試著拿掉(hd0,0)還是一樣...
目前我的menu.list是這樣
default 1
timeout 30
fallback 5

title (0) MS-DOS
chainloader /io.sys
boot

title (1) MHDD32 4.6
find --set-root /iso/mhdd32ver4.6.iso
map /iso/mhdd32ver4.6.iso (hd32)
map --hook
chainloader (hd32)
boot

title (2) memtest86
find --set-root /iso/memtest86+-5.01.iso
map /iso/memtest86+-5.01.iso (hd32)
map --hook
chainloader (hd32)
boot

title (3) hddreg
find --set-root /iso/hddreg.iso
map /iso/hddreg.iso (hd32)
map --hook
chainloader (hd32)
boot

title (4) Reboot
reboot

title (5) Shutdown
halt


除了memtest可以正常,其它像hddreg、mhdd都不能使用,會出現no such partition...
弱弱的問一下,不知grub4dos指令模式怎進去
發表於 2016-4-21 21:39:45 | 顯示全部樓層
本帖最後由 阿達金田一 於 2016-4-21 21:59 編輯
danny75224 發表於 2016-4-21 19:46
謝謝阿達金田的祥細解說!我後來也有試著拿掉(hd0,0)還是一樣...
目前我的menu.list是這樣
default 1

在 grub4dos 選單時...按 c 就會進 指令模式

另外... 建議你用 map --mem
因為用 --mem 表示用把 iso 載入到 記憶體 ... 用記憶體來 模擬光碟(裝置)
若沒用 --mem 則是直接映像 iso檔 的磁區...但基本上...要為連續磁區儲存...不能有磁碟碎片
不然 map 會失敗...所以大多用 map --mem
也可以用
map /iso/hddreg.iso (hd32) || map --mem /iso/hddreg.iso (hd32)
當前面 map 失敗時...會執行後面的 map --mem

另外你可以試著加上 root 指令

find --set-root /iso/hddreg.iso
map /iso/hddreg.iso (hd32) || map --mem /iso/hddreg.iso (hd32)
map --hook
root (hd32)
chainloader
boot
發表於 2016-4-22 14:39:47 | 顯示全部樓層
經過建議之後有加入--mem但似乎還是找不到..會出現filesystem type is iso9660, using whole disk,但我明明有加上(hd32)了!不知問題到底出在哪?

後來也有進入指令模式試!會在第二行map --mem /iso/hddreg.iso (hd32)出錯,會出現unrecognized device string,or you omitted the required DEVICE part which should lead the filename...

發表於 2016-4-22 18:37:17 | 顯示全部樓層
本帖最後由 阿達金田一 於 2016-4-22 18:44 編輯

filesystem type is iso9660, using whole disk
iso9660 是光碟格式 ...
這應該是 root (hd32) 指令的回應...
而這回應表示 root (hd32) 是成功的
而 (hd32) 也的確 map 成功...不然就不是 iso9660
所以不排除...你 hddreg.iso 有問題...又或者是你 grub4dos 的問題
我前們有提供現成的 範例 可以下載...你沒下載嗎...
個人建議...你不熟的話...先用 vbox 或 vmware 之類虛擬PC ... 來測試你自己搞的 grub4dos 開機
沒問題...在搞到 usb 上

你用的grub4dos 是那一版的...usb 開機是怎麼做的
假定 /iso/hddreg.iso 在 (hd0,0)
以下是 grub4dos 正常 0.46a 2016-03-04 版 指令模式下的應該有的情況 (訊息上會因實際情況和環境可能有小差異)
grub> find --set-root /iso/hddreg.iso
(hd0,0)
grub> map --mem /iso/hddreg.iso (hd32)
grub> map --hook
grub> root (hd32)
Filesystem type is iso9660_Joliet, using whole disk
grub>chainloader

Load segment: 0x7C0      System Type: 0x0     Sector Count: 0x1
Load RBA: 0x1B  Boot Type:2 = 1.44M floppy
grub>boot

另外
unrecognized device string,or you omitted the required DEVICE part which should lead the filename...
這應該是你指令下錯了...例如...下成
map --mem iso/hddreg.iso (hd32)
這指令是錯誤的...  iso 前應該要有 /
map --mem /iso/hddreg.iso (hd32)

grub4dos 指令不同於 CMD ... 也許有些地方可能相似(這也只是以大多數人習慣)...但還是不一樣
例如...有些情況下...大小寫 不同都會照成 指令執行 上的差異或錯誤 (不過這主要是用在 光碟 時...因為光碟格式的問題才比較容易發生)
grub 指令...有些可以省略 (裝置位置) ... 這時會以 root 所設定的裝置為主
例如 root 是 (hd0,0) 時
map --mem (hd0,0)/iso/hddreg.iso (hd32)

map --mem /iso/hddreg.iso (hd32)
沒什麼不同... (hd0,0) 可以省略...但 /iso/hddreg.iso 還是造打... / 不可省略

通常習慣用 find --set-root  來找到檔順便設定 root
您需要登錄後才可以回帖 登錄 | 我要註冊

本版積分規則

小黑屋|手機版|NoName Team 電腦資訊討論區 |網站地圖

GMT+8, 2024-3-29 17:59 , Processed in 0.189062 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表