标题: 关于在U盘上安装GRUB的问题!
[打印本页]
作者: newdos11
时间: 2004-6-16 00:00
标题: 关于在U盘上安装GRUB的问题!
我把GRUB安装到U盘的MBR上,用这个U盘启动电脑后,出现了GRUB几个启动菜单.
1:请问如何更改GRUB的默认启动菜单,谁有关这方面的中文资料.
2:GRUB把我的U盘当成hd0,也就是C盘,我怎样才能把我的U盘变成A盘,原来的硬盘变成C盘.
作者: 不点
时间: 2004-6-16 00:00
当 GRUB 被安装到 MBR 时, 其默认菜单不可更改.
默认的菜单是你安装到 MBR 的那一刻所决定的. 一般是 /boot/grub/menu.lst 文件. 要想更改默认菜单, 你可能得用 GRUB 的 install 命令 (遗憾, 我也不会用这个命令). 你可以在 GRUB 命令行之下敲入 help install 来看看用法.
详细讲解的中文文章我也没有见到, 最好是看英文的文章. 在 www.google.com 中搜 grub install setup menu.lst 应当能找到想要的资料.
-----------------
你的 U 盘已经被你的 BIOS 识别为第一个硬盘了, 也就是第 0x80 号硬盘. 如果你想让原来的硬盘变成 0x80, 可以用 grub 的 map 命令:
map (hd0) (hd1)
map (hd1) (hd0)
这两条命令可以交换 (hd0) 和 (hd1)
如果想把硬盘(就是你的 U 盘 hd0)变成软盘, 一般来说这是不合适的, 因为硬盘有分区表, 而软盘没有分区表. 这个差别很大.
[此贴子已经被作者于2004-6-16 下午 04:30:13编辑过]
作者: newdos11
时间: 2004-6-16 00:00
谢谢了,我以前是把U盘格式化成USB-ZIP的,但这样只能在U盘上装一个简单DOS启动盘,
前几天才把U盘格式成USB-HHD形式,虽然这样可以在U盘安装多重启动,但在应用过程中出了很多问题,现在改回USB-ZIP方式算了.
作者: 不点
时间: 2004-6-16 00:00
在软盘上也可以安装多重启动, 也就是说, USB-ZIP 方式也可以安装 GRUB.
作者: newdos11
时间: 2004-6-16 00:00
不会把GRUB安装在USB-ZIP上,但是我下载这里的"超级MS-DOS 7.10启动盘"解压到U盘后
也能实现多重启动,里面装的好像也是GRUB,不过只有1.44MB实在有点小,不知能不能做成
2.88MB的?
作者: 不点
时间: 2004-6-16 00:00
应当完全可以. 你的 BIOS 支持多大的 USB-ZIP, 我们就可以做多大的软盘. 做软盘没有限制, 关键是 BIOS 能否支持大软盘的启动问题.
作者: newdos11
时间: 2004-6-17 00:00
Quote: |
以下是引用不点在2004-6-16 上午 11:12:45的发言:
应当完全可以. 你的 BIOS 支持多大的 USB-ZIP, 我们就可以做多大的软盘. 做软盘没有限制, 关键是 BIOS 能否支持大软盘的启动问题. |
|
谢谢这位朋友的帮助,我已经成功把GRUB安装到U盘,现在我用USB-ZIP方式启动,GRUB终于把我的U盘当作fd0(A盘)了,和软驱启动是一样的,而且容量不再是1.44MB,而是32MB.
作者: alonerdos
时间: 2004-6-17 00:00
简便办法:先把usb做成dos启动,然后执行dos下的grub.exe,用法和linux下的完全一样,到www.linuxeden.com搜一下就能看到。
安装grub可以这样,我是在hd和floppy上做的:root (hd0,x) 或 root (fd0),x代表硬盘分区,然后setup (hd0) 或 setup (fd0),现在grub已经成为启动管理器了,你可以用grub.lst来编写菜单,默认在/boot/grub/menu.lst,dos下后缀名只能3位,所以grub.conf无效,
作者: newdos11
时间: 2004-6-18 00:00
折腾了很久,最后还是要把GRUB的配置文件放在硬盘上,根本上不能放在U盘!
我用的是GRUB FOR DOS,搞了几天才发现她根本上不支持U盘的.
1:我把U盘格式USB-HDD方式,用U盘进入MSDOS,敲入GRUB.EXE后便死机了.
2.同样是USB-HDD,我装上NTLDR和GRUB FOR NTLDR,结果可以进入GRUB的菜单,此时GRUB
完全可以读取我U盘的文件,我还试过把GRUB安装到U盘的MBR,同样可以正常使用,显然GRUB
完全能适别我的U盘,但GRUB FOR DOS就不同了,只要我用USB-HDD方式启动,她就会死机.
3.用USB-ZIP方式时启动时,GRUB FOR DOS不会死机了,但是它完全无法读取U盘上文件.
4.强行把U盘格式为USB-FDD,GRUB FOR DOS找到我U盘的文件,但它只能找到U盘前面1.44MB
的文件,假若这些文件放到U盘后面就找不到.另强行把U盘格式化成USB-FDD方式生成的U盘是有缺陷的,大家千万尝试.
作者: 不点
时间: 2004-6-18 00:00
> 3.用USB-ZIP方式时启动时,GRUB FOR DOS不会死机了,但是它完全无法读取U盘上文件.
GRUB 能够识别磁盘文件的前提有:
1。这个磁盘是 BIOS 认可的磁盘,有 BIOS 号码如 0, 0x80 等。
2。这个磁盘在 BIOS 数据区中有登记。
3。这个磁盘的文件系统不是 NTFS 格式的。
我猜想你可能违反了第 3 条。当然,GRUB 的 BUG 也很多,也可能导致你所说的失败情况。
作者: newdos11
时间: 2004-6-18 00:00
Quote: |
以下是引用不点在2004-6-18 上午 09:00:19的发言:
>3.用USB-ZIP方式时启动时,GRUBFORDOS不会死机了,但是它完全无法读取U盘上文件.
GRUB能够识别磁盘文件的前提有:
1。这个磁盘是BIOS认可的磁盘,有BIOS号码如0,0x80等。
2。这个磁盘在BIOS数据区中有登记。
3。这个磁盘的文件系统不是NTFS格式的。
我猜想你可能违反了第3条。当然,GRUB的BUG也很多,也可能导致你所说的失败情况。
|
|
我的U盘格式明明是USB-ZIP,怎么会是NTFS呢?如果我的U盘是NTFS格式,怎么能引导DOS?
我在DOS提示符下输入: GRUB.EXE --config-file=(fd0)/grub/menu.lst 后,由于它找不到我
U盘上的menu.lst,它会直接进入命令行模式,而我在命令行输入: root (fd0)
后提示是: Filesystem type is fat,useing whole disk
这也证明了我的U盘些时不是NTFS格式.
而且我把U盘的BootSector导出来看过,里面也是写着FAT16的.
难道GRUB不支持FAT16格式?
[此贴子已经被作者于2004-6-18 下午 09:50:21编辑过]
作者: 不点
时间: 2004-6-18 00:00
糟糕,错就错在 using whole disk 这半句。
已经认出 FAT 了,还要用“整盘”模式,这应当是 GRUB 的 BUG 了。你可以向 GNU GRUB 网站提交这个 BUG 的报告。
作者: newdos11
时间: 2004-6-18 00:00
我不会提交报告啊,不但不懂英文,而且几天前才知道有GRUB这个软件!
作者: 不点
时间: 2004-6-18 00:00
你和我一样,我也从来都不提交 BUG 报告的。(也不知道怎么提交)。
作者: newdos11
时间: 2004-6-19 00:00
发现GRUB FOR DOS另一个问题,我用软盘开机然后加载了U盘驱动,GRUB FOR DOS照样会死机.
作者: 不点
时间: 2004-6-20 00:00
很遗憾我没有可引导 USB 的主板。请你用 debug 之类的程序调试,看看出错的地方究竟在哪里?
作者: newdos11
时间: 2004-6-20 00:00
Quote: |
以下是引用不点在2004-6-20 上午 01:56:01的发言:
很遗憾我没有可引导 USB 的主板。请你用 debug 之类的程序调试,看看出错的地方究竟在哪里?
|
|
那时我没有用USB引导系统,而且把所有和USB有关的东西都从电脑上拨了出来,只是在CONFIG.SYS加载了USB驱动而已,没加时GRUB可以正常运行,加上后一运行GRUB.EXE
硬盘灯就会长亮,然后黑屏,死机.
我是用device=DUSE.EXE MEMPOOL=1 XFERSIZE=4加载USB驱动的,看来是GRUB FOR
DOS和DUSE.EXE有冲突.
作者: newdos11
时间: 2004-6-20 00:00
我把bootgrub导入U盘,再修改GRLDR,把里面的"(hd0,0)/boot/grub/menu.lst",改成"(fd0)/
menu.lst",然后把GRLDR,menu.lst复制到U盘根目录下,用这个U盘开机,结果GRUB能读取GRLDR
这个文件,但还是找不到我U盘上的menu.lst,同样是放在U盘根目录,但为什么能读取GRLDR,而不能读取menu.lst?
(注:我可以肯定GRUB是找到GRLDR的,因为当我把这个文件删除后开机时会显示:NO GRLDR)
作者: 不点
时间: 2004-6-20 00:00
谢谢您与 USB 相关的详细的 BUG 报告。与 GNU GRUB 有关的 BUG,我没有计划解决。但是与 grub for dos 相关的,我会尽力解决的。不过在此通报一下,我没有很多时间,最近有很多事务忙不过来。这些 BUG 我会记住,但等到以后有时间再解决。
=============
你刚才所说的,"把bootgrub导入U盘", 你是怎么导入的?你的 U 盘是 FAT12/16/32 格式吗?如果不是 FAT12/16/32 格式,那么这个情况不属于 BUG。
作者: newdos11
时间: 2004-6-21 00:00
我看到你以前一篇旧贴,我是按照你教的方法导入的:
Quote: |
以下是引用不点在2004-3-6 上午 10:09:37的发言:
a. 格式化一张软盘,或者用任何一张现有的已经格式化了的软盘。
b. 将软盘第一扇区读入内存区域1,将 BOOTGRUB 第四扇区读入内存区域2。
c. 将 内存区域1 的 0x02 ---- 0x3d 这 60 个字节复制到 内存区域2 的 0x02 ---- 0x3d。
d. 将更改后的 内存区域2 写入软盘第一扇区。
e. 把 GRLDR 文件复制到软盘根目录。【这一步任何时候做都行,不在乎先后】。 |
|
既然可以读取我U盘上GRLDR,证明你的程序是没问题的,问题关键是GNU GRUB无法找到我U盘上的文件,这应该是GNU GRUB的BUG吧,其实我U盘的格式很简单的啊,绝对是FAT16,可以安装任何识别FAT16的操作系统.
我现在装在U盘是MSDOS710,MINI98和很多有用的软件,才占了15MB左右空间,比1.44MB的启动盘已经好很多了,但毕竟MSDOS710不是完美的,所以才想在U盘装多重启动.
现在我还会用GRUB FOR DOS,虽然要把某些文件复制到硬盘才能用,但我会写自动批,对我来说,GRUB还是很方便和实用的.
我用U盘启动时是不用USB驱程的,这时可以用GRUB,但是用其它方式开机我一般都会加载USB驱动(DUSE是支持即插即用的,非常方便),这样就用不了GRUB实在有点可惜.
[此贴子已经被作者于2004-6-21 上午 01:17:06编辑过]
作者: zenkibobo
时间: 2006-9-20 07:40
我也正在试这个..如何才能把全部文件放到U盘执行呢?????(那个MENU.LST)
作者: terse
时间: 2006-9-21 07:40
我的机器 U盘启动 且U盘格式化成USB-ZIP的 格式成USB-HHD就启动不了是怎么回事?
还有就是我也想在U盘上安装GRUB,很多次了就是不能成功!郁闷!和楼主一样装在U盘是MSDOS710 和自己做的一些文件,楼主能否告知你是怎样装的GRUB呢?装GRUB只是想DIY一下菜单!别的没什么,呵呵!