LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1148|回复: 14

很诡异的问题:重装的系统/boot目录下没有kernel了,也没有grub文件了,但是可以启动系统?(

[复制链接]
发表于 2010-7-1 12:33:44 | 显示全部楼层 |阅读模式
昨天刚重装的系统,现在本本里只有一个gentoo了。使用的是最小安装光盘引导的,安装时硬盘分了三个分区,现在运行  fdisk -l:

Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xe79ef2f1

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        2612    20980858+  83  Linux
/dev/sda2            2613        3135     4200997+  83  Linux
/dev/sda3            3136       30401   219014145   83  Linux

安装时我已经把/dev/sda1作为引导分区了,有a的标志,可是现在没有了,并且/boot目录下也没有了grub配置文件了,整个分区都没有内容了,可是系统却可以正常启动,并且在开机时可以编辑grub,今天上午准备在grub.conf文件里添加apm=on acpi=off时才发现的。
我现在奇怪的是为什么在/boot分区下没有kernel了系统还能正常启动?
发表于 2010-7-1 12:42:36 | 显示全部楼层
肯定有的,估计是你的 mount /boot 覆盖了你 /boot 里面的内容。
要不你把 mount 命令的结果,和 ls /boot 的结果都发上来看看。

我觉得应该是你之前装系统的时候把 boot 装在 / 指向的分区,然后启动后,又在 /boot 里面挂了一个空的分区。
或者是 你把 boot 装在另外一个分区, 但在系统启动后,又没在 /boot 里面正确挂载那个 分区。
回复 支持 反对

使用道具 举报

发表于 2010-7-1 12:49:49 | 显示全部楼层
应该是/boot分区没有自动挂载,或者是挂载别的下面。不然不可能会出现这样的问题。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-7-1 12:57:54 | 显示全部楼层
谢谢你这么快回复~
我执行了:mount /dev/sda1 /mnt/boot:
然后 ls /mnt/boot:
boot
grub
kernel
lost+found
还真是,但是我还是不太明白怎么会这样
我现在怎么才能把它们移到/boot下呢,我把/mnt/boot目录下的几个文件复制到/boot目录下,然后再重装一次grub,可以吗,不会破坏系统吧?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-7-1 13:00:22 | 显示全部楼层
唉~ 惭愧,安装系统时居然没有认真照着手册核对一下命令
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-7-1 13:02:23 | 显示全部楼层
还是基础太差了,我不明白为什么/boot分区下没有内容,可是mount到其它位置后又有了内容
回复 支持 反对

使用道具 举报

发表于 2010-7-1 15:10:49 | 显示全部楼层
看你的/etc/fstab这个文件。/boot挂载这一行没有自动挂载
/dev/sda1   /boot        ext2    defaults,noatime     1 2
如果后面是defaults的话,默认不自动挂载/boot目录,去掉就会有了。
回复 支持 反对

使用道具 举报

发表于 2010-7-1 15:11:43 | 显示全部楼层
认真看遍手册,英文看不懂的话,看中文的,上面有这个说明,搜索fstab就知道了。
回复 支持 反对

使用道具 举报

发表于 2010-7-1 15:33:37 | 显示全部楼层
其实也很简单,针对你的分区情况
当未挂载时,/boot只是个目录,往/boot写入数据的话,数据存放在/分区,也就是/dev/sda3上
当挂载之后,/boot这个目录就被重定向,指向挂载的指定块设备上,这时候往/boot写入数据,数据就不是存放在/分区(不是/dev/sda3),而是存放/dev/sda1上

知道数据具体会被放在什么地方就可以了
要用要修改的时候mount一下就可以了
至于为什么是这样以及怎么修改这种状况 慢慢看就是了
回复 支持 反对

使用道具 举报

发表于 2010-7-1 15:54:54 | 显示全部楼层
手册那块好像有问题,他那个 fstab 文件里面 mount / 之前,mount 了 /boot 你去看看,调整一下顺序就好了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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