LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: tuishu

【求助】grub无法识别硬盘

[复制链接]
发表于 2007-11-19 19:53:03 | 显示全部楼层
ls /usr/lib/grub/*/*
ls /boot/grub/

如果 /boot/grub/ 目录缺少文件,拷贝一下(完全可以用Livecd中的)。
cp -v /usr/lib/grub /boot/grub/

使用 livecd ,无須 chroot ,用livecd 的 grub 将引导写到 MBR 或 目标系统(Linux ) 的根分区的第一扇区 。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-20 14:04:02 | 显示全部楼层
楼上的,我按照你的方法,grub是成功了,启动系统可以进入grub的启动界面

之后的加载出了问题,说root=/dev/sda2无法找到,请制定正确的路径

请问是怎么回事,我的硬盘是scsi的,内核编译的时候已经把scsi硬盘支持直接编译进了内核里。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2007-11-20 15:32:19 | 显示全部楼层
Post by tuishu;1785101
楼上的,我按照你的方法,grub是成功了,启动系统可以进入grub的启动界面

之后的加载出了问题,说root=/dev/sda2无法找到,请制定正确的路径

请问是怎么回事,我的硬盘是scsi的,内核编译的时候已经把scsi硬盘支持直接编译进了内核里。


这种现象就很可能是硬盘或文件系统没弄对。
如果你认为你的配置文件没问题,就重编译内核吧。
你可以先检查 /boot/grub/menu.lst 和 /etc/fstab 文件。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-21 12:58:04 | 显示全部楼层
to  tfkdmwmqtr :

我在chroot之后用df 只看到/dev/shm文件系统

用cfdisk  提示没有找到可用的disk。

但是我在livecd里看到我的硬盘是sda的,并且sda1是swap  sda2是ext3
按照这个,我的配置文件是没有错的。如果是内核需要重新编译,我就不明白了。
在没有内核的时候就无法正常显示disk,跟内核似乎无关。  而且我编译的内核把scsi关于disk的都选上了,只是其他的ide disk相关都去掉了。

不明白问题出在什么地方。
回复 支持 反对

使用道具 举报

发表于 2007-11-21 15:40:00 | 显示全部楼层
livecd启动

挂载目标系统:
  1. export LFS=/mnt/lfs
  2. mkdir -pv $LFS
  3. mount -v /dev/xxx $LFS
复制代码

挂载虚拟文件系统
www.linuxfromscratch.org/lfs/vie ... apter06/kernfs.html
  1. mount -vo bind /dev $LFS/dev
  2. mount -vt devpts devpts $LFS/dev/pts
  3. mount -vt tmpfs shm $LFS/dev/shm
  4. mount -vt proc proc $LFS/proc
  5. mount -vt sysfs sysfs $LFS/sys
复制代码

chroot 改变根目录到目标系统:
  1. chroot "$LFS" /usr/bin/env -i \
  2.     HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
  3.     PATH=/bin:/usr/bin:/sbin:/usr/sbin \
  4.     /bin/bash --login +h
复制代码

列出已挂载的文件系统:
  1. mount
复制代码

之后,应该怎么办就怎么办吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-22 15:51:44 | 显示全部楼层
谢谢楼上的,最后一个问题,

编译内核完了之后,make  modules_install 正常,

到make install时就出错,无法产生initrd.img文件,我是scsi硬盘,如果没有这个文件是无法启动的。

直接运行mkinitrd,没有这个命令。我不知道这个命令在哪个包。谢谢
回复 支持 反对

使用道具 举报

发表于 2007-11-22 16:04:27 | 显示全部楼层
Post by tuishu;1786178
谢谢楼上的,最后一个问题,

编译内核完了之后,make  modules_install 正常,

到make install时就出错,无法产生initrd.img文件,我是scsi硬盘,如果没有这个文件是无法启动的。

直接运行mkinitrd,没有这个命令。我不知道这个命令在哪个包。谢谢


lfs里是不用这个东东的。只要你把启动需要的驱动编译进内核就可以了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-22 16:39:50 | 显示全部楼层
不是吧,做完了lfs不就跟普通系统一样了么,  对于scsi硬盘没有initrd.img文件无法启动的


试了N遍
回复 支持 反对

使用道具 举报

发表于 2007-11-22 18:16:56 | 显示全部楼层
Post by tuishu;1786212
不是吧,做完了lfs不就跟普通系统一样了么,  对于scsi硬盘没有initrd.img文件无法启动的


试了N遍

不会,SCSI 没有 initrd 一样能启动
回复 支持 反对

使用道具 举报

发表于 2007-11-22 21:55:43 | 显示全部楼层
LZ是内核配置没有正确,我也碰到这样的问题,关注中ing
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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