NoName Team 電腦資訊討論區

 找回密碼
 我要註冊
搜索
查看: 22023|回復: 46

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

[複製鏈接]
發表於 2012-3-29 12:59:24 | 顯示全部樓層 |閱讀模式
本帖最後由 smallhaung 於 2012-3-30 23:54 編輯

我的硬碟 有分成 c:(主分割  灌有win7系統) d:(邏輯分割) e:(邏輯分割)
在win7開機系統下看c:(hd0,0)
                            d: (hd0,4)
                            e: (hd0,5)
用系統管理器看 c:d: e:  在磁碟0
usb隨身碟是g: 在磁碟1

硬碟 我有用BOOTICE.EXE工具 在主引道記錄 選grub4dos  在 分區引道記錄 選bootmgr
usb隨身碟 我有用BOOTICE.EXE工具 在主引道記錄 選grub4dos  在 分區引道記錄 選grub4dos


以下是我usb根目錄下的 menu.lst選單

checkrange 0x21 read 0x8280 && pxe detect NotExist
color normal=0x1F highlight=0xE1 helptext=0x1D heading=0x0A standard=0x0F border=0x1F
font /unifont.gz
splashimage /BG.lzma
timeout 10
default 0
title         【1】    備份&還原 \n         進入Acronis True Image 進行備份或還原
find --set-root /tureimage.iso
map /tureimage.iso (0xff) || map --mem /tureimage.iso (0xff)
map --hook
chainloader (0xff)
title         【2】 WinPE  \n            進入PE作維護
##find --set-root /FIRADISK.IMG
##map --mem /FIRADISK.IMG (fd0)
find --set-root /Win7PE.iso
map /Win7PE.iso (0xff) || map --mem /Win7PE.iso (0xff)
map --hook
chainloader (0xff)


title         【3】    Windows 7 \n         啟動Windows 7系統
find --set-root /grldr.mbr
chainloader /grldr.mbr

title         【4】    Windows 7 \n         啟動Windows 7系統
find --set-root /bcd
chainloader /grldr.mbr

title         【5】    Windows 7 \n         啟動Windows 7系統
find --set-root /bcd
chainloader /grldr

title         【6】    Windows 7 \n         啟動Windows 7系統
find --set-root --devices=h /grldr || find --set-root --devices=h /bootmgr || find --set-root --devices=h /ntldr || find --set-root --devices=h /Boot/BCD
map () (hd0)
map (hd0) ()
map --rehook
find --set-root --ignore-floppies --ignore-cd /grldr || find --set-root --ignore-floppies --ignore-cd /bootmgr ||  find --set-root --ignore-floppies --ignore-cd /ntldr || find --set-root --ignore-floppies --ignore-cd /Boot/BCD
chainloader /grldr || chainloader /bootmgr || chainloader /ntldr || chainloader /bootmgr

title FIND
commandline

title 重啟
reboot


我的問題是 【3】~【6】 沒有一個能正常作動

我在grub4dos commandline下命令find  只出現(hd0,0)
是不是usb開機沒辦法抓我的硬碟  所以我那些選單都沒法尋找硬碟下的東西



這是我C:\menu.lst 可正常運作的選單

checkrange 0x21 read 0x8280 && pxe detect NotExist
color normal=0x1F highlight=0xE1 helptext=0x1D heading=0x0A standard=0x0F border=0x1F
font /unifont.gz
splashimage /BG.lzma
timeout 5
default 0
title         【1】    Windows 7 \n         啟動Windows 7系統
find --set-root --devices=h /win7.BIN  <--這個是我用bootice備分出來的PBR
                   因為要破win7激活                  
map () (hd0)
map (hd0) ()
map --rehook
chainloader /win7.BIN
title         【2】    備份&還原 \n         進入Acronis True Image 進行備份或還原
map (hd0,5)/bootmenutools/tureimage.iso (0xff) || map --mem (hd0,5)/bootmenutools/tureimage.iso (0xff)
map --hook
chainloader (0xff)
title         【3】    Win7PE \n            進入PE作維護
map (hd0,5)/bootmenutools/Win7PE.iso (0xff) || map --mem (hd0,5)/bootmenutools/Win7PE.iso (0xff)
map --hook
chainloader (0xff)



發表於 2012-3-29 13:41:34 | 顯示全部樓層
本帖最後由 Lancelot 於 2012-3-29 13:56 編輯

