硬盤安裝Linux和從Grub命令行啟動Linux
本文講述了硬盤安裝Linux和從Grub命令行啟動Linux的方法,對于想從硬盤安裝Linux和從Grub命令行啟動Linux的讀者能有所幫助。
一 從硬盤安裝Linux系統
本來想講講磁盤分區的原理,不過會顯得冗長,浪費大家的時間,所以我直接給出硬盤安裝(引導)的步驟,如果你想做個明白人,請找幾篇硬盤分區的文章看看吧。另外,我的 C 盤是 FAT32 格式的,如果你的視窗系統 分區不是此格式,例如是 NTFS 格式,我不知道可行不可行,據說目前的內核是支持的。
下面的描述盡可能具體,但你完萬能做些聰明的變通。
1 備份你的重要數據,免得出了問題欲哭無淚。通常你會把 視窗系統 里的某盤分給 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(以便和下文相對應)。注意:我的 C 盤是 FAT32,下面的過程也只針對此格式,至于 NTFS 格式會有什么結果,我沒辦法試驗,你能自己試試。
3 視窗系統 XP 下,打開“我的計算機”,進入 C 盤,點擊“工具->文件夾選項->查看”,取消高級設置里的“隱藏受保護的操作系統文件”項,并且選擇“顯示所有文件和目錄”項。這樣你能看到一些操作系統的文件了。打開 boot.ini 文件,在末尾添加C:\GRLDR="運行 GRUB"存盤,接著拷貝 grub 目錄下的 grldr 文件到 C 盤根目錄下,最后拷貝到 C:\grub\boot 下的整個 grub 目錄到 C:\boot 下(沒有就建一個)。
4 下載發行版的光盤映像文件,如果你想裝 Hiweed-debian,請到ftp://debian.ustc.edu.cn/debian-cd/hiweed-debian/ 目錄里下載一個光盤映像(當前最新版本為“國慶破解版”,即 *0.55_i386.iso),下載的文件放到 C 盤根目錄下,接著下載子目錄 hiweed-hard-disk-install 里的文件,也放到 C 盤根目錄下。如果你想安裝 Red Hat 9.0,你能到ftp://202.38.64.123/ 下載光盤映像,共有三個映像文件,光盤映像同樣放到C盤根目錄下,然后用 Winrar/WinImage 打開第一個映像文件,提取isolinux 子目錄下的 initrd.img 和 vmlinuz 文件到 C 盤根目錄下。如果你想安裝 Fedora Core 2(Red Hat 的后繼版本),你能到ftp://202.38.75.11/ 下載光盤映像,共有四個映像文件,光盤映像還是放到C盤根目錄下,然后用 Winrar/WinImage 打開第一個映像文件,提取isolinux 子目錄下的 initrd.img 和 vmlinuz 文件到 C 盤根目錄下。
說明:如果安裝 Hiweed-debian,請確保 C 盤根目錄下有下列文件
vmlinuz (從 ftp 服務器下載,如上所述)
initrd.gz (從 ftp 服務器下載,如上所述)
hiweed-debian-desktop_0.55_i386.iso
如果安裝 Red Hat 9.0,請確保 C 盤根目錄下有下列文件
shrike-i386-disc1.iso
shrike-i386-disc2.iso
shrike-i386-disc3.iso
vmlinuz (從 shrike-i386-disc1.iso 中提取)
initrd.img(從 shrike-i386-disc1.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 中提取)
initrd.img(從 FC2-i386-disk1.iso 中提取)
5 重啟計算機,會有兩個菜單項讓你選擇,其中一條就是上面添加的“運行 GRUB”,選擇、回車,這樣就開始運行 GRUB 程式了,不管你看到了什么,按字母鍵‘C’。
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
通過如下步驟引導 Red Hat 9.0:
grub>kernel (hd0, 0)/vmlinuz root=/dev/ram ramdisk_size=10000
devfs=mount, dall
grub>initrd (hd0, 0)/initrd.img
grub>boot
通過如下步驟引導 Fedora Core 2:
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 引導成功后你就能安裝系統了,具體的安裝請參考別的文章,這里要說一下,如果安裝的是 Red Hat 9.0 或 Fedora Core 2,安裝程式會問你從什么位置安裝,請選擇從“Hard disk”安裝,然后選擇 /dev/hda1作為映像文件的位置。實際上安裝過程是比較簡單的,對于 Fedora Core 2,如果你的機器是主流設置,安裝的時候你會發現居然是圖像界面,只要你裝過 視窗系統,你會發現其過程如此的熟悉!
#p#二 從GRUB 命令行啟動系統
這里所說的 GRUB 和上文中說的 GRUB for DOS 是不相同的,上文的GRUB 跟磁盤的第一扇區沒有關系,即是說,如果你把上面 C 盤里 grub 目錄刪除,不會影響你的系統啟動。我下面講的 GRUB 卻會把一部分代碼寫到磁盤的第一扇區上,即會寫到主引導紀錄 MBR 中,這是在你裝 Linux時操作的。
1 GRUB 的代碼分兩部分,一部分寫入第一扇區的主引導紀錄 MBR 中,另一部分駐留在磁盤的某一固定位置。
2 GRUB 的工作過程。計算機啟動后,BOIS 先做自檢等工作,然后 BOIS會加載磁盤的第一扇區(512 字節)到內存某處,然后跳轉到該處執行代碼,這段代碼就是上面所說的 GRUB 寫入 MBR 的部分,這段代碼有 GRUB第二部分在磁盤上的位置信息,這段代碼就是根據此信息加載第二部分,第二部分才是 GRUB 的核心,第二部分會讀取 /boot/grub/grub.conf 配置文件,然后根據此設置文件彈出用戶界面,你看到的那些菜單選擇項就是這么來的,當然,你也能按字母鍵‘C’進入命令行方式。
3 如上所說,你的機器上的各操作系統的信息是寫入設置文件 grub.conf的,如果你的設置文件不正確,GRUB 當然未找到你想起動的操作系統了,此時需要你手工啟動。例如你因為在 視窗系統 里格式化某盤(或別的原因),結果重啟機器后 GRUB 漂亮的界面不見了,只留下陌生的提示符“grub>”,別慌,你能用命令來啟動你的操作系統。
從命令行啟動 視窗系統:
grub>root (hd0, 0)
grub>chainloader +1
grub>boot
從命令行啟動 Fedora Core 2(假設裝在 /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 Core 2 類似,不過鍵入命令的時候能使用 TAB 鍵補齊參數,例如,鍵入“initrd”后,使用TAB 鍵補齊后綴,FC2 和 Debian 下的后綴名是不相同的,免得出現諸如“panic: VFS not found ... ”這樣的錯誤。
說明:如果你通過分區軟件調整了分區的大小,鬼知道會有什么結果。我沒試過,從理論上說你玩完了,因為 GRUB 的第一部分中的關于第二部份的地址信息會失效,結果 GRUB 的核心加載不了了!
4 你以后能使用同樣的方法來啟動系統,如果感到不爽,想要菜單,那就修改你的 /boot/grub/grub.conf 文件吧。目前機器已跑起來了,具體過程就上網找別的文章看看,非常容易的。
以上是硬盤安裝Linux和從Grub命令行啟動Linux的方法。
【編輯推薦】