红联Linux门户
Linux帮助

Kernel panic - not syncing ; Attempted to kill init!

发布时间:2011-10-13 15:44:58来源:红联作者:chenlinwuyu
EXT3-fs:unable to read superblock
mount:error mounting /dev/root on /sysroot as ext3:Invalid argument
setting up other filesystems.
setting up new root fs
setuproot:error mounting /proc:No such file or directory
setuproot:error mounting /sys:No such file or directory
Switching to new root and running init.
unmounting old /dev
unmounting old /proc
unmounting old /sys
switchroot:mount failed:No such file or directory
Kernel panic - not syncing ; Attempted to kill init!
文章评论

共有 10 条评论

  1. chenlinwuyu 于 2011-11-09 12:48:59发表:

    10# chenlinwuyu
    通过更改硬盘的模式 问题解决, 问题引起是安装系统时的硬盘模式与使用的是的模式发生了变化,所以导致了这个问题。

  2. chenlinwuyu 于 2011-10-19 19:21:28发表:

    看来这个问题解决不了了 只能重装系统了 ,

  3. chenlinwuyu 于 2011-10-18 14:28:57发表:

    这些操作,不能给不熟悉linux 的人员操作,有点复杂。

  4. zhoutingting 于 2011-10-17 21:38:10发表:

    、重新启动机器,插入光盘,进入带网络环境的救援模式。

    2、把另外一个系统的bin目录的压缩包拷贝过来,然后解压。

    3、因为系统内核丢失了,所以我们需要先安装内核,在安装内核时会自动生成initrd
    a、cd /mnt/
    b、mkdir cd
    c、mount -t iso9660 -o ro /dev/hda /mnt/cd/ (注意,使用dmesg命令详细查看光驱挂载的设备,我的是/dev/hda)
    d、rpm -Uvh --force kernel-2.6.18-164.el5.i686.rpm
    4、安装grub
    a、grup-install /dev/sda


    5、编辑grub.conf

    # grub.conf generated by anaconda
    #
    # Note that you do not have to rerun grub after making changes to this file
    # NOTICE: You have a /boot partition. This means that
    # all kernel and initrd paths are relative to /boot/, eg.
    # root (hd0,0)
    # kernel /vmlinuz-version ro root=/dev/sda7
    # initrd /initrd-version.img
    #boot=/dev/sda
    default=0
    timeout=5
    splashimage=(hd0,0)/grub/splash.xpm.gz
    hiddenmenu
    title CentOS (2.6.18-164.el5)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-164.el5 ro root=LABEL=/dev/VolGroup00/LogVol00 rhgb quiet
    initrd /initrd-2.6.18-164.el5.img

    注意,如果你是逻辑卷需要修改根目录的标签,我的是逻辑卷。


    6,重新启动系统
    重新启动系统未成功,出现以下错误:
    mount: could not find filesystem '/dev/root'
    setuproot: moving /dev failed: No such file or directory
    setuproot: error mounting /proc: No such file or directory
    setuproot: error mounting /sys: No such file or directory
    switchroot: mount failed: No such file or directory
    Kernel panic - not syncing: Attempted to kill init!

    经过搜索后,发现此类问题多集中在逻辑卷管理的情况,具体原因是我们在重新安装内核的时候,没有加载一些逻辑卷,解决方法如下:

    1) Boot with the rescue CD
    2) Type 'chroot /mnt/sysimage'
    3) 'cd /boot'
    4) 'mkdir newinit'
    5) 'cd newinit'
    6) 'gunzip -c ../initrd-2.6.18-164.el5.img | cpio -idmv'
    7) 'vi init'
    8) Find 'mount /sysroot'
    9) Delete or comment this out
    10) Replace with 'mount -o defaults --ro -t ext3 /dev/VolGroup00/LogVol00 /sysroot' where /dev/VolGroup00/LogVol00 is the mount point for /
    11) ':wq' out of vi
    12) 'find . | cpio --quiet -c -o >../newinitrd'
    13) 'cd ..' - you are now in /boot
    14) 'mv initrd-2.6.18-164.el5.img initrd-2.6.18-164.el5.img.bak' - backup current initrd img file
    15) 'gzip -9 < newinitrd > initrd-2.6.18-164.el5.img'
    16) Reboot the computer without the CD

    再次重新启动系统,OK,问题解决。

    7、尝试进行远程连接,因为远程服务器不允许root直接连接,可以用普通用户进行登录,登录后执行 su - root 命令,输入密码总是提示密码错误,但是在终端直接用root是可以登录的,奇怪,后来发现问题出在 su 命令上,是文件权限粘贴位的问题,因为拷贝过来的su命令权限如下:

    [root@localhost ~]# ll /bin/su
    -rwxr-xr-x 1 root root 23960 Oct 18 21:46 /bin/su

    正确如下:
    [root@localhost ~]# ll /bin/su
    -rwsr-xr-x 1 root root 23960 Oct 18 21:46 /bin/su

    这样就简单了,设置粘贴位如下:
    [root@localhost ~]# chmod u+s mount

    除了su命令外,还有另外几个需要设置粘贴位,mount,ping,ping6,traceroute,traceroute6,umount。
    另外还要注意一些软连接。

  5. zhoutingting 于 2011-10-17 21:34:03发表:

    make menuconfig 选上以下模块

    Linux Kernel Configuration
    -> Device Drivers
    -> SCSI device support
    -> SCSI disk support

    Linux Kernel Configuration
    -> Device Drivers
    -> SCSI device support
    -> SCSI low-level drivers
    -> BusLogic SCSI support

    Linux Kernel Configuration
    -> Device Drivers
    -> Fusion MPT device support
    -> Fusion MPT (base + ScsiHost) drivers

    Linux Kernel Configuration
    -> Filesystem
    -> Partition Types
    -> Advanced partition selection
    -> PC BIOS(MSDOS partition tables)support
    -> BSD disklabel(FreeBSD partition tables) support

    Linux Kernel Configuration
    -> General setup
    -> Enable deprecated sysfs features which may confuse old userspace tools

    # 编辑内核编译配置文件
    # vi .config
    找到# CONFIG_SYSFS_DEPRECATED_V2 is not set并修改为CONFIG_SYSFS_DEPRECATED_V2=y

    然后编译重启就可以了.

  6. zhoutingting 于 2011-10-14 20:50:35发表:

    你在启动时按向下键出来引导菜单后按e键进入grub命令行进行修复看能否找到内核引导路径?

  7. fengchen_linux 于 2011-10-14 13:13:44发表:

    grub传递的参数root=/dev/sdax有没有错?

  8. chenlinwuyu 于 2011-10-14 08:45:30发表:

    安装上面的方法还是不行,

  9. zhoutingting 于 2011-10-13 20:31:57发表:

    这个你在BIOS中设置SATA MODLE 为AHCI,然后按F4保存,这样是系统初始化找不到内核的引导路径!请尝试修复!!!

  10. alick 于 2011-10-13 19:25:01发表:

    EXT3-fs:unable to read superblock
    / 所在的分区可能坏了,尝试用 LiveCD 等进系统,挂载上
    该分区,fsck.ext3 修复。