日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Grub4dos 硬盘引导 iso 文件

發(fā)布時間:2023/12/16 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Grub4dos 硬盘引导 iso 文件 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、第一次成功
  網(wǎng)上有成功地用grub4dos引導(dǎo)iso文件的案例,我試圖引導(dǎo)winpe的iso文件卻一直未能成功。
在虛擬機xp上安裝了廢客dos工具箱,從安裝目錄中提取出isogrub.iso文件,放到任意盤的根目錄下,在menu.lst文件寫入如下命令:

============================
title find and boot isogrub.iso
fallback 1
find --set-root /isogrub.iso
map /isogrub.iso (0xff) || map --mem /isogrub.iso (0xff)
map --hook
chainloader (0xff)
savedefault --wait=2
============================
重啟電腦,用grub4dos居然成功引導(dǎo)。并且成功地啟動了里面的winpe。于是進真實機上試驗,在進入桌面的時候藍屏。看來原因在于,這個winpe與我的硬件不兼容。
不過畢竟用grub4dos成功引導(dǎo)了iso文件,這一實事表明了這種方式的可行性。

?

二、既然直接引導(dǎo)下載的winpe的iso文件不成功,原因應(yīng)該是這些iso文件本身不適合于用grub4dos引導(dǎo)。抱著試試看的心態(tài),用grub4dos來引導(dǎo)自帶winpe的ghost系統(tǒng)光盤的iso文件。menu.lst中寫入的命令是:

==============================
title find and boot winxp.ISO
fallback 1
find --set-root /winxp.iso
map /winxp.iso (0xff) || map --mem /winxp.iso (0xff)
map --hook
chainloader (0xff)
savedefault --wait=2
===============================
居然一次就獲得了成功。
用ghostxp電腦公司版的獲得了成功,用雨林木風(fēng)版的同樣的獲得了成功。
并且,這個iso文件并不一定要放在windows分區(qū),放在linux分區(qū)下同樣的獲得了成功。我的linux分區(qū)是ext4文件系統(tǒng)。

?

三、意外地成功直接引導(dǎo)啟動了win7安裝光盤的iso文件。
在menu.lst中寫了兩段引導(dǎo)菜單:

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

title find and boot winxp.ISO
fallback 1
find --set-root /winxp.iso
map /winxp.iso (0xff) || map --mem /winxp.iso (0xff)
map --hook
chainloader (0xff)
savedefault --wait=2


ttitle installwin7
find --set-root /7600.16385.090713-1255_x86fre_client_zh-cn_Retail_Ultimate-GRMCULFRER_CN_DVD.iso
map /7600.16385.090713-1255_x86fre_client_zh-cn_Retail_Ultimate-GRMCULFRER_CN_DVD.iso (0xff) || map --mem /7600.16385.090713-1255_x86fre_client_zh-cn_Retail_Ultimate-GRMCULFRER_CN_DVD.iso (0xff)
map --hook
chainloader (0xff)
savedefault --wait=2

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

第一段是可以直接引導(dǎo)一個xp的ghost光盤鏡象的。
后面這一段意在引導(dǎo)win7的安裝光盤鏡象,只是誤把title寫成了ttitle,這樣后面的一段與前面的一段就混在了一起了。在啟動菜單中點擊find and boot winpe.ISO,啟動的居然不是那個ghost光盤,而是直接啟動了win7的光盤鏡象。我把這個錯誤改正過來,點擊installwin7的時候,居然報錯。啟動不了。暈!看來是誤打誤撞解決了一個多少高人未能解決的難題。
不要以為這樣就可以安裝win7了,這樣啟動的win7光盤,其實只是啟動了win7安裝光盤所自帶的winpe系統(tǒng)而已。也無法進入這個安裝光盤中的sources文件夾,因而仍然無法直接從iso文件中啟動安裝程序。需要先把win7光盤解壓后,然后再在這個winpe下,運行sources下的setup.exe程序。

另外,通過引導(dǎo)iso文件啟動的winpe,一般也不能加載外置程序(這主要是一些winpe沒有考慮到用這種方式進行啟動),需要先把一些外置程序放在可以訪問的windows分區(qū)里面。

grub4dos引導(dǎo)加載iso是一次性的,因而也不可能直接用它引導(dǎo)winxp和win7的安裝光盤進行系統(tǒng)安裝。前面引導(dǎo)win7安裝光盤的成功,其實也不過是引導(dǎo)加載了win7安裝光盤中自帶的winpe而已。

還需特別說明一點,這種方式要想引導(dǎo)成功,要求文件在硬盤上必須是連續(xù)存放的。

