內容簡介
----------------------------------------------------------------
如何在一個沒有光驅,沒有軟驅的機器上安裝Linux系統?不用我說,
這部分機器都已經安裝了Windows系統。本文的目的就是給出在一個裝有
Windows的機器上,從硬盤安裝Linux系統的辦法(準確地說是系統的引導
過程),使用的工具是Vfloppy(虛擬軟盤)和Grub for Dos,本人已經
對幾個發行版進行了試驗,它們都是流行的版本,例如Hiweed-debian,
Fedora Core2。另外,如果你碰到過格式化Windows里的某盤,結果重啟
后Grub的菜單不見了的情況,你也可以從本文中找到解決辦法
聲明
----------------------------------------------------------------
1 本文檔可以任意轉載、拷貝、剪切復制,甚至不需要注明出處。
2 所述方法已經經過本人試驗,但不做任何擔保。你將承擔使用本文
檔帶來的一切風險,請您自己做好數據備份。
----------------------------------------------------------------
內容簡介
----------------------------------------------------------------
如何在一個沒有光驅,沒有軟驅的機器上安裝Linux系統?不用我說,
這部分機器都已經安裝了Windows系統。本文的目的就是給出在一個裝有
Windows的機器上,從硬盤安裝Linux系統的辦法(準確地說是系統的引導
過程),使用的工具是Vfloppy(虛擬軟盤)和Grub for Dos,本人已經
對幾個發行版進行了試驗,它們都是流行的版本,例如Hiweed-debian,
Fedora Core2。另外,如果你碰到過格式化Windows里的某盤,結果重啟
后Grub的菜單不見了的情況,你也可以從本文中找到解決辦法。
-----------------------------------------------------------------
+========+
| 正文 |
+========+
一 從硬盤安裝Linux系統
-----------------------------------------------------------------
本來想講講磁盤分區的原理,但是會顯得冗長,浪費大家的時間,所
以我直接給出硬盤安裝(引導)的步驟,如果你想做個明白人,請找幾篇
硬盤分區的文章看看吧。另外,我的C盤是FAT32格式的,如果你的Windows
分區不是此格式,例如是NTFS格式,我不知道可行不可行,據說現在的內
核是支持的。
下面的描述盡可能具體,但你完全可以做些聰明的變通。
1 備份你的重要數據,免得出了問題欲哭無淚。通常你會把Windows里
的某盤分給Linux,我的辦法是把數據備份到另一盤,例如有C、D、E、F
四個盤,我想在F盤上裝Linux,我就會把F盤的數據備份到D盤或E盤,當
然我仍然會把最最重要的文件(例如情書)拷貝到移動存儲介質上。
說明:要想改變分區的大小,例如要加大F盤,請使用相應軟件,比如
Partition Manager。使用時請閱讀軟件的幫助文檔。
2 下載Grub for DOS,網址為http://newdos.yginfo.net/grubdos.htm,
可以下載最新的版本,下載后拷貝到C盤,用Winrar解壓到子文件夾,重命
名此文件夾為grub(以便和下文相對應)。
3 下載Vfloppy(虛擬軟盤),自己搜一下吧,免費的。下載后用Winrar
解壓,進入Vfloppy的目錄,點擊VFloppy.exe圖標運行程序,在啟動設置
欄里,點擊“映像文件”條目后的第二個圖標“選擇映像文件的路徑”,
彈出界面后選擇BOOTDISK.img作映像文件(針對C盤為FAT32格式),其他
的為默認值,然后點擊“應用”按鈕……
注意:我的C盤是FAT32,上面的過程也只針對此格式,至于NTFS格式會有
什么結果,我沒辦法試驗,你可以自己試試。
4 下載發行版的光盤映像文件,如果你想裝Hiweed-debian,請到
ftp://debian.ustc.edu.cn/debian-cd/hiweed-debian/目錄里下載一個
光盤映像(當前最新版本為“國慶特別版”,即*0.55_i386.iso),下載
的文件放到C盤根目錄下,接著下載子目錄hiweed-hard-disk-install 里
的文件,也放到C盤根目錄下。如果你想安裝Fedora Core2(RedHat的后
繼版本),你可以到ftp://202.38.75.11/下載光盤映像,共有四個映像
文件,光盤映像同樣放到C盤根目錄下,然后用Winrar打開第一個映像文
件,提取isolinux子目錄下的initrd.img和vmlinuz文件到C盤根目錄下。
說明:如果安裝Hiweed-debian,請確保C盤根目錄下有下列文件
vmlinuz (從ftp服務器下載,如上所述)
initrd.gz (從ftp服務器下載,如上所述)
hiweed-debian-desktop_0.55_i386.iso
如果安裝Fedora Core 2,請確保C盤根目錄下有下列文件
FC2-i386-disc1.iso
FC2-i386-disc2.iso
FC2-i386-disc3.iso
FC2-i386-disc4.iso
vmlinuz (從FC2-i386-disk1.iso中提?。?br /> initrd.img(從FC2-i386-disk1.iso中提?。?/p>
5 重啟計算機,按如下步驟進行:
(1)選擇“由虛擬啟動軟盤啟動”;
(2)進入DOS界面,選擇第二項——無光驅支持;
(3)看到盤符后“A:>”后,鍵入“C:”,進入C盤;
(4)鍵入“cd grub”,進入到目錄grub里;
(5)鍵入“grub”命令運行grub程序;
(6)按‘C’字母鍵進入grub的命令行方式;
(7)見下面第六條。
6 通過如下步驟引導Hiweed-debian:
grub>kernel (hd0, 0)/vmlinuz root=/dev/ram ramdisk_size=10000
devfs=mount,dall
grub>initrd (hd0, 0)/initrd.gz
grub>boot
通過如下步驟引導Fedora Core2:
grub>kernel (hd0, 0)/vmlinuz root=/dev/ram ramdisk_size=10000
devfs=mount,dall
grub>initrd (hd0, 0)/initrd.img
grub>boot
技巧:grub里可以使用TAB鍵補齊命令或參數,例如鍵入
grub>initrd (hd0, 0)/init
然后按TAB鍵,grub會自動將“init”補齊“initrd.gz”或“initrd.img”。
7 引導成功后你就可以安裝系統了,具體的安裝請參考別的文章,這里
要說一下,如果安裝的是Fedora Core2,安裝程序會問你從什么位置安裝,
請選擇從“Hard disk”安裝,然后選擇/dev/hda1作為映像文件的位置。
實際上安裝過程是比較簡單的,對于Fedora Core2,如果你的機器是主流
配置,安裝的時候你會發現居然是圖形界面,只要你裝過Windows,你會
發現其過程如此的熟悉!
-----------------------------------------------------------------
二 從Grub命令行啟動系統
-----------------------------------------------------------------
這里所說的Grub和上文中說的Grub for DOS是不一樣的,上文的Grub
跟磁盤的第一扇區沒有關系,即是說,如果你把上面C盤里grub目錄刪除,
不會影響你的系統啟動。我下面講的Grub卻會把一部分代碼寫到磁盤的第
一扇區上,即會寫到主引導紀錄MBR中。
1 Grub的代碼分兩部分,一部分寫入第一扇區的主引導紀錄MBR中,另
一部分駐留在磁盤的某一固定位置。
2 Grub的工作過程。計算機啟動后,BOIS先做自檢等工作,然后BOIS會
加載磁盤的第一扇區(512字節)到內存某處,然后跳轉到該處執行代碼,
這段代碼就是上面所說的Grub寫入MBR的部分,這段代碼有Grub第二部分
在磁盤上的位置信息,這段代碼就是根據此信息加載第二部分,第二部分
才是Grub的核心,第二部分會讀取/boot/grub/grub.conf配置文件,然后
根據此配置文件彈出用戶界面,你看到的那些菜單選擇項就是這么來的,
當然,你也可以按字母鍵‘C’進入命令行方式。
3 如上所說,你的機器上的各操作系統的信息是寫入配置文件grub.conf
的,如果你的配置文件不正確,grub當然找不到你想起動的操作系統了,
此時需要你手工啟動。例如你因為在Windows里格式化某盤(或別的原因),
結果重啟機器后grub漂亮的界面不見了,只留下陌生的提示符“grub>”,
別慌,你可以用命令來啟動你的操作系統。
從命令行啟動Windows:
grub>root (hd0, 0)
grub>chainloader +1
grub>boot
從命令行啟動Fedora Core2(假設裝在/dev/hda7上):
grub>kernel (hd0, 6)/boot/vmlinuz-2.6.5-1.385.img root=/dev/hda7
grub>initrd (hd0, 6)/boot/initrd-2.6.5-1.385.img
grub>boot
從命令行啟動Debian和啟動Fedora Core2類似。
說明:如果你通過分區軟件調整了分區的大小,鬼知道會有什么結果。
我沒試過,從理論上說你玩完了,因為Grub的第一部分中的關于第二部
份的地址信息會失效,結果Grub的核心加載不了了!
4 你以后可以使用同樣的方法來啟動系統,如果感到不爽,想要菜單,
那就修改你的/boot/grub/grub.conf文件吧?,F在機器已經跑起來了,
具體過程就上網找別的文章看看,很容易的。
-----------------------------------------------------------------
我愣,一不小心寫了這么長,還沒過癮呢。如有什么不妥和錯誤之處,歡
迎拍磚!祝你一切順利!
本文引用通告地址: http://www.donews.net/truefriend/services/trackbacks/138365.aspx
[點擊此處收藏本文] 發表于 2004年10月18日 11:20 PM
redblood 發表于2004-11-16 12:35 AM
偶用同樣的方法,安裝fc2的時候沒問題。但是安裝fc3的時候,在選擇從硬盤安裝并指定正確的目錄后,就出現錯誤!
也就是所謂的藍屏!當然不是死機,畢竟是linux:)
但是,每次安裝都如此?。?!
hanwoody@163.com 發表于2005-01-04 10:17 PM
這段代碼有Grub第二部分
在磁盤上的位置信息,這段代碼就是根據此信息加載第二部分,第二部分才是Grub的核心???
根據什么知道mbr中的代碼包含了"第二部分
在磁盤上的位置信息"?
第二部分在磁盤上的位置信息就是grub應該就是包含menu.lst、和各種文件系統的支持,當我們修改menu.lst時,磁盤的chs尋址或lba尋址肯定變化了,但這時我們并不需要像lilo一樣更新mbr的內容,所以。。。
原文轉自:http://www.anti-gravitydesign.com