linux no root file,SLES9安装总结--No root device found:exiting to /bin/sh

Notes:安装SLES(Suse Linux Enterprise Server)前先打开安装盘,搜索“kernel”,看其版本是否与想要的版本相符(通常为2.6.5-7.97)。另,SLES SP3补丁中kernel为2.6.5-7.244。

1、SLES9安装过程中格式化硬盘死机问题

(1)现象描述

按常远见方式安装,多数情况下会出现格式化LINUX分区后硬盘灯长亮,安装过程无法继续的问题,无论等多久。据说测试部的解决方法就是不断换电脑,一般要换四五台,碰巧了才能装上。我就没碰巧,换了六七台也不行。

(2)原因分析

具体原因是,联想开天M4000计算机用的是SATA接口的硬盘(“设备管理器”中IDE、SATA硬盘显示的都是ATA/ATAPI控制器,Ultra ATA控制器,这种方式好像看不出来是啥接口),而LINUX默认使用IDE接口的驱动程序,所以不用安全模式就是装不上。

(3) 解决方法

偶然发现,在安装界面上选800*600分辨率,同时用Safe Settings模式安装就可以继续进行下去。

2、如何打补丁?

在光驱中放入SP3-CD1,打开YaST | Software | Patch CD Update,按提示操作即可。

3、SLES9打补丁不良影响之一,打补丁结束,系统丢失问题。

(1)现象描述

打补丁SP3后重启系统,出现如下提示:

引用:

……

RAMDISK:Compressed image found at block 0

VFS:Mounted root(ext2 filesystem)

Starting udev

Creating devices

Loading kernel/drivers/scsi/scsi_mod.ko

SCSI subsystem initialized

Loading kernel/drivers/scsi/sd_mod.ko

Loading kernel/drivers/scsi/libata.ko

Loading kernel/drivers/scsi/ata_piix.ko

PCI:Found IRQ 11 for device 0000:00:1f.2

PCI:Sharing IRQ 11 with 0000:00:1f.3

PCI:Sharing IRQ 11 with 0000:01:02.0

Ata:0x170 IDE port busy

Ata:SATA max UDMA/133 cmd 0xF0 ctl 0x3F6 bmdma 0xF0000 irq 14

Ata1 dev 0 ata max UDMA/133,156301488 sectors

Ata1 dev 0 configured for UDMA/133

SCSI0:ata_pixx

Vendor: ATA Model WDC WD800BD-88JM Rev :05.0

Type:Direct-Access ANSI SCSI revision:05

SCSI device sda:156301488 512-byte hdwr sectors(80026M)

SCSI device sda:device cache:write back

Sda:sda1 sda2 Attached scsi disk sda at scsi0,channel 0,id0 iwn0

Loading kernel/fs/jbd/jbd.ko

Loading kernel/fs/ext3/ext3.ko

Waiting for device /dev/hda8 to appear:……not found… device nodes:

Console disk fb0 full input kmem kmsg loop0 loop1 loop2 loop3 loop4 loop5 loop6 loop7 md0 mem null port psaux ptmx ptya0 ptya1 ptya2 ptya3 ptya4 ptya5 ptya6 ptya7 ptya8 ptya9 ptyaa ptyab ptyac ptyad ptyae ptyaf ptyb0 ptyb1……

No root device found:exiting to /bin/sh

Sh:can’t access tty:job control turned off

然后就什么也没有了,系统丢失,从屏幕提示看,此时已经过了grub,处于linux加载过程中,想修复比较麻烦。

(2)问题分析

经网上搜索,得到各种答案,有的说硬盘已满,有的建议手工修复等等,经尝试各种方法均失败,只有如下一条最终奏效,

Talk about a shot in the dark... but here goes nothing. I'm going to make two assumptions, if either is wrong, forgive the wasted bandwidth and ignore the rest.

Are you using sata drive(s) and in your install before updates were they mounted as /dev/hdx?

I have heard that in some distros (don't know about sles) some kernel updates caused sata hard drives to be mounted as scsi devices where originally they were mounted as ide devices. Since I never really had the problem, I didn't read/persue the solutions very closely.

I seem to remember a suggestion to check the bios and set the sata drives as legacy or something like that in order to force the os to mount as regular ide type devices.

I also recall a suggestion to change /dev/hdx references in grub and fstab to /dev/sdx (might make a backup first).

As i said... a shot in the dark that I haven't tried/tested and may not even apply to you.

Good luck!

(3) 解决方法

上述资料中说的与上面贴的LINUX启动失败的屏幕提示非常吻合,经尝试,第二种方法(更改grub及/etc/fstab为sdx)不奏效,于是到BIOS里更改SATA总线访问方式:

Integrated peripherals | OnChip IDE Device [Press Enter] | On-Chip Serial ATA[Auto],改为SATA Only(SATA is operating in legacy mode)。

(4)修改BIOS的不良影响:

按上述方法修改BIOS,将导致光驱不可用,包括自动引导功能(即使BIOS中first boot device选CDROM)。

4、 打补丁不良影响之二,grub无法解析配置文件,引导失败。

(1)现象描述:

打补丁SP3后重启系统,在grub界面出现如下提示:

…Parse error…

(2)原因分析:

这是由于打补丁过程中,更改了系统原来的grub配置文件/boot/grub/memu.lst导致。

CD启动进入系统后发现,menu.lst已被改为如下内容:

引用:

#Modified by YaST2.Last modification on Fri Mar 7 16:52:57 2008

Color white/blue black/light-gray

Default 0

Time out 8

Gfxmenu(null)/

###Don’t change this comment - YaST2 identifier:Original name:linux###

Title Linux

Kernel(null)/ root=vga=0x314 selinux=0 splash=silent ide=nodma apm=off acpi=off barrier=off resume=/dev/hda7 elevator=cfq showopts

Initrd(null)/

###Don’t change this comment - YaST2 identifier:Original name:windows###

……

注:插句题外话,进系统后分辨率很难调,也不好确定到底是什么显卡及显示器,但发现安装时选的高分辨率立刻就奏效,最终发现是通过kernel中的vga参数传给内核的,这样就覆盖了系统中的/etc/X11/XFree86config中的显示配置。

常见分析率对应的参数是,

vga=0x314 800*600

vga=0x317 1024*768

vga=0x31a 1280*1024

从上述内可知,引导位置都被更改为null了,导致grub无法找到系统所在的位置。

(3)解决方法:

把/boot/grub/menu.lst改为如下内容,重启动系统即可:

引用:

#Modified by YaST2.Last modification on Fri Mar 7 16:52:57 2008

Color white/blue black/light-gray

Default 0

Time out 8

Gfxmenu(hd0,7)/boot/message

###Don’t change this comment - YaST2 identifier:Original name:linux###

Title Linux

Kernel(hd0,7)/boot/vmlinuz root=vga=0x314 selinux=0 splash=silent ide=nodma apm=off acpi=off barrier=off resume=/dev/hda7 elevator=cfq showopts

Initrd(hd0,7)/boot/initrd

###Don’t change this comment - YaST2 identifier:Original name:windows###

……

上述内容中“(hd0,7)”为本PC中SLES的安装位置,读者在其他PC上安装时,请根据具体情况修改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值