grldr 是 GRUB for DOS 的開機檔,chainloader 後面接 grldr 就只會進 GRUB for DOS 選單,(3)~(5)那幾個開機選項都不對。(6) 的話因為你 USB 碟裡就有 grldr,它在 USB 碟找到了 grldr 就會從 USB 碟啟動。

Win7 的啟動程式是 bootmgr,一般正常的情況,下面這樣應該就可以了:
  1. title Windows 7
  2. find --set-root /bootmgr
  3. chainloader /bootmgr
複製代碼
你的系統有改過,如果上面那樣不行,至少你從硬碟啟動是可以的,為什麼不把目前硬碟的 Menu.lst 抄過去?
例如:
  1. title         【1】    Windows 7
  2. find --set-root --devices=h /win7.BIN
複製代碼
發表於 2012-3-29 14:34:55 | 顯示全部樓層
謝謝分享~
發表於 2012-3-29 16:23:19 | 顯示全部樓層
請參考~
title   Windows 7
chainloader (hd0,0)+1
rootnoverify (hd0,0)

title   Windows7
find --set-root /bootmgr
chainloader /bootmgr
 樓主| 發表於 2012-3-29 16:32:34 | 顯示全部樓層
本帖最後由 smallhaung 於 2012-3-29 16:43 編輯
Lancelot 發表於 2012-3-29 13:41
grldr 是 GRUB for DOS 的開機檔,chainloader 後面接 grldr 就只會進 GRUB for DOS 選單,(3)~(5)那幾個開 ...

title 【test】Windows 7
find --set-root /bootmgr
chainloader /bootmgr

以上這個會出現bcd 錯誤
如果把usb G:\bootmgr 刪除
會出現 找不到檔案
所以根本不會去找硬碟



title   test1】    Windows 7
find --set-root --devices=h /win7.BIN
map () (hd0)
map (hd0) ()
map --rehook
chainloader /win7.BIN

以上這個 跑完 cmain()後   會卡住  一片黑


這2樣我自己早就試過 才來發問的
我也有把C:\ 下的grldr grldr.mbr win7.BIN bootmgr  C:\Boot\ 下的BCD
都有複製到 usb G:\ 下  和G:\Boot

不知道是不是我usb製作的過程有何不對
我是先把usb用原廠工具格式化整個usb
然後把所有檔案都複製到G:
然後用BOOTICE.EXE工具 在主引道記錄 選grub4dos  在 分區引道記錄 選grub4dos或選bootmgr都試過
然後就用模擬器和實機測試 都是一樣的錯誤結果

我發現用usb啟動 會出現Try (hd0,0): FAT32  字樣  然後才進入 cmain()
用硬碟啟動擇是 會出現Try (hd0,0): NTFS5  字樣  然後才進入 cmain()

是不是用usb啟動 經過grub4dos出現選單後  根本抓不到硬碟
所以才沒法搜尋硬碟下的東西

 樓主| 發表於 2012-3-29 16:49:03 | 顯示全部樓層
u32227 發表於 2012-3-29 16:23
請參考~
title   Windows 7
chainloader (hd0,0)+1

title   Windows 7
chainloader (hd0,0)+1
rootnoverify (hd0,0)

會出現 Disk error  Press any key to restart


title   Windows7
find --set-root /bootmgr
chainloader /bootmgr

出現bcd的內容錯誤
發表於 2012-3-29 17:11:06 | 顯示全部樓層
本帖最後由 阿達金田一 於 2012-3-29 17:21 編輯

覺的你們好像忽略一個問題
他是用 USB 啟動...
樓主你 USB 開機進 grub4dos 後 只有一個  (hd0,0)
樓主你在 grub4dos 下 ls 一下...看一下
那個 (hd0,0) 是不是你的 usb

usb 啟動時...由其是用 usb-hd 模式
(基本上有的主機板...都是把 usb-hd 其接視為一般 hd)
usb 會變成 "第1顆硬碟" hd0
主要是因為...你要用 usb 開機嘛...所以要嘛變 fd0 要嘛變 hd0

所以後面還在那 chainloader (hd0,0) 之類的...是無意義的 (重覆usb開機嗎)

