NoName Team 電腦資訊討論區

 找回密碼
 我要註冊
搜索
樓主: smallhaung

[已解決] 從usb啟動 如何在選單上運行 硬碟的c: 的win7系統

[複製鏈接]
發表於 2012-3-30 14:13:55 | 顯示全部樓層
find --set-root /win7/boot.bin  #如果找到  此時root 應該是/win7 對吧?
chainloader /boot.bin  #此時掛載執行 /win7/下的boot.bin  對吧?
rootnoverify /winxp  #此時強設root為 /winxp 對chainloader /boot.bin 應該無影響了吧 也就是此行無意義
我估計官方的說明是不對的, 或已是過時了.
以 virtualbox 下的測試: (grub4dos-4.5.c 2012-02-27)

grub> find --set-root /temp/test.chm
(hd0,0)
grub> root
(hd0,0)

以實測而言, find --set-root 成功後, 所設定的 root 是 device, 並非 path.
即 root 設定 (hd0,0), 而非 (hd0,0)/temp



 樓主| 發表於 2012-3-30 14:18:40 | 顯示全部樓層
nu888 發表於 2012-3-30 12:14
chainloader +1 的 +1, 應是指第一扇區.

chainloader (hd0)+1, 意思應是 第一硬盤的 第一扇區, 即 MBR 所 ...
chainloader (hd0,0)+1, 意思應是 第一硬盤內第一分區的 第一扇區, 即 partition 的 bootsector 所在地方.


說白話一點 bootsector 所在地方
我只有一顆硬碟 分割成 c: d: e:
也就是我C:\bootmgr 對嗎?


我有灌VMware Workstation 8  我也照著我實機情況  掛載2個vhd  1號vhd就是usb碟  2號vhd就是c:\win7
然後去實驗 結果就是出現#17篇的狀況   我2號vhd內硬碟分割沒有像我真實機器那樣 分成 c: d: e:
還有在c:\下沒有放入grldr win7.bin menu.lst
不然執行#17篇的【4】  我猜 應該會跟實機一樣情形  而不是vm跑【4】能成功  但實機卻是錯誤

不過我很好奇  為啥在vm內跑【4】他是直接啟動win7  而用實機跑【4】卻會出現我實機c:\menu.lst的
選單畫面 應該就
rootnoverify (hd0)
chainloader +1
這2個命令和後面的參數的關係 讀取載入的地方不同
發表於 2012-3-30 14:23:28 | 顯示全部樓層
title         【3】Windows 7
chainloader (hd1,0)+1
rootnoverify (hd1,0)

title         【4】Windows 7
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
rootnoverify (hd0)
chainloader +1


title 3 及 title 4, 在 rootnoverify 前的 root 是 (bd), 即 boot device, 視乎用什麼來啟動.
因它兩沒用 find --set-root /path/tagfile 此命令, 所以要用 rootnoverify 或 root 去設定 root device.
如在 chainloader 前使用 find --set-root /path/tagfile, 如果成功找到, 相信是不須再用 rootnoverify 或 root 的.
 樓主| 發表於 2012-3-30 14:27:26 | 顯示全部樓層
本帖最後由 smallhaung 於 2012-3-30 14:32 編輯
spring72435 發表於 2012-3-30 12:09
不好意思,小弟從上面爬文注意到一個小地方
各位大大在測試軟體時,可以不須透實機來測試?
因為小弟在資訊 ...

我目前是用這個 簡易啟動測試器Ⅱ Beta3 (抓這個 簡易啟動測試器Ⅱ_0.15_Beta3.exe)
http://bbs.wuyou.com/viewthread. ... F%B2%E2%CA%D4%C6%F7

或是用vm虛擬機器去跑

簡易啟動測試器Ⅱ_0.15_Beta3.exe用法
執行安裝右鍵掛載一次後  就可以關掉了
再來就是對著你要模擬的硬碟或usb碟所在磁碟槽 按右鍵
出現選單 簡易啟動測試器Ⅱ-Qemu 0.15 按下去   就開始模擬真正實體機器開機的樣子了

發表於 2012-3-30 14:30:18 | 顯示全部樓層
本帖最後由 trptrp 於 2012-3-30 14:36 編輯
smallhaung 發表於 2012-3-30 14:03
小馬我有抓過1次  也是在無憂爬文時看到的  後來忘了丟哪了
他好像是寫入bios內的
而Windows Loader 他是 ...

它不會寫入bios,這是其中一段介紹:「動態模擬BIOS,保護主板安全和系統完整性」
相比之下,個人覺得小馬更強大,因為Windows Loader 好像過不了KB971033
-------------------------------------------------------------------------------------

應該是這兩種寫法:
===============================================
一:
title         【3】Windows 7
rootnoverify (hd1,0)
chainloader +1

二:  
title         【3】Windows 7
chainloader (hd1,0)+1

===============================================
如果rootnoverify 已經指定開機分區位置,那chainloader只要寫+1即可
順序的話照理說應該有,但試過很多次調換順序,也沒發生過問題
如有錯誤請指教
發表於 2012-3-30 14:40:03 | 顯示全部樓層
smallhaung 發表於 2012-3-30 14:27
我目前是用這個 簡易啟動測試器Ⅱ Beta3 (抓這個 簡易啟動測試器Ⅱ_0.15_Beta3.exe)
http://bbs.wuyou.c ...