由于這種方式引導(dǎo)啟動的也不過是光盤中自帶的pe而已,并且要求文件是連續(xù)存放的,所以這樣的一種引導(dǎo)并沒有實際意義。網(wǎng)上有現(xiàn)成的win7pe的iso文件下載。可以下載來直接引導(dǎo)。另外可以自己制作,用Ultraiso打開win7光盤鏡象,只保留bootmgr文件,boot文件夾以及里面的所有文件。保留sources文件夾以及里面的boot.wim文件。其余的全部刪除掉。另存為標(biāo)準(zhǔn)iso文件即可。


四、引導(dǎo)安裝ubuntu9.10,把下載的映象文件放在任意盤的根目錄上,在menu.lst中寫入如下命令:

title Install ubuntu
find --set-root /ubuntu-9.10-desktop-amd64.iso
map??? /ubuntu-9.10-desktop-amd64.iso (hd32)
map --hook
kernel (hd32)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-9.10-desktop-amd64.iso
initrd (hd32)/casper/initrd.lz
boot

不過,這里有一個要點,我這里所用的寫法是
map??? /ubuntu-9.10-desktop-amd64.iso (hd32)
這種寫法要求文件在硬盤上是連續(xù)存放的。
采用下面的寫法:
map --mem??? /ubuntu-9.10-desktop-amd64.iso (hd32)
這種寫法并不要求文件在硬盤上是連續(xù)存放著的,它是把整個的文件讀入內(nèi)存了。這個文件不過700m左右而已,我的內(nèi)存是1.5G,正常來說,應(yīng)該能夠成功的。但我的實踐卻是失敗的。這有兩種可能,一種是內(nèi)存還不夠大。另一種是,并不是因為內(nèi)存的原因。而是因為這種辦法引導(dǎo)啟動后,由于不能繼續(xù)讀取文件。所以安裝程序不能繼續(xù)。看來基本上可以確認是第二種原因造成的。

如何知道文件在硬盤上是連續(xù)存放的呢?在grub4dos下輸入命令:
blocklist filename
比如:
blocklist /ubuntu-9.10-desktop-amd64.iso
我的顯示的結(jié)果是:
(hd0,8)640+1414752
這表明只有一個塊,如果后面還跟著逗號,比如:
(hd0,8)640+1414752,1515752+8
這就是兩個塊,不是連續(xù)存放的。
我的試驗表明,只要文件在硬盤上不是連續(xù)存放的,用map而不加--mem參數(shù),是必會失敗的。所以這樣的一種引導(dǎo)安裝ubuntu的辦法并不好。


五、未能成功的可能原因。
網(wǎng)上找到的資料是這樣說的:

=============================
倘若引導(dǎo)不成功,通常可能的原因有:

(1)光盤鏡像的CD-ROM文件系統(tǒng)是Joliet CD格式,GRUB4DOS不支持這種格式。你需要通過工具轉(zhuǎn)換一下鏡像文件的文件系統(tǒng)格式。
(2)BIOS中激活了SATA的AHCI模式。GRUB4DOS可能無法兼容AHCI模式,應(yīng)在BIOS中將SATA模式設(shè)置為IDE。
==============================

后來的試驗表明了,我把一個不能成功引導(dǎo)的winpe的iso文件,用UltraISO工具轉(zhuǎn)為標(biāo)準(zhǔn)的iso文件,果然成功得以引導(dǎo)。
最新的grub4dos已經(jīng)能夠兼容AHCI模式了,這在我的機器上得到了證明。所以如果iso文件不能成功引導(dǎo),問題基本上出在這個iso文件的文件系統(tǒng)格式不為grub4dos支持,用UltraISO把它轉(zhuǎn)為標(biāo)準(zhǔn)的iso文件即可吧。


另:把menu.lst中寫入的命令中的0xff換成hd32也能成功引導(dǎo),比如:

title winpeboot.iso
#fallback 1
find --set-root /winpeboot.iso
map --mem /winpeboot.iso (hd32)
map --hook
chainloader (hd32)
savedefault --wait=2

?


最后特別說明一點,由于可以輕松實現(xiàn)用grub4dos引導(dǎo)iso文件的winpe,使得在linux下硬盤引導(dǎo)安裝windows變得毫無障礙。


ps:由于要實現(xiàn)文件在硬盤上是連續(xù)存放的有較大的難度。所以不得不把文件完全地讀入內(nèi)存,這就要求如果內(nèi)存不是很大的話,用來引導(dǎo)的iso文件也不能很大。

轉(zhuǎn)載于:https://www.cnblogs.com/endsock/archive/2012/06/02/2531463.html

總結(jié)

以上是生活随笔為你收集整理的Grub4dos 硬盘引导 iso 文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。