LinuxSir.cn,穿越时空的Linuxsir!

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

把系统安装到了U盘,没有办法启动.

[复制链接]
发表于 2009-2-2 03:03:22 | 显示全部楼层 |阅读模式
ϵͳ°²×°µ½ÁËUÅÌ,µ«ÊÇÔÚÆô¶¯Ê±È´³öÏÕ´íÎó
ÏÂÊDz¿·Ö³öÏÕ´íÎóµÄ´úÂë,Òýµ¼Ê¹ÓõÄgrub
drivers/usb/input/hid-core.c:v2.6:USB HID core driver
Intel 810 + AC97 Audio,version 1.01,21:39:19 Feb 1 2009
ES1372:VERSION V0.32 TIME 21:39:21 Feb 1 2009
OPROFILE:USING NMI interrupt
TCP cubic registed
NET Registered protocol family 1
NET Registered protocol family 10
IPv6 over IPv4 tunneling driver
NET Registered protocol family 17
uSING ipi Shortcut mode
inputS/2 Mouse as /class/input/input5
input:AlpsPS/2 ACPS GldPoint as /class/input/input6
No filesystem could mount root,tried:reiserfs ext3 ext2 msdos vfat iso9660
Kernel panic not syncing:VFS:Unable to mount root fs on unkonwn-block(8,1)

ÎÒ²éÁ˺öà×ÊÁÏ,×îºóÖªµÀÃ²ËÆÊÇÒªÖØÐ±àÒëÄں˺ÍÉú³ÉеÄinitrd.imgÎļþ
http://www.linuxsir.cn/bbs/archive/index.php/t-181787.html
µ«ÊÇ×÷Õß˵µÄ²»ÊǺÜÇå³þ.
ÄÇλ´óϺ¿ÉÒÔÏêϸµÄдһÏÂ:ÈçºÎ´ÓUÅÌÆô¶¯ÒѾ­°²×°ÔÚUÅÌÉϵÄÏµÍ³ÄØ?
ÎÒµÄÓÊÏä:evilsign@gmail.com
 楼主| 发表于 2009-2-2 03:04:11 | 显示全部楼层
晕了,乱码,重新再发一遍
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-2 03:07:40 | 显示全部楼层
已经将linux系统安装到了U盘,主板也是支持从U盘启动的
但是启动时出现了错误,一下是部分代码:
drivers/usb/input/hid-core.c:v2.6:USB HID core driver
Intel 810 + AC97 Audio,version 1.01,21:39:19 Feb 1 2009
ES1372:VERSION V0.32 TIME 21:39:21 Feb 1 2009
OPROFILE:USING NMI interrupt
TCP cubic registed
NET Registered protocol family 1
NET Registered protocol family 10
IPv6 over IPv4 tunneling driver
NET Registered protocol family 17
uSING ipi Shortcut mode
inputS/2 Mouse as /class/input/input5
input:AlpsPS/2 ACPS GldPoint as /class/input/input6
No filesystem could mount root,tried:reiserfs ext3 ext2 msdos vfat iso9660
Kernel panic not syncing:VFS:Unable to mount root fs on unkonwn-block(8,1)
在网上差了很多资料,貌似解决这个问题的方法是重新编译内核和生成initrd文件
http://www.linuxsir.cn/bbs/archive/index.php/t-181787.html
但是帖子的作者说的比较粗略.
那位大虾能把过程详细的说一下呢?(需要将内核的哪一个模块编译进去,怎样在目录中找到这个模块).
小弟在这里先谢过了!
mail:evilsign@gmail.com
回复 支持 反对

使用道具 举报

发表于 2009-2-2 04:05:46 | 显示全部楼层
安装的时候不是有询问是否需要从USB设备启动么

把模块包含进内核镜像可以使用mkinitcpio,具体看看wiki了
回复 支持 反对

使用道具 举报

发表于 2009-2-2 09:10:39 | 显示全部楼层
楼上正解,
我现在就有个装了arch的优盘
回复 支持 反对

使用道具 举报

发表于 2009-2-2 10:13:11 | 显示全部楼层
默认的initrd文件不支持usb启动,也就是没有usb模块
用以下脚本重新生成initrd文件,注意:这是我一年多前用的方法,现在不知道还能不能成功:
kv=`uname -r`
rm -rf /tmp/cpio
mkdir /tmp/cpio
cd /tmp/cpio
zcat /boot/kernel26-fallback.img | cpio -id --no-absolute-filenames
mkdir lib/modules/$kv/kernel/drivers/usb/storage/
cp /lib/modules/$kv/kernel/drivers/usb/storage/usb-storage.ko \
lib/modules/$kv/kernel/drivers/usb/storage/
depmod -b /tmp/cpio/
find . | cpio -o -H newc > ../initrd.img
cd ..
gzip initrd.img

最好用root运行
对了,这么生成新的initrd文件后还要在menu.lst文件里面加上rootdelay=15,以等待usb设备准备好
回复 支持 反对

使用道具 举报

发表于 2009-2-2 12:43:45 | 显示全部楼层
不用那么麻烦,在/etc/mkinitcpio.conf的“HOOKS”里加上“usb”,然后运行“mkinitcpio -p kernel26”重新生成initrd。内核参数rootdelay=X是必须要加的,实测最少8秒。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-2 13:38:37 | 显示全部楼层
现在的问题是:
1,我的arch启动光盘中没有mkinitrd mkinitcpio命令
2,按照7楼说的,只需要在HOOKS里面加上usb就可以吗?不需要将模块编译进内核吗?
回复 支持 反对

使用道具 举报

发表于 2009-2-2 14:03:58 | 显示全部楼层
1.从你硬盘上的系统chroot到U盘上的Archlinux,那里绝对有。

2.加入“usb”后,内核模块将被包含在initrd(即Kernel26.img和Kernel26-fallback.img)中,启动时自动加载。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-2 14:46:31 | 显示全部楼层
还是不行,说是不能挂载文件系统(未知系统类型)
刚才看了一下dmesg输出,他将我的U盘识别为sdb
而我再fstab文件和menu.lst文件中则用的都是sda,这样没问题吗?
fstab文件里面是这样写的:
/dev/sda1 / ext2 deault 0 0
menu.lst文件里面是这样写的:
root (hd0,0)
kernel /boot/vmlinuz26 root=/dev/sda1 rootdelay=20 rootfstype=ext2 ro
initrd /boot/initrd26.img
哦,对了当menu.lst文件里面的root字段写为root=/dev/sda1的时候,会出现Kernel panic - not syncing:attempt to kill init错误
当menu.lst文件里面的root字段写为root=/dev/sdb1时不会出现上述错误,但是会出出现不能识别文件系统类型(ext2)的错误
回复 支持 反对

使用道具 举报

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

本版积分规则

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