grub4dos初级教程-入门篇 http://hi.baidu.com/rabeta/blog/item/4814a81bd7d9d91c8618bff0.html

http://download.gna.org/grub4dos/ grub4dos-0.4.4-2009-06-20.zip                     20-Jun-2009 18:14   810k

http://wiki.archlinux.org/index.php/%E7%A1%AC%E7%9B%98%E5%AE%89%E8%A3%85_Arch_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) 硬盘安装 Arch (简体中文)

因为grub4linux无法直接引导硬盘上的iso文件,只好用grub4linux引导windows,然后win的管理器再去引导grub4dos,通过grub4dos引导iso

无非就在 boot.ini里加一句话而已,WIKI上已说得很清楚,这里就不多说了,在此记录一下

引导archlinux 2009.8 iso 时到 Waiting for boo tdevice 时超时提示失败 :(

能引导iso了,可能是这个iso有点问题,准备换个ISO试试

换一个张雨林木风的windows xp 装机盘的ISO引导进入WinPE系统,OK,成功

再换一个gentoo-fbsd的iso引导中途失败,看样子跟arch的iso出同样的问题

title 使用map启动本地硬盘上的瑞星杀毒软盘镜像文件
map --mem (hd0,0)/boot/grub/rav.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)

  • 若是用2009.08的ISO,在启动过程中会查找/dev/archiso 文件,如果找不到(因为使用的硬盘ISO方式),会得到一个shell。

这里需要首先mount 硬盘分区,然后使用losetup将ISO文件挂到某个loop设备上面,最后将这个loop设备ln到/dev/archiso上。

#mkdir /win
#mount -r -t ntfs /dev/sda1 /win
#modprobe loop
#losetup /dev/loop6 /win/archlinux-2009.08-core-i686.iso
#ln -s /dev/loop6 /dev/archiso

http://bbs.archlinux.org/viewtopic.php?id=77815
http://www.linuxsir.org/bbs/thread354996.html

在 ramfs$ 提示符下依次输入:



ln -s /dev/sdb1 /dev/archiso

exit



假定 sdb1 是你U盘的挂载位置。



=======

P.S.:

这个问题仅在U盘启动的时候产生,更准确的说,是仅在没有使用 dd 命令制作的U盘启动盘上发生。

为什么呢?因为这种情况下,你U盘的标签(Label)与U盘上 boot/grub/menu.lst 中指定的不相符了。

因此,一个更好的解决办法是,修改U盘上 boot/grub/menu.lst :



kernel /boot/vmlinuz26 lang=en locale=en_US.UTF-8 archisolabel=ARCHISO_OINGAE2I ramdisk_size=75%



将 “ARCHISO_OINGAE2I” 改为你U盘的标签(Label)。是什么就改成什么,注意,要区分大小写。存盘即可。



======

最后,请楼主修改此贴的标题,以方便他人查询。应完整描述该错误的状态:

出现 "Boot device didn't show up after 30 seconds" ,并进入 ramfs$

而不是笼统的“2009.08 安装问题”。