謝謝大大分享

小弟去試試看
 樓主| 發表於 2012-3-30 14:41:08 | 顯示全部樓層
nu888 發表於 2012-3-30 14:23
title 3 及 title 4, 在 rootnoverify 前的 root 是 (bd), 即 boot device, 視乎用什麼來啟動.
因它兩沒 ...

相繼看了trptrp 阿達金田一 和你的解釋
終於清楚了解了
太感謝了

 樓主| 發表於 2012-3-30 16:32:34 | 顯示全部樓層
trptrp 發表於 2012-3-30 14:30
它不會寫入bios,這是其中一段介紹:「動態模擬BIOS,保護主板安全和系統完整性」
相比之下,個人覺得小馬 ...

它不會寫入bios,這是其中一段介紹:「動態模擬BIOS,保護主板安全和系統完整性」
相比之下,個人覺得小馬更強大,因為Windows Loader 好像過不了KB971033

我用在滄者抓的Windows Loader 2.1.2最新的那版  都沒問題阿
我win7都有上網更新到最新  所有更新都有安裝 都沒事耶
你說的小馬可以貼個在點給我嗎  去抓來以備不時之需 呵呵


一:
title         【3】Windows 7
rootnoverify (hd1,0)
chainloader +1

二:  
title         【3】Windows 7
chainloader (hd1,0)+1


一:我在 簡易啟動器測試 失敗  出現 選擇的磁碟不存在
         在 wm內測試        成功  直接啟動win7
         在 實機上測試       成功  直接啟動win7

二:我在 簡易啟動器測試 失敗  出現 選擇的磁碟不存在
         在 wm內測試        失敗  直接卡住 啥都沒執行 一片黑
         在 實機上測試       失敗  直接卡住 啥都沒執行 一片黑


=============================================

另外我實驗了不同的寫法  (以下均由實機usb開機執行 只有一顆硬碟分成c: d: e:)

title         【3】    啟動Windows 7  
chainloader (hd1,0)     
rootnoverify (hd1,0)

在chainloader (hd1,0)後面本來有+1 可成功執行
也就是去跑c:的PBR
我把+1拿掉 按我的想法以為他會去執行c:\grldr 或C:\bootmgr 結果都不是  會直接失敗出現錯誤

然後改成
title         【7】    啟動Windows 7           
chainloader (hd1,0)/grldr
rootnoverify (hd1,0)

沒錯 可成功執行  照我的想法跑出了硬碟c:\menu.lst的選單畫面
但是按下 原本c:\menu.lst內的 啟動win7選項  卻出現找不到檔案win7.bin

c:\menu.lst內容如下
title         【1】    Windows 7
find --set-root --devices=h /win7.BIN
map () (hd0)
map (hd0) ()
map --rehook
chainloader /win7.BIN

應該是那3行map的關係  等等再來去改c:\menu.lst  把那3行拿掉 應該就沒問題



title         【8】    啟動Windows 7           
chainloader (hd1,0)/win7.bin
rootnoverify (hd1,0)

沒錯 可成功執行  照我的想法跑了硬碟c:\win7.bin  (win7.bin也就是c:的pbr 我用bootice存成win7.bin)
直接啟動win7 效果等同以下【9】

title         【9】Windows 7
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
rootnoverify (hd0)
chainloader +1

以上5行改成
rootnoverify (hd1)
chainloader +1
應該一樣效果  等等再來去試驗
發表於 2012-3-30 16:42:52 | 顯示全部樓層
smallhaung 發表於 2012-3-30 16:32
我用在滄者抓的Windows Loader 2.1.2最新的那版  都沒問題阿
我win7都有上網更新到最新  所有更新都有 ...

小馬到google輸入關鍵字就有了...
貼在這不太好
 樓主| 發表於 2012-3-30 16:50:19 | 顯示全部樓層
另外我實驗了不同的寫法  (以下均由實機usb開機執行 只有一顆硬碟分成c: d: e:)

然後改成
title         【7】    啟動Windows 7           
chainloader (hd1,0)/grldr
rootnoverify (hd1,0)

沒錯 可成功執行  照我的想法跑出了硬碟c:\menu.lst的選單畫面
但是按下 原本c:\menu.lst內的 啟動win7選項  卻出現找不到檔案win7.bin

c:\menu.lst內容如下
title         【1】    Windows 7
find --set-root --devices=h /win7.BIN
map () (hd0)
map (hd0) ()
map --rehook
chainloader /win7.BIN

應該是那3行map的關係  等等再來去改c:\menu.lst  把那3行拿掉 應該就沒問題

果然  那3行是多餘的  拿掉就正確了


title         【9】Windows 7
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
rootnoverify (hd0)
chainloader +1

以上5行改成
title         【10】Windows 7
rootnoverify (hd1)
chainloader +1
應該一樣效果  等等再來去試驗


結果跟我想的不同  他會一直迴圈  也就是他會去執行usb:\grldr
沒經過usb和硬碟互換位置 直接rootnoverify (hd0)改成rootnoverify (hd1) 確沒用
chainloader +1 他的root還是(hd0) 跑usb不是跑硬碟   好奇怪阿??
您需要登錄後才可以回帖 登錄 | 我要註冊

本版積分規則

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

GMT+8, 2025-11-22 13:31 , Processed in 0.419731 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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