标题: Grub for DOS 0.20 pre 9 問題
[打印本页]
作者: wslkevin
时间: 2004-9-17 00:00
标题: Grub for DOS 0.20 pre 9 問題
不知道為甚麼Grub for DOS 0.20 pre 9一選就去了command line, GRUB>?
之前是可以有菜單出來的,菜單放在C:\boot\grub, 各位大大可以幫我一下嗎?
謝謝
作者: Climbing
时间: 2004-9-17 00:00
先换个新版本试试吧,这不都现来pre12了嘛
作者: wslkevin
时间: 2004-9-17 00:00
又可以了、thx
作者: wslkevin
时间: 2004-9-19 00:00
我用GRUB for DOS pre 9,
menu.lst 是
title GHOST
map --read-only (hd0,0)/boot/GHOST.IMZ (fd0)
chainloader (hd0,0)/boot/GHOST.IMZ
rootnoverify (fd0)
boot
GHOST.IMZ我用WinImage建的floppy image.
當我開機時,用grunb選 GHOST時顯示
The number of header of clylinder is wrong.
我應該如何做? Thanks.
================
menu.lst 是
# For booting Topologilinux (normal mode)
title Topologilinux (normal mode)
root (hd0,0)
kernel /boot/bzImage
initrd=/boot/initrd.gz
顯示 Inconsistent filesystem structure
那是甚麼問題?
Thank you very much.
[此贴子已经被作者于2004-9-20 0:50:41编辑过]
作者: Climbing
时间: 2004-9-19 00:00
1、用map命令不能使用压缩的软盘映像文件,而winimage的imz文件就是压缩的软盘映像,你可以试试memdisk。2、是不是应该把initrd 后面的=去掉?
作者: wslkevin
时间: 2004-9-19 00:00
謝謝 Climbing,1. 用了Ghost.ima (1.44MB), 問題己經解決。2. 己經去掉 initrd後面的=, 但還是顯示 Inconsistent Filesystem Structure.還有另外一個問題:3. 我從http://debian.tu-bs.de/knoppix/CeBit/下載了KNOPPIX Linux的bootable floppy image (boot.img), 然後分別用以下三種方法去啟動,但都顯示Inconsistent Filesystem Structure. a. title boot.img [Knoppix original 1]
map --read-only (hd0,0)/boot/boot.img (fd0)
root (fd0)
kernel /linux24
initrd /minirt24.gz b. title boot.img [Knoppix original 2]
map --read-only (hd0,0)/boot/boot.img (fd0)
root (fd0)
kernel /boot/bootimg/linux24
initrd /boot/bootimg/minirt24.gz
(註:我把boot.img用WinImage解壓到C:\boot\bootimg) c. title boot.img [Knoppix original 3]
map --read-only (hd0,0)/boot/boot.img (fd0)
chainloader (hd0,0)/boot/boot.img
rootnoverify (fd0)
bootP.S. 我用winimage把boot.img寫到軟盤,該軟盤是可以正常啟動的。各大大可以幫一下嗎?真的謝謝了。
作者: 不点
时间: 2004-9-19 00:00
menu.lst 是
# For booting Topologilinux (normal mode)
title Topologilinux (normal mode)
root (hd0,0)
kernel /boot/bzImage
initrd=/boot/initrd.gz顯示 Inconsistent filesystem struct
--------------------
你单独敲每条命令, 看看究竟是哪一句出现错误的?
如果 root (hd0,0) 出现错误, 说明 (hd0,0) 很危险了, 它混乱到 GRUB 不认识的程度.
如果 kernel 或者 initrd 命令通不过, 说明 bzImage 或者 initrd.gz 文件的读取失败.
========================
3. 估计是你自己弄错了什么, 就像你上面所说"又可以了", 说明是你自己的错觉.
a 和 b 是错误的, 不能成功, c 是正确的, 应当毫无问题.
b 中如果去掉第一个 map 命令行, 并把 root (fd0) 改成 root (hd?,?) 就正确了.
作者: 不点
时间: 2004-9-19 00:00
启动 linux 之后, 磁盘仿真就失效了, 因为 LINUX 不使用 BIOS, 这时候, 如果你的 LINUX 要找软盘,它不会去找 img 文件这个虚拟的 BIOS 软盘, 而是它直接找 软驱. 也就是说, img 文件的内容 linux 是不认的,由此可能引起各种错误.
如果你的属于这类问题, 就不要喊冤了.
作者: wslkevin
时间: 2004-9-19 00:00
启动 linux 之后, 磁盘仿真就失效了, 因为 LINUX 不使用 BIOS, 这时候, 如果你的 LINUX 要找软盘,它不会去找 img 文件这个虚拟的 BIOS 软盘, 而是它直接找 软驱. 也就是说, img 文件的内容 linux 是不认的,由此可能引起各种错误.====================我有用ramf-120.img.bin,它是Linux,menu.lst是title ramf-120.img.bin
map --read-only (hd0,0)/boot/ramf-120.img.bin (fd0)
chainloader (hd0,0)/boot/ramf-120.img.bin
rootnoverify (fd0)
boot是沒有問題的
作者: wslkevin
时间: 2004-9-19 00:00
我說又可以,是因為我在試用不同version的grub, 我發覺要整個c:\boot取代才可以,如果只是replace grldr和grub.exe是有問題的。我是初學者,有問題就會問,我不是故意在喊冤,希望你明白。
作者: 不点
时间: 2004-9-19 00:00
别误会, 我那只是一种说话方式, 决无责怪之意.
关于 ramf 这个盘, 因为它制作得合适, 所以可以用 map 来仿真.
如果一个软盘映象在启动 linux 的过程中 使用 BIOS 来加载软盘上的所有必要的信息, 而在 启动 linux 之后不再使用软盘中的任何信息, 这样的 软盘是可以用 map 来仿真的.
你可以做这样一个试验, 就是, 当 ramf 启动进入 linux 之后, 你再试图访问 /dev/fd0, 你将发现, 你的虚拟软盘无法访问. linux 找不到 ramf 中的文件, 取而代之的是, 它到你的真实软盘驱动器中去找文件.
有些不好的软盘制作方法, 制作出来的软盘映像无法用 map 来仿真: linux 启动之后, 它运行一些程序, 这些程序还要读取软盘, 这样, 这些程序都失败了, 于是, 给你的感觉就好像是 map 失效了.
map 在这种情况下无能为力.
作者: 不点
时间: 2004-9-19 00:00
进一步你自己可以证实这个说法是否正确.
那些不能正常仿真的 linux 软盘映象, 如果你同时有一个完全相同的真实软盘, 那么, 这个启动还是会成功的.
就是说, 单单 img 文件无法正常操作, 但是, 当你的软驱中有这个软盘的时候, img 文件就能够正常启动运行了.
这是一个佐证, 说明 img 中的 linux 在 linux 启动之后执行了某个访问软盘的命令, 如果软盘驱动器中没有软盘, 或者虽然有,但和 该 img 文件不同, 那么就会出现失败; 如果有完全相同的软盘, 则会比较顺利(失败的情况仍然有, 这以前曾碰到过).
作者: wslkevin
时间: 2004-9-19 00:00
不要緊,可能是我太敏感了。我剛試了一下,我用winimage打開boot.img﹐然後save as image file boot.ima,再把item c改成 c. title boot.img [Knoppix original 3]
map --read-only (hd0,0)/boot/boot.ima (fd0)
chainloader (hd0,0)/boot/boot.ima
rootnoverify (fd0)
boot最後能成功啟動。可能是image format的問題。
作者: wslkevin
时间: 2004-9-19 00:00
因為我的notebook沒有軟盤,所以我要用grub去啟動Topologilinux http://topologi-linux.sourceforge.net/.我從Topologilinux的isolinux folder拷了bzImage和initrd.gz到C:\Boot, 然後用
作者: wslkevin
时间: 2004-9-19 00:00
因為我的notebook沒有軟盤,所以我要用grub去啟動Topologilinux http://topologi-linux.sourceforge.net/.
我從Topologilinux的isolinux folder拷了bzImage和initrd.gz到C:\Boot, 然後用
# For booting Topologilinux (normal mode)
title Topologilinux (normal mode)
root (hd0,0)
kernel /boot/bzImage
initrd /boot/initrd.gz
去啟動,結果顯示 Inconsistent filesystem structure
[此贴子已经被作者于2004-9-20 0:47:38编辑过]
作者: 不点
时间: 2004-9-20 00:00
你这个问题挺棘手, 按常规, 这样应当可以了, 但是你的却不行.
怀疑 GRUB 本身有什么错误, 或者是你的文件系统有什么错误.
----------------
当出现菜单时, 你按照屏幕底部的提示按 "c" 键进入命令行, 在命令行逐行敲入
root (hd0,0)
kernel /boot/bzImage
initrd /boot/initrd.gz
boot
这四条命令, 看看究竟是哪一条出现了错误.
作者: wslkevin
时间: 2004-9-20 00:00
Thanks for your reply. File size:
bzImage - 1.2MB
initrd.gz - 3.52MBWill it cause the problem?===========================
I try the following config:
1. # For booting Linux
title Linux
root (hd0,0)
kernel /boot/bzImage root=/dev/hda1/linux4/base.img
initrd /boot/initrd.gz
and
2. # For booting Linux
title Linux
root (hd0,0)
kernel /boot/bzImage root=/dev/hda1/linux4/
initrd /boot/initrd.gz
For both config 1 and 2, I still got the same error message: "Error 17: Inconsistent Fileystem Structure."
Then I tried the config step by step in the GRUB command line, the error message displayed after I entered the "kernel .........." line.
作者: 不点
时间: 2004-9-20 00:00
会不会是这样的? 即, 磁盘有坏块, 导致文件系统失常. 如果 windows 分区工具或者病毒破坏了linux的某些文件系统结构信息,那么也会出现这类错误. 你能用其它方法进入以 (hd0,0) 为根分区的 linux 吗? 如果不能, 则可能该分区有损坏.
作者: 不点
时间: 2004-9-20 00:00
kernel /boot/bzImage root=/dev/hda1
这样才对, 你的两种用法都是错的.
hda1 如果不是 linux 分区, 你这么用也是错的.
你的 hd0,0 是 NTFS 格式的吗?
作者: wslkevin
时间: 2004-9-20 00:00
会不会是这样的? 即, 磁盘有坏块, 导致文件系统失常. 如果 windows 分区工具或者病毒破坏了linux的某些文件系统结构信息,那么也会出现这类错误. 你能用其它方法进入以 (hd0,0) 为根分区的 linux 吗? 如果不能, 则可能该分区有损坏.
===>(hd0,0) 是NTFS
作者: wslkevin
时间: 2004-9-20 00:00
其實,我是想用 TopologiLinux 4.0 (http://topologi-linux.sourceforge.net/), 在Window拷貝完所需files,然後用TopologiLinux CD-ROM啟動到Linux, 再安裝,安裝完後它是C:\tlinux4\base.img和swap.img兩個files。 c:\也就是(hd0,0)是NTFS,如果我用CD-ROM啟動,是可以正常啟動TopologiLinux (CD-Rom是啟動C:\tlinux4\base.img的)。問題是我的notebook是沒有軟盤和CD-Rom的 (我安裝時的cd-rom是跟人借的),所以我一定要用grub來啟動(topologilinux cd-rom有用grub啟動的方法 - 在boot.ini用C:\boot\stage1="TopologiLinux 4"

, 要用grubinstall.exe 或 ntfsinstall.exe 去安裝 stage1和stage2,但是到stage2時出現"blocklist failed" ,所以我唯有用我自己的方法:
- 從cd-rom的D:\isolinux上拷出bzImage和initrd.gz (原裝topologilinux會把這兩個files放到c:\boot)
- 再用
title Linux
root (hd0,0)
kernel /boot/bzImage root=/dev/hda1/linux4/base.img
initrd /boot/initrd.gz
去啟動
- 結果出現 "Inconsistent Filesystem Structure"這就是整個故事,不點,你可以幫我一下?感謝﹗
作者: wslkevin
时间: 2004-9-20 00:00
以下是從Topologilinux 4.0 CD-Rom上拷下來的install.bat (Install GRUB for DOS):
=============================================
echo off
attrib -r -h -s c:\boot\stage1
attrib -r -h -s c:\boot\stage2
c:\boot\flushdrv.exe
c:\boot\ntfsinstall -d (hd0,0) -1 c:/boot/stage1 -2 c:/boot/stage2 -m c:/boot/menu.lst
c:\boot\flushdrv.exe
attrib +r +h +s c:\boot\stage1
attrib +r +h +s c:\boot\stage2
find "Topologilinux 4" C:\boot.ini
if ERRORLEVEL 1 goto install_boot_ini
goto skip_boot_ini
:install_boot_ini
echo "installing in boot.ini"
attrib -r -h -s C:\boot.ini
copy C:\boot.ini C:\boot_ini.bak
echo C:\boot\stage1="Topologilinux 4" >> C:\boot.ini
attrib +r +h +s C:\boot.ini
:skip_boot_ini
=====================================
為甚麼要 "ntfsinstall -d (hd0,0) -1 c:/boot/stage1 -2 c:/boot/stage2 -m c:/boot/menu.lst" 這一行,它會改變stage1和stage2的內容嗎?
當run "c:\boot\ntfsinstall -d (hd0,0) -1 c:/boot/stage1 -2 c:/boot/stage2 -m c:/boot/menu.lst" 這一行時出現"blocklist failed"
[此贴子已经被作者于2004-9-20 23:06:54编辑过]
作者: 不点
时间: 2004-9-21 00:00
没有用过这些工具, 抱歉答复不了. 建议向其开发者询问.
作者: wslkevin
时间: 2004-9-21 00:00
其開發者的support很差, anyway, thanks.
[此贴子已经被作者于2004-9-21 19:59:20编辑过]