今天安装了一个机器,硬盘出厂时被挂在第二IDE口的主盘,安装顺利,但是重新编译内核后重启,到提示mount root 时提示输入根分区。
仔细看了提示,启动信息最后一行:
Trying to mount root from ufs:/dev/ad2s1a。
输入了一个“?”,结果提示都是ad0的盘符,再向上看启动信息,结果发现是
ad0: 76319MB at ata1-master UDMA100
这才发现挂在第二中的主盘上。看样子,老内核把它认作ad2,而新内核把它认作ad0。
解决方法:
1、输入ufs:ad0s1a,等有提示后再按回车。进入系统。
2、cat /etc/fstab,记下/usr的slice。
3、重新启动,进入单用户(不知道这一步是不是需要),也就是开机的时候按“4”。
5、mount -u /
mount -a
作用:把/设为可写。可以用mount看一下状态是不是可写。
6、mount /dev/ad0s1d /usr
作用:挂/usr分区,原因是ee和vi等编辑工具在/usr/bin里面。
7、/usr/bin/ee /etc/fstab
把里面的ad2改为ad0。
8、重启。
原因:在内核选项中有一个:
options ATA_STATIC_ID # Static device numbering
如果这个存在,就是FB默认的规则:第一个IDE口主盘是ad0,从盘是ad1,第二个口主盘是ad2......注意,sata有几种工作模式,也许会排到ad8-10。
如果编译时去掉该选项,则基本上和Windows差不多,检测到的第一个硬盘是ad0,第二个是ad1......。
阅读(1901) | 评论(0) | 转发(0) |