QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1606|回复: 19

不用initrd怎么挂载根分区啊

[复制链接]
发表于 2004-12-27 00:18:34 | 显示全部楼层 |阅读模式
我把CDlinux解到了hda7上

在fstab上设置了
/dev/hda7    /         ext2        defaults         1   1

grub也设置了 root (hd0,6)  kernel 后加了 root=/dev/hda7
但是启动的时候就是提示无法加载根系统

怎么办?

到底根分区在什么时候加载的?通过什么参数控制的啊
 楼主| 发表于 2004-12-27 00:56:10 | 显示全部楼层
who tell me???
help
回复

使用道具 举报

 楼主| 发表于 2004-12-27 09:31:23 | 显示全部楼层
zai ding
回复

使用道具 举报

发表于 2004-12-27 09:49:39 | 显示全部楼层
说清楚点,是把CDlinux 的iso 解到hda7 还是 CDlinux.gz ?那个系统的fstab ?

root (hd0,6) kernel 后加了 root=/dev/hda7  这是加载的 / 是kernel 所在的分区。
例如我现在的系统 /boot hda5, / hda6 ,那么我的grub 里是这样的kernel xxxx root=/dev/hda5 ro.但我fstab 里挂载的 / 是 hda6.
回复

使用道具 举报

 楼主| 发表于 2004-12-27 13:51:20 | 显示全部楼层
没你的复杂啊
我把CDlinux完全解开到一个单独的ext2分区了
按根目录的结构都做好了
然后用他的内核起动
结果怎么也挂不上根目录

你能不能告诉我大概什么原因?  另外根目录到底在哪里设置?什么时候挂载,是进系统后用fstab呢,还是在grub里设置的

没initrd该则怎么设置fstab
回复

使用道具 举报

发表于 2004-12-27 16:29:18 | 显示全部楼层
FT,你以为你把文件完整cp 分区内,你的分区就变光盘了吗?如果livecd 能这么简单的cp 就好了.

不是怎么加载 / 的问题,是你根本走错了路.
回复

使用道具 举报

 楼主| 发表于 2004-12-27 20:53:30 | 显示全部楼层
老大你说得没错,我也没指望cp过去就能用,但是不管怎样总得先解开啊,我这不是在探索之中么,文件结构是差不多的,主要就是内核加载后到能够开始登陆这段初始化问题啊,本来我想先看看初始化会出现什么问题,可是加载不了/分区
现在我想麻烦你帮我解答以下几个问题:
1、如果/boot在/hda1  而/在/hda5,请问grub里面怎么设置
2、如果我不用initrd的话,系统该怎么启动,怎么加载根分区
3、到底根分区的的设置是在哪里??我认为你之前的回答好象有点问题,你认为kernel那一行中的root=后面应该是/boot的分区,那样的话kernel后面的内核地址就不应该有/boot这个目录名,因为直接放在/boot分区的根目录下的

还希望您能帮我把这几个问题都回答一下
谢谢
回复

使用道具 举报

 楼主| 发表于 2004-12-27 21:12:16 | 显示全部楼层
知道的老大都帮个忙,解答一下
万分感激
回复

使用道具 举报

 楼主| 发表于 2004-12-27 21:49:05 | 显示全部楼层
真郁闷 我不停刷新了N次
居然还没人来帮忙
回复

使用道具 举报

发表于 2004-12-27 21:55:11 | 显示全部楼层
1、如果/boot在/hda1 而/在/hda5,请问grub里面怎么设置
举例:
title xxxlinux
root(hd0,0) [这里的root 是kernel 所在分区]
kernel /vmlinuz-xxx ro root=/dev/hda5 [这里是系统的root 分区]
initrd /initrd-xxx.img

2、如果我不用initrd的话,系统该怎么启动,怎么加载根分区
initrd 是对kernel 的补充用来实现模块化的内核,理论上initimg 也不是必须的,但现在作用越来越大几乎就是必须的了,所以要抛弃initrd 要有一个强悍的内核.



3、到底根分区的的设置是在哪里??我认为你之前的回答好象有点问题,你认为kernel那一行中的root=后面应该是/boot的分区,那样的话kernel后面的内核地址就不应该有/boot这个目录名,因为直接放在/boot分区的根目录下的

[quote:1b85493ff0="hew"]例如我现在的系统 /boot hda5, / hda6 ,那么我的grub 里是这样的kernel xxxx root=/dev/hda5 ro.但我fstab 里挂载的 / 是 hda6.[/quote]

这段完全是个错误,不要理睬.
回复

使用道具 举报

 楼主| 发表于 2004-12-27 22:23:41 | 显示全部楼层
谢谢你的回答啊
刚才没办法,我自己重启动了20多次终于搞明白根分区设置的问题了

现在才真让我晕了,老大你在如何不用initrd这个问题上一定要帮帮我啊,我发现有的内核不用initrd能够加载“/”,但是有的非要initrd才行,这到底是怎么实现的呢?编译内核的时候做了什么设置造成的,比如说CDlinux的内核吧,ext2的驱动是有的,解开死活不能挂载硬盘根分区,他是怎么做到的呢????

此外我换了一个支持fb的内核,启动进去后不能进X说少/dev/fb0,可是那个的确存在,而且内核也支持,就是提示没有fb0  怎么办啊
回复

使用道具 举报

发表于 2004-12-27 22:44:45 | 显示全部楼层
initrd.img 是在内存中形成一个linux 环境,让你可以加载那些内核模块.如果你把需要的东西都编译进内核,那就不需要initrd.img 了,不过现在除了个别研究性质的版本,没有那个家伙不用模块化的内核了.

此外我换了一个支持fb的内核,启动进去后不能进X说少/dev/fb0,可是那个的确存在,而且内核也支持,就是提示没有fb0 怎么办啊

freebsd ?不了解.
回复

使用道具 举报

 楼主| 发表于 2004-12-27 23:08:45 | 显示全部楼层
拜托别跟我讲啥要模块的问题了,我现在就不要模块

fb是说framebuffer 不是freebsd
回复

使用道具 举报

发表于 2004-12-27 23:19:55 | 显示全部楼层
CDlinux 的那个kernel 难道不是模块化的?
回复

使用道具 举报

 楼主| 发表于 2004-12-28 00:14:27 | 显示全部楼层
驱动好象不是
不管怎样,ext2肯定是支持的啊
他的内核比较怪
你记得那个CDlinux.gz吧
在他自己系统才能挂,但是还是看不出什么文件格式
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-13 01:32 , Processed in 0.062167 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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