报错现象
bios启动阶段未能正常加载引导界面报错:
we can’t locate root directory in super block!
报错分析
手动加载系统内核文件可以正常识别硬盘设备,但是对于设备中的boot目录下内核文件未能正常读取
出现该情况有如下几个原因:
1、引导分区格式原因:
龙芯的PMON使用该加载方式时,会对存储器进行检查,要求存储器必须保留一段未分配的存储空间,可以将引导分区格式化成为ext2格式,此时可留出约5M的存储空间不要分配。
2、系统硬盘sperblock损坏:
可以将该块硬盘外接到其他机器上手动mount一下,挂载报错则需要修复磁盘;
(1)查看superblock
dumpe2fs /dev/sdb1
若报错则说明superblock损坏
(2)修复superblock
e2fsck /dev/sdb1(先不要加-p -y之类的参数, )手动进行修复,同时也可以了解具体是文件系统的那些地方损坏了,若未能通过,则需要执行下面的操作;
superblock在硬盘中有很多地方有备份,e2fsck -b xxx -f /dev/sdb1,xxx 是硬盘上superblock的备份块,备份块可以用前面的dumpe2fs查看,若依然不行则执行下一步;
重写superblock,mke2fs -S /dev/hdb1(如果你的数据在hdb1里)这条命令只重建superblock,而不碰inode表,不过这仍有一定的风险;
若还是有问题则需要格式化硬盘再进行分区操作,首先需要备份硬盘数据,可以查看本人的博客dd命令的使用;
可以用fdisk删除分区再新建分区,在用mkfs.ext2 /dev/sdb1