LinuxSir.cn,穿越时空的Linuxsir!

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

如何用u盘使用grub启动linux(本地硬盘中)???

[复制链接]
发表于 2006-5-29 14:21:28 | 显示全部楼层 |阅读模式
参考了很多文章,在这里也发现了几篇关于u盘启动linux的,但是做下来还是启动不了linux(本地硬盘中)。
不知道哪位大大或者有真正做过的朋友能把制作的步骤和心得写出来呢?谢谢!!!
发表于 2006-5-29 18:49:44 | 显示全部楼层
不明白楼主的意思,你是要启动哪里的系统?
回复 支持 反对

使用道具 举报

发表于 2006-5-30 01:28:30 | 显示全部楼层
这个过程有很多步骤,任何一个步骤出错都可能启动不了linux。你要说明你想达到什么效果,现在出错在什么步骤,出错信息是什么。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-30 09:03:09 | 显示全部楼层
Post by d00m3d
不明白楼主的意思,你是要启动哪里的系统?


其实我是想用u盘启动光盘中的linux系统,但这是第二步了。现在我只想用u盘启动本地硬盘的linux系统就可了。
回复 支持 反对

使用道具 举报

发表于 2006-5-30 09:17:24 | 显示全部楼层
用 Grub 来启动系统的时候要注意设备的顺序(命名),如果你的 BIOS 设置 U 盘来启动,那麽系统会把它当成第一个物理储存装置,hd0 是也,这时原来的 hda 会被 Grub 视为 hd1,如此类推
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-30 09:19:53 | 显示全部楼层
Post by twgdh
这个过程有很多步骤,任何一个步骤出错都可能启动不了linux。你要说明你想达到什么效果,现在出错在什么步骤,出错信息是什么。


现在做的都是支离破碎的步骤,就是想在这里求到一个完整的制作过程阿。
os:FC4
u盘:联想T108+

我现在把u盘分了2个区,都是ext2。
/boot内容copy到sda1,然后用指定了grub启动:
root (hd1,0)
setup (hd1)
注:这里的hd1就是我的u盘,因为grub中硬盘编号是按照BIOS中的顺序排的,hd0,hd1,hd2这个来找的,不是用sd0,sd1,这个我试了半天才成功。

但是在BIOS中选择了usb-zip启动,可是根本没有反映,还是调的硬盘的grub来启动,选择启动内容时候我进入了command模式(c键),然后:
root (hd1,0)
setup (hd1)
kernel /mykernel
root
都能成功找到u盘,并且启动内核,不过启动了一半就出错了,死机了,可能哪里许要修改吧。
但是为什么我直接写这些命令就能找到u盘,引导系统。而不能自动启动呢?
我查了下,联想的T108+支持usb-zip启动的,难道是只支持dos形式的引导启动?不支持grub??难道要用grub for DOS软件在dos下作个启动菜单来启动linux???
回复 支持 反对

使用道具 举报

发表于 2006-5-30 09:28:53 | 显示全部楼层
若 Grub 不行,可试改用 syslinux 来启动
回复 支持 反对

使用道具 举报

发表于 2006-5-30 12:26:39 | 显示全部楼层
Post by dlgy
现在做的都是支离破碎的步骤,就是想在这里求到一个完整的制作过程阿。
os:FC4
u盘:联想T108+

我现在把u盘分了2个区,都是ext2。
/boot内容copy到sda1,然后用指定了grub启动:
root (hd1,0)
setup (hd1)
注:这里的hd1就是我的u盘,因为grub中硬盘编号是按照BIOS中的顺序排的,hd0,hd1,hd2这个来找的,不是用sd0,sd1,这个我试了半天才成功。

但是在BIOS中选择了usb-zip启动,可是根本没有反映,还是调的硬盘的grub来启动,选择启动内容时候我进入了command模式(c键),然后:
root (hd1,0)
setup (hd1)
kernel /mykernel
root
都能成功找到u盘,并且启动内核,不过启动了一半就出错了,死机了,可能哪里许要修改吧。
但是为什么我直接写这些命令就能找到u盘,引导系统。而不能自动启动呢?
我查了下,联想的T108+支持usb-zip启动的,难道是只支持dos形式的引导启动?不支持grub??难道要用grub for DOS软件在dos下作个启动菜单来启动linux???

你用硬盘gurb启动u盘的时候,内核启动信息已经有了,表示硬盘grub没有什么问题,是内核启动后挂载/分区时候的问题。
root (hd1,0)
setup (hd1)
kernel /mykernel
root
你用这个步骤启动系统,有个明显的错误就是“kernel /mykernel"你没有指出/分区,你必须指出/分区在硬盘上的位置比如 /dev/hda1等。kernel /mykernel  root=/dev/hda*

另外要用u盘启动你最好选择usb-hdd模式启动,然后如果是u盘启动应该是(hd0,0),从硬盘启动u盘才是hd1。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-31 10:48:12 | 显示全部楼层
Post by d00m3d
若 Grub 不行,可试改用 syslinux 来启动


Grub可以的,是我bios里面选错了,应该选usb-hdd,这样启动时候就从u盘启动了。
还是不太明白BIOS里面的usb-zip,usb-hdd有什么分别,是因为我把u盘格式化成ext2文件格式,所以就要选usb-hdd吗?那怎么才能把u盘变成zip格式,用usb-zip启动呢。还有,这2种启动方式哪个比较好呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-31 11:13:54 | 显示全部楼层
Post by twgdh
你用硬盘gurb启动u盘的时候,内核启动信息已经有了,表示硬盘grub没有什么问题,是内核启动后挂载/分区时候的问题。
root (hd1,0)
setup (hd1)
kernel /mykernel
root
你用这个步骤启动系统,有个明显的错误就是“kernel /mykernel"你没有指出/分区,你必须指出/分区在硬盘上的位置比如 /dev/hda1等。kernel /mykernel  root=/dev/hda*

另外要用u盘启动你最好选择usb-hdd模式启动,然后如果是u盘启动应该是(hd0,0),从硬盘启动u盘才是hd1。



恩,谢谢啦,我按照你说的来做,成功了(用u盘启动本地硬盘的linux),现在总结一下。

电脑:联想品牌机,主板支持usb启动。
u盘(移动闪存,不是移动硬盘):联想T108+   512M   可启动闪存
硬盘分区:第一个分区是windows xp,第二个是linux
OS:FC4

1。我先把u盘分了2个区,都格式化为ext2文件系统格式。
2。把宿主机/boot相关内容拷贝到u盘第一个分区(/dev/sda1)。因为暂时仅仅是想试验用u盘启动本机linux,所以只拷贝了几个文件,目录结构如下
/mnt/usbsda1/
`-- boot
    `-- grub
        |-- grub.conf
        |-- stage1
        |-- stage2
        `-- stage2_eltorito
2 directories, 4 files
3。只需要修改一下grub.conf,内容如下:
default=0
timeout=10
splashimage=(hd1,1)/grub/splash.xpm.gz
hiddenmenu
title Fedora Core-up (2.6.11-1.1369_FC4)
        root (hd1,1)
        kernel /vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/ rhgb quiet
        initrd /initrd-2.6.11-1.1369_FC4.img
如twgdh所说”另外要用u盘启动你最好选择usb-hdd模式启动,然后如果是u盘启动应该是(hd0,0),从硬盘启动u盘才是hd1“,我这里用的是root (hd1,1)。
4。重启,把BIOS的启动选项设置为usb-hdd即可。
回复 支持 反对

使用道具 举报

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

本版积分规则

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