九、/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
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
要说点啥就在这吧