以前用的NT Loader來加載LILO啓動Linux, 用得也挺好; 不過看到grub那麼漂亮 界面,就喜新厭舊了,
系統安裝有: Windows xp, Linux Redhat 7.2 C:/ 對應於Linux中 /dev/hda Linux ROOT 爲Linux中 /dev/hda4
硬盤分區情況: /dev/hda1 * 1 261 2096451 6 FAT32 (WINNT xp) /dev/hda2 262 783 4192965 5 Extended /dev/hda3 784 792 72292+ 82 Linux swap /dev/hda4 793 1027 1887637+ 83 Linux (Redhat 7.2) /dev/hda5 262 522 2096451 7 HPFS/NTFS /dev/hda6 523 783 2096451 7 HPFS/NTFS
1. 安裝grub 我用的grub是Redhat7.2帶的grub安裝包: grub-0.90-11.i386.rpm 安裝: rpm -ivh grub-0.90-11.i386.rpm
其他安裝方式也一樣,只要你安裝上grub就行了.RH7.2缺省用的grub, 1,2步驟可以 省了.
2. 建立grub的環境 cp /usr/share/grub/i386-redhat/* /boot/grub
3. 生成grub的配置文件/boot/grub/menu.conf menu.conf的內容如下: ######### beginning of menu.conf #################### default=1 timeout=4 #splashimage=(hd0,3)/boot/grub/splash.xpm.gz # 想要漂亮的啓動畫面,去掉行首"#" title Red Hat Linux (2.4.12) root (hd0,3) kernel /boot/vmlinuz-2.4.12 ro root=/dev/hda4 title Red Hat Linux (2.4.14) root (hd0,3) kernel /boot/vmlinuz-2.4.14 ro root=/dev/hda4 ######### end of menu.conf ####################
系統有兩個內核, 第一爲穩定的內核, 以確保第二個內核(剛編譯的)啓動 失敗時,能引導進系統.另外, 這個menu.conf沒有設password, 安全起見,最 好加上,具體怎麼加,看看手冊了. 注意了, 我的linux在/dev/hda4,所以menu.conf那些分區位置爲(hd0,3), 你的可能不一樣了,不能完全照着"畫瓢"噢! 下面第3步install的中的分區 位置也應該和你的系統一致.
3. 安裝grub至Linux分區boot 將grub的stage1安裝到/dev/hda4的boot扇區(hd0,3). 過程如下:
/sbin/grub (運行grub) grub> install (hd0,3)/boot/grub/stage1 d (hd0,3) (hd0,3)/boot/grub/stage2 p (hd0,3)/boot/grub/menu.conf
(注意,上面"grub>"爲grub的提示符,其後內容寫在一行上.)
4. 取得grub的boot信息 過程如下: dd if=/dev/hda4 of=/grub.lnx bs=512 count=1
這樣得到grub的引導信息,只要用NT Loader來加載它就行了.
5. 將上面得到的grub.lnx弄到Windows的C盤根目錄下 可以先把grub.lnx弄得軟盤上,然後啓動windows,拷貝到C:/; 情況允許也可以直接 在Linux下拷貝到C:了. 我的C盤(即設備/dev/hda1)爲FAT32, 可以直接從Linux下弄 過去了. 如下:
mount -t vfat /dev/hda1 /mnt/c cp /grub.lnx /mnt/c umount /mnt/c
6. 修改NT Loader的boot.ini 在其中加入一行: C:/grub.lnx="Redhat Linux - GRUB" 加入後boot.ini的內容如下:
[boot loader] timeout=5 default=C:/boot.lnx [operating systems] multi(0)disk(0)rdisk(0)partition(1)/PNT40W="Windows xp .00" multi(0)disk(0)rdisk(0)partition(1)/PNT40W="Windows xp .00
[VGA mode]" /basevideo /sos C:/grub.lnx="Redhat Linux - GRUB"
OK. 可以用NT Loader加載Linux了, 其實上面過程基本上和用NT Loader加載LILO 一樣.其基本思想就是用NT Loader來加載LILO或grub的引導區(grub.lnx), 其中的關 鍵就是LILO或grub的引導區的獲取了,我喜歡把它們安裝在Linux的ROOT分區上,然後用 dd取得這個引導分區信息(即分區的第1個扇區), 存爲一個文件,放到windows的C:/下, 在boot.ini中加入相應的引導指示行即可.
|