LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1416|回复: 24

关于LINUX引导问题,请指教

[复制链接]
发表于 2003-1-21 15:04:36 | 显示全部楼层 |阅读模式
关于LINUX引导问题

我的LINUX装在了第二IDE控制器上的第二硬盘上了,而另一块
硬盘装的WIN98,在第一IDE上的第一主硬盘,LINUX的LILO安装时装在了MBR上,现在机器启动上无法用MBR上的LILO引导,只可用软盘
设置LILO.CONF中的BOOT=/DEV/HDA后,运行LILO -V提示错误如下
root@linux /]# lilo -v
LILO version 21.4-4, Copyright (C) 1992-1998 Werner Almesberger
'lba32' extensions Copyright (C) 1999,2000 John Coffman
Reading boot sector from /dev/hda
Merging with /boot/boot.b
Warning: BIOS drive 0x82 may not be accessible
Warning: BIOS drive 0x82 may not be accessible
Mapping message file /boot/message
Warning: BIOS drive 0x82 may not be accessible
Boot image: /boot/vmlinuz-2.4.18-3smp
Warning: BIOS drive 0x82 may not be accessible
Mapping RAM disk /boot/initrd-2.4.18-3smp.img
Warning: BIOS drive 0x82 may not be accessible
Added Linux.v7.3
Boot other: /dev/hdd1, on /dev/hdd, loader /boot/chain.b
Warning: BIOS drive 0x82 may not be accessible
Added MS.Windows.98 *
/boot/boot.0300 exists - no backup copy made.
Writing boot sector.
且当重新启动机器,在BIOS自检后的界面只出现一大写L字母,即死机
用WIN98引导盘启动用SYS C:命令及FDISK /MBR后即WIN98启动正常
请问如何能让LINUX的LILO在MBR上正确引导?
:另:在WINDOWS下如何能用RAWRITE工具创建引导盘,镜像是什么
是VMLINUZ镜像吗
发表于 2003-1-22 02:45:29 | 显示全部楼层
0X82 means the third  hard  drive, actually you don't have it.
 楼主| 发表于 2003-1-22 08:31:38 | 显示全部楼层

我用FDISK -l 查看过分区表,显示如下,但不知在哪有提示0x82或0x80的位置

多谢仁兄相助
fdisk -l
Disk /dev/hdd: 128 heads, 63 sectors, 781 cylinders
Units = cylinders of 8064 * 512 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/hdd1   *         1        77    310432+   6  FAT16
/dev/hdd2            78       730   2632896   83  Linux
/dev/hdd3           731       781    205632   82  Linux swap

Disk /dev/hda: 128 heads, 63 sectors, 787 cylinders
Units = cylinders of 8064 * 512 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/hda1   *         1       472   1903072+   b  Win95 FAT32
/dev/hda2           473       786   1266048    5  Extended
/dev/hda5           473       701    923296+   b  Win95 FAT32
/dev/hda6           702       786    342688+   6  FAT16
另:/proc/partitions文件内容如下,不知在哪里可以知道0x82或  0x80在哪个硬盘的什么位置
major minor  #blocks  name     rio rmerge rsect ruse wio wmerge wsect wuse running use aveq

  22    64    3151512 hdd 6792 7889 117130 66150 1147 285 11520 123950 0 63730 190100
  22    65     310432 hdd1 6 18 48 100 0 0 0 0 0 100 100
  22    66    2632896 hdd2 6778 7847 116994 65930 1147 285 11520 123950 0 63510 189880
  22    67     205632 hdd3 4 0 32 80 0 0 0 0 0 80 80
   3     0    3173184 hda 89 95 304 440 0 0 0 0 0 440 440
   3     1    1903072 hda1 26 18 68 90 0 0 0 0 0 90 90
   3     2          1 hda2 0 0 0 0 0 0 0 0 0 0 0
   3     5     923296 hda5 17 18 59 130 0 0 0 0 0 130 130
   3     6     342688 hda6 39 18 81 140 0 0 0 0 0 140 140
发表于 2003-1-22 13:52:06 | 显示全部楼层

