+ -
当前位置:首页 → 问答吧 → 在SD卡上安装grub

在SD卡上安装grub

时间:2008-11-03

来源:互联网

我有一张32M的SD卡,没什么用就想做成一个启动盘,看了很多网上的资料。现将该卡格式化。
# fdisk -l
看到设备名为 /dev/sdb ,于是
# mke2fs /dev/sdb
完成了格式化。挂载于 /media/disk 。
# mkdir /media/disk/boot
# mkdir /media/disk/boot/grub
将系统中的stage1和stage2复制到grub目录中。
# cp /boot/grub/stage1 /media/disk/boot/grub
# cp /boot/grub/stage2 /media/disk/boot/grub
然后进入grub
# grub
Probing devices to guess BIOS drives. This may take a long time.
Unknown partition table signature


GNU GRUB version 0.97 (640K lower / 3072K upper memory)

[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename.]
grub> root (sdb)
root (sdb)

Error 23: Error while parsing number
grub>

写成 root (sdb,0) 也不行,请问我该如何做?

作者: tonyoung   发布时间: 2008-11-03

看一下 grub 手册。

引用:
root (hd1)
setup (hd1)

作者: linux001   发布时间: 2008-11-03

引用:
作者: tonyoung
我有一张32M的SD卡,没什么用就想做成一个启动盘,看了很多网上的资料。现将该卡格式化。
# fdisk -l
看到设备名为 /dev/sdb ,于是
# mke2fs /dev/sdb
完成了格式化。挂载于 /media/disk 。
# mkdir /media/disk/boot
# mkdir /media/disk/boot/grub
将系统中的stage1和stage2复制到grub目录中。
# cp /boot/grub/stage1 /media/disk/boot/grub
# cp /boot/grub/stage2 /media/disk/boot/grub
然后进入grub
# grub
Probing devices to guess BIOS drives. This may take a long time.
Unknown partition table signature


GNU GRUB version 0.97 (640K lower / 3072K upper memory)

[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename.]
grub> root (sdb)
root (sdb)

Error 23: Error while parsing number
grub>

写成 root (sdb,0) 也不行,请问我该如何做?
最后的设备名应该是 /dev/sdb1吧?

作者: think365   发布时间: 2008-11-03

您要给sd卡分区才能正常安装grub,这一点grub不如lilo。

作者: 聚焦深空   发布时间: 2008-11-03

你的机器bios支持SD卡启动?
我都是SD卡套着USB读卡器当U盘启动的...

作者: ppluer   发布时间: 2008-11-04

引用:
作者: 聚焦深空
您要给sd卡分区才能正常安装grub,这一点grub不如lilo。
呵呵,已 N 年没用 lilo 了

lilo 可以不分区来装麽?

不过有个疑问:
Bootloader 是用来引导分区上的内核映像,始终都是要分区吧?

作者: d00m3d   发布时间: 2008-11-04

引用:
作者: d00m3d
呵呵,已 N 年没用 lilo 了

lilo 可以不分区来装麽?

不过有个疑问:
Bootloader 是用来引导分区上的内核映像,始终都是要分区吧?
是的,可以不分区。
您把软盘容量扩大 N 倍来考虑就是,只是这里的是硬盘,块设备统统可以这样用的。

bootloader引导的只是 kernel,kernel 之后要加载 rootfs,剩下的,大伙随意。这里并不一定要有分区的,重要的是 filesystem。

grub也可以从不分区的软盘引导,但其对硬盘的处理有些小问题,不能安装到不分区的硬盘。

偶也很久不用 lilo 了。

作者: 聚焦深空   发布时间: 2008-11-06

深空兄一指,茅塞顿开 :)

糟了,不知道是否错别字了。。。

作者: d00m3d   发布时间: 2008-11-06

引用:
作者: d00m3d
深空兄一指,茅塞顿开 :)

糟了,不知道是否错别字了。。。
???
是说上面的文字么?
很久很久以前,偶曾给软盘分区,也曾直接安装系统到/dev/hda。
不分区的软盘、分区的软盘确实存在。
不分区的硬盘、分区的硬盘确实存在。

作者: 聚焦深空   发布时间: 2008-11-06

非也!

指偶的"茅塞顿开"有没有错别字?

唉~~中文乃吾死穴。。。

作者: d00m3d   发布时间: 2008-11-06

没错,刚刚翻《现代汉语词典》确认。

偶一直用拼音,现在很多字已不能确认是否正确,惭愧。

作者: 聚焦深空   发布时间: 2008-11-06

我更惭愧,自中学毕业後就全用英语,再不用写中文,很多字都忘了,结果大学毕业後到国内工作,既不会写,又不会说,吃了不苦头。。。

作者: d00m3d   发布时间: 2008-11-06

呵呵,我刚用SD作了U启动盘。我告诉你怎么回事:
首先grub里的root 命令是例如 root (hd0,0)这样的格式,grub中,硬盘是以:hd加上一个从0开始的数字命名方式。
另外:你在宿主linux系统上你的SD 盘在grub看来,可能是hd1(hd0被linux系统自己的硬盘占了)。如何辨别呢:只需要输入root (hd 然后tab键,就会列出hd0,hd1的列表,现在你要确定哪个是你的SD,只需要输入 root (hd0, 然后tab键,该盘的分区就会列出来,根据分区,你就可以哪个是的SD盘了。
最后,你在用SD启动你的计算机的时候,这个时候,你的SD盘因为是启动盘,所以肯定是hd0,所以要在grub启动界面上,按e,来修改root里面的参数。

作者: archermind   发布时间: 2008-11-13

热门下载

更多