九、/initrd目录

该问题困扰了整个下午。从头说起:

中午在linuxsir.org的论坛上发现一位叫Proarfei的发了个贴子,内容如下:

---------------------------发贴内容--------------------------------

RHAS3-请求帮助!

安装RHAS3时很顺利,由于是双系统,而且我希望是ntldr做主启动程序,所以我选择了

GRUB安装位置在引导分区的第一扇区,但很奇怪的是,AS在安装完成处没有提示创建

引导盘,在RH9中是有这一步的,我在查询AS3的安装说明中也没有这步骤,但在说明

GRUB配置时说可以创建引导在别的盘上,我不是很清楚AS3是如何创建引导程序在软盘

上的,请各位高手指点一二。

---------------------------发帖结束--------------------------------

AS3中的确没有创建引导盘这一步,当时我不明白Proarfei究竟是想用软盘引导还是想在

ntldr中引导linux,于是回贴如下:

---------------------------回帖内容--------------------------------

如果想用软盘启动linux与grub无关。

制作启动盘

mkbootdisk `uname -r`

如果想在nt启动菜单选择启动

ntldr是由配置文件boot.ini提供工作参数的,该文件位于Windows XP系统分区的根目录下,

具有隐藏、系统、只读属性。我们只需要将Red Hat Linux的引导记录作为一个文件备份到

C盘的根目录下,并相应地在boot.ini文件里添加一个项目来指向它们,就可以实现双重系

统了。

参见:

target="_blank">http://tech.ccidnet.com/pub/article/c738_a79178_p1.html

----------------------------回帖结束------------------------------

由于平时从来没有用过mkbookdisk做过系统盘,不知是否有效,于是自己顺便做个实验,

以免乱说误人子弟。谁知道偶在AS3上用这个命令做盘时,显示:

[root@blueflybird root]# mkbootdisk --device /dev/fd0 `uname -r`

Insert a disk in /dev/fd0. Any information on the disk will be lost.

Press to continue or ^C to abort:

cp: writing `/tmp/mkbootdisk.MPg6Cy/initrd.img': No space left on device

cat: write error: No space left on device

cat: write error: No space left on device

20+0 records in

20+0 records out

靠,空间不足,而且还不说到底是哪个盘的空间不足,整得我连忙用df查看。

结果毕竟还是做好了启动盘(只是不能使用该盘正常启动)

而此时偶又想起,如果Proarfei同志只是要引导linux,把lilo或grub安装到软盘上也行啊,

根本不用mkbookdisk做系统盘。等到论坛上回完贴,心里很不爽,为什么偶用mkbookdisk

做的盘就不能启动呢?

突然偶又想起(偶已经想起了很多次什么东东了),是不是偶用的scsi硬盘造成ramdisk太

大的原因哦,管他三七二十二,还是二十三,去找个IDE盘接上,把scsi中的文件复制到

ide中

cp -a /bin /sbin /var /lib /etc /boot /dev /usr /IDE/

由于根分区中的/root区内编译2.6的内核也占了1G,所以/root /tmp /proc 几个区就自己建

了,swap,暂时不用吧

象/mnt /home /misc 目前对我来说毫无价值,懒得管他,这样拷了好久(幸亏还有笔记本

可以用)。

终于拷完,把grub也装上,卸下scsi盘,再把IDE放到第一个位置,reboot

从SCSI开始出错。

---------------------------屏幕结束--------------------------------

/lib/BusLogic.o:init_module:

Hint: insmod errors can be caused by incorrect module parameters, including invalid IO

or IRQ

parameters.

you may find more information in syslog or the output from dmesg

ERROR:/bin/insmod exited abnormally!

.

.

调ext3.o module正常

.

.

Mounting root filesystem 正常

.

.

pivortroot:pivot_root(/sysroot,/sysroot/initrd)failed: 2

umount /initrd/proc failed: 2

Freeing unused kernel memory: 164k freed

Kernel panic: No init found. Try passing init= option to kernel

---------------------------显示结束--------------------------------

以后的事让我越来越不爽,甚至变得气急败坏,许许多多的事反反复复做了许多遍。

一、拆下IDE,装上SCSI

二、拆下SCSI,装上IDE

三、看/var/log/dmesg,反复拆,反复看,里面屁都没有一个最新的

四、mkinitrd /boot/initrd.2.4.x.x.xEl `uname -r`

五、加参数--omit-scsi-modules

六、加参数--omit-raid-modules

七、加参数--omit-lvm-modules

八、试用各种组合方式

九、重新回想系统启动的顺序

十、IDE和SCSI整在一起,考文件,拷了删,再删了拷

十一、差点就准备用dd

十二、发狂中

十三、看电视、胃痛

十四、启动时向内核加参数init=/bin/sh、加1。

十五、用带scsi-modules 的ramdisk和不带scsi-modules 的ramdisk

十六、明明知道本来许多无关的情况,都尽量试试关掉再打开。

十七、再重新回想系统启动的顺序

怎么会想得到与/initrd 这个目录有关系?????正绝望中看到

umount /initrd/proc failed: 2

心想总不可能与/initrd有关系吧,管他妈的,试了再说。

好了,进入rescue建立/initrd目录后,他妈的一切正常了。

然后制作了一个不带scsi、raid、lvm的ramdisk,initrd.2.4..x.x.x.img的尺寸小了一大半,

重启也正常,再用

[root@blueflybird root]# mkbootdisk `uname -r`

一切非常正常,也可以正常用该软盘启动。说明ramdisk调用的模块多了后可能无法建系统盘。

,

引用地址:http://www.php-oa.com/2007/10/17/rhcekaoshitroubleshootingqi.html

要说点啥就在这吧