把你的lilo.conf全文贴出来。

把全文贴出来。好一点。
 楼主| 发表于 2003-1-22 17:06:40 | 显示全部楼层
LILO。conf配置应该没有问题,下面是我的LILO。CONF
prompt
timeout=30
default=MS.Windows.98
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
message=/boot/message
linear

image=/boot/vmlinuz-2.4.18-3smp
        label=Linux.v7.3
        initrd=/boot/initrd-2.4.18-3smp.img
        read-only
        password=mario
        restricted
        root=/dev/hdd2

other=/dev/hdd1
        optional
        label=MS.Windows.98
发表于 2003-1-23 01:01:52 | 显示全部楼层
兄弟,对不起, fdisk -l  是看不到这个的.
由于你的硬盘是装在/dev/hda 和 /dev/hdd  
    /dev/hda   -->> bios means 0X80
    /dev/hdd   -->> bios means  0X83
但  /dev/hdc -->> bios means 0X82 ( you haven't got yet)
更重要的是一般情况下LILO只支持两个硬盘, 如果你的BIOS够好的话, 可能会支持多于2个.
如果你不想开箱的话,试试

       add  " disk =/dev/hdd
                      bios=0X81 "  as global option.
如果不行, 把它放到/dev/hdb上, 或改用grub, 也许就行了.
发表于 2003-1-23 10:00:09 | 显示全部楼层

'other=/dev/hdd1'????

如果你的win98在第一ide的第一主硬盘上的话,那么lilo.conf中好像
应该是“other=/dev/hda1"才对呀。
 楼主| 发表于 2003-1-24 11:30:07 | 显示全部楼层
以下是我改过的LILO。CONF,我的HDD还是原先的连接位置,没有动
prompt
timeout=30
default=MS.Windows.98
disk=/dev/hdd
bios=0x80
boot=/dev/hdd
map=/boot/map
install=/boot/boot.b
message=/boot/message
linear
image=/boot/vmlinuz-2.4.18-3
        label=Linux.v7.3
        initrd=/boot/initrd-2.4.18-3.img
        read-only
       password=mario
       restricted
       root=/dev/hdd2
other=/dev/hda1
        optional
        label=MS.Windows.98
现在用LILO -V加载LILO后没有任何错提示,一切正常,但是启动
计算机后仍然没有LILO的启动菜单,并仍进入WIN98系统,但有一现
象很奇怪,当我在BIOS中将HDA硬盘设为NONE后,重启终于看到了
LILO的启动菜单,可以选择菜单项引导LINUX了,但是选择启动WIN98
后却无法启动WIN98,是找不到启动文件吧,但是启动LINUX后却仍然
可以MOUNT到WIN98的硬盘及分区,重新在BIOS中设置HDA硬盘为可用
启动计算机就看不到LILO的启动菜单了,只能进入WIN98
     请指教啊
发表于 2003-1-24 11:53:46 | 显示全部楼层
你修改后把lilo装在了hdd的mbr中,所以不屏蔽hda的话,bios还是会用hda的启动信息启动。但是由于你把hda屏蔽掉了,lilo启动后想找它也找不到,所以不能引导win98。进入linux之后就不需要bios提供硬盘的信息了,所以可以mount /dev/hda。

我觉得应该用你原先那个lilo.conf,然后按前面srkl的说法修改。

或者用你修改后的lilo.conf,在bios不屏蔽hda,而是选择用hdd启动,这样或许也能解决问题。
 楼主| 发表于 2003-1-24 13:52:13 | 显示全部楼层
我觉得像我的方法修改LILO。CONF,是使LINUX将LILO装在了
/DEV/HDD的MBR上了,而不是将LILO装在了HDA硬盘的MBR上。
另外,你指的是不在BIOS中屏敝HDA,而是在BIOS设置中选择使用
HDD硬盘启吗?是这个意思吗?
另外前面srkl所说修改方法我已经应用了,但它好像与恢复LILO
启动菜单无关,我怎样才能在LILO引导菜单里成功引导两个系统呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表