用windows启动grub
2006-08-23 17:49
197 查看
以前用的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中加入相应的引导指示行即可.
系统安装有: 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中加入相应的引导指示行即可.
相关文章推荐
- windows上的linux直接删除后出现grub的启动画面
- 如何将启动权从Grub交到Windows手中
- [转]如何删除grub恢复windows操作系统的启动
- windows 和 linux双系统改变 grub 的启动顺序
- 删除grub恢复windows操作系统的启动
- Win10+Ubuntu双系统UEFI启动方式下GRUB消失直接进入Windows以及重装时grub-install致命错误解决方法
- 装好ubuntu后找不到windows的grub启动
- grub命令行启动Windows
- Windows和Ubuntu9.04双系统Grub调整启动顺序方法
- 删除Linux后从Grub启动Windows
- 以直接复制文件的方式,安装不依赖MBR的windows(grub启动)
- 双系统删除Linux进入Grub无法启动Windows的解决方案
- Grub 命令行启动Windows全过程
- 修改grub引导的Linux和Windows双系统的启动顺序和删除Linux系统的方法
- ubuntu windows用grub启动问题
- Windows重装导致Ubuntu无法启动,Grub信息丢失的解决方法
- 重装windows后,修复grub(多系统启动)
- 先装windows后装ubuntu,在grub中找不到windows启动的问题
- 双系统重装windows后,修复grub启动
- 删除grub恢复windows操作系统的启动