davix 发表于 2007-1-21 01:52:03

请教如何修改grub的menu.lst文件的位置

现在都是放在linux分区下/boot/grub/下
请问如何修改它的位置,比如放到sda1的windows分区下

另外,grub是不是只有两部分?
1. 安装在引导区的程序
2. 在硬盘上的配置文件menu.lst

多谢!

loveccy 发表于 2007-1-22 13:29:15

那个 menu.lst 文件的位置是安装 grub 到硬盘最前面时决定的。要想改位置的话,就得重装 grub 。我觉得你倒不如用 grub4dos 呢。

放在 mbr 里边的是 stage1 ,紧接着的扇区里放的是对应 menu.lst 所在分区的 stage1.5 。还有 stage2 跟 menu.lst 放在同一个目录下。想引导其它分区上的内核的话,menu.lst 旁边的那些 stage1.5 也都是有用的。主要功能都在 stage2 里的。你看看那些文件的大小就知道了。

davix 发表于 2007-2-5 03:06:48

多谢指点

但stage1, 1.5, 2 都是什么呢

loveccy 发表于 2007-2-5 10:48:05

开机自检完了 BIOS 把 MBR 里的东西读到内存里边,开始执行那里的程序,是第一个阶段。
MBR 里的程序再从别的地方读进来更复杂的程序,引导一个操作系统,这是第二个阶段。

我的电脑上 /boot/grub 目录下边的文件:
-rw-r--r--1 root root60203 2006-03-05 22:06 debsplash.xpm.gz
-rw-r--r--1 root root   15 2006-03-06 04:04 device.map
-rw-r--r--1 root root   7776 2006-03-06 04:04 e2fs_stage1_5
-rw-r--r--1 root root   7504 2006-03-06 04:04 fat_stage1_5
-rw-r--r--1 root root   8320 2006-03-06 04:04 jfs_stage1_5
-rw-r--r--1 root root   3406 2006-05-20 11:31 menu.lst
-rw-r--r--1 root root   7008 2006-03-06 04:04 minix_stage1_5
-rw-r--r--1 root root   9216 2006-03-06 04:04 reiserfs_stage1_5
-rw-r--r--1 root root    512 2006-03-06 04:04 stage1
-rw-r--r--1 root root 108168 2006-03-06 04:04 stage2
-rw-r--r--1 root root   9288 2006-03-06 04:04 xfs_stage1_5

你看那个 stage1 是 512 个字节大小,安装 grub 时它会被放到 MBR 里边去。而 stage2 有 100 多 k 呢,grub 的功能主要是在这个文件里边呢。

Stage1 想读进来 stage2 时,它得认识 stage2 文件那个分区的文件系统才行啊,这就是 stage1.5 的作用了。安装 grub 时 stage1.5 被放在了 MBR 后边接下来的那十几个扇区里边。

呵呵,大概是这么个意思,不保证完全准确。你可以先想好恢复系统的办法,然后自个儿折腾一下试试啊。比如删掉那个 stage2 文件,再安装一回 grub ,看看会有什么现象发生。
:mrgreen:

潇湘馆主 发表于 2007-2-5 12:07:49

单纯ln倒是可以,但是你必须先加载fat32的驱动,没那么容易哟 :mrgreen:

davix 发表于 2007-2-5 23:20:57

谢谢loveccy,解释得很清楚
等想升级系统时可以试试你说的试验

黛玉版主是说stage1.5不认fat32吧

jozhu 发表于 2007-2-6 07:40:57

这个问题,值得研究一下.
页: [1]
查看完整版本: 请教如何修改grub的menu.lst文件的位置