如果樓主確定你 usb 啟動後...find 不到任何 硬碟 上的檔案 ( 正常硬碟應該被擠到 hd1 了)
恭喜...大概是 grub4dos 不太相容你 主機板 usb-hd 開機模式
(因為你直接用 硬碟 進入 grub4dos ...硬碟是抓的到的...)
又或者
是主機板本身的問題
可能主機板在開機時
只使用 "開機" 那一個硬碟...又或者 只有 hd0 是使用的  (其它的硬碟就被遮蔽掉了)
所以 grub4dos 也就偵測不到啦

另外給樓主的建議
你 win7pe 都用 iso 直接 map 了
usb 中 bootmgr 應該用不到了吧...可以砍了
不然就算 usb開機沒問題...抓的到硬碟...也會跟硬碟的 bootmgr 搞亂
find --set-root /bootmgr 時...可能都先掃到 usb 本身的 bootmgr
另外...如果usb 是直接啟動 win7pe 而不是用 map iiso
那 usb 的 bootmgr 也可以改個檔名或位置...避免和硬碟的 bootmgr 重覆
發表於 2012-3-29 17:29:08 | 顯示全部樓層
先把硬碟和USB交換順序,再開啟hd0


title [1] 從硬碟啟動
map (hd0) (hd1)
map (hd1) (hd0)
map --hook
rootnoverify (hd0)
chainloader +1
 樓主| 發表於 2012-3-29 18:01:06 | 顯示全部樓層
本帖最後由 smallhaung 於 2012-3-29 18:39 編輯
阿達金田一 發表於 2012-3-29 17:11
覺的你們好像忽略一個問題
他是用 USB 啟動...
樓主你 USB 開機進 grub4dos 後 只有一個  (hd0,0)

主機板 ID         06/19/2009-P35-ICH9-6A79OG0HC-00
主機板名稱        Gigabyte GA-P35-DS3P

我在主機板內有一個設定
Hard Disk Boot Priority -->1.USB-HDD0:Jet 8G usb高速碟
                               -->2.SCSI-0: WDC 硬碟
同一頁面另3個設定
First Boot Device       --> CDROM
Second Boot Device  --> USB-HDD
Third Boot Device     --> Hard Disk

我只要把Hard Disk Boot Priority 1和2互換  不管我底下另3個開機怎麼設都沒作用
而且要用usb啟動  他只能設在wdc前面 開機才會去讀usb


我用usb開機 在grub4dos下 ls 看到的檔案內容全都是usb內的沒錯
我也試過從硬碟開機 進到win7後 用模擬器開啟模擬 只能看到(hd0,0) (hd0,4) (hd0,5) 剛好是我的
c: d: e:  一樣看不到usb

我有去抓http://bbs.wuyou.com/viewthread.php?tid=206411&extra=page%3D1 這個來安裝到usb實驗
他第一層選單就有一個從硬碟開機  確實也可以成功(只是他是開機後 是沒激活的那個win7)
我看了他menu.lst內容  他是另外map 一個ntboot.iso 檔案只有328k
但是我UltraISO看內容 用ImDisk Virtual Disk Driver掛載  都是空空沒東西
用IsoBuster觀看  可以看到他有2個開機檔BootIamge.img  LBA27 2K大小和BootCatalog.cat LBA20 2K大小
不知道這個怎麼做出來的?

但是我在自己動手做的usb內 在選單map ntboot.iso 出現的情況和我 直接chainloader /win7.BIN相同
直接卡在 starting cmain() ..............


另外usb中的那些bootmgr 啥的  我是在實驗測試用 看看讀不讀的到檔案用而已 實驗完就會刪除

剛剛試著改menu.lst內容 也改了grldr內置的menu.lst內容
導來掛去的 怎麼跑都是在usb上的檔案作動 根本無法抓到硬碟  果然跟我想的問題一樣
發表於 2012-3-29 18:16:17 | 顯示全部樓層
請問樓主用的 grub4dos 版本是什麼呢?
可否再次貼上你更改後的 menu.lst.

另外, 樓主可否簡單說一下, 你是想用 usb 引導 grub4dos 後, 想作什麼動作呢?
而且建議先處理好用 grub4dos 引導成功 win7pe iso 及 硬盤 bootmgr 後,
才去研究他人的 ntboot.iso 及 bootimage.img 吧!

假設你的 bios 對 grub4dos 不支援,
你如何研究他人的 iso 及 img, 也幫了你的,
一步一步來玩吧.

您需要登錄後才可以回帖 登錄 | 我要註冊

本版積分規則

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

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

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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