LinuxSir.cn,穿越时空的Linuxsir!

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

关于使用U盘安装Debian后的grub配置问题

[复制链接]
发表于 2011-1-21 17:50:54 | 显示全部楼层 |阅读模式
想在我的Dell mini 10上安装debian。因为这台机器没有光驱,所以不得不用使用U盘来完成安装。

问题出现在安装grub阶段。

安装阶段,u盘的设备号是/dev/sda,本地硬盘是/dev/sdc。
如果把grub安装在/dev/sda,那么下次启动,必须还要用u盘。

如果把grub安装在/dev/sdc,下次启动时,若不插u盘,则本地硬盘的设备号是/dev/sda,造成无法启动。

不知哪位大大碰到过类似的情况?
最后怎么解决?
发表于 2011-1-21 18:25:43 | 显示全部楼层
在/boot/grub下把grub.conf里的内容改过来就是了。/dev/sdc变成/dev/sda。不知道UUID是不是要。参考这个例子,实际情况不一样,但是原理一样。
http://forum.ubuntu.org.cn/viewtopic.php?t=29692


安装完成后会问 是否重启 ,这时先不要重启,打开刚安装的系统的根分区,打开 /etc/fstab ,内容类似下面

# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
# /dev/sdc5
UUID=30b754f9-4be7-4e13-9776-8177b71bdfaa / reiserfs notail,relatime 0 1
# /dev/sdc6
UUID=ca7e22d7-c8b7-4ca4-8e4f-a7c038917e0e none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0

30b754f9-4be7-4e13-9776-8177b71bdfaa 即根分区的 UUID ,sdc5 说明根分区是第 5 分区,记下这些信息,后面会用到。

打开grub.conf,将所有“xxxxxxxxxxxxxxxxxxxx”换成前面记下的根分区的 UUID ;把每一行 root (hd0,x) 中的 x 换成 根分区序号减1(比如,我的根分区是第 5 分区,则 x 应该换成 4 );
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-1-22 20:28:37 | 显示全部楼层
Post by singlebook;2126325
在/boot/grub下把grub.conf里的内容改过来就是了。/dev/sdc变成/dev/sda。不知道UUID是不是要。参考这个例子,实际情况不一样,但是原理一样。
http://forum.ubuntu.org.cn/viewtopic.php?t=29692


安装完成后会问 是否重启 ,这时先不要重启,打开刚安装的系统的根分区,打开 /etc/fstab ,内容类似下面

# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
# /dev/sdc5
UUID=30b754f9-4be7-4e13-9776-8177b71bdfaa / reiserfs notail,relatime 0 1
# /dev/sdc6
UUID=ca7e22d7-c8b7-4ca4-8e4f-a7c038917e0e none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0

30b754f9-4be7-4e13-9776-8177b71bdfaa 即根分区的 UUID ,sdc5 说明根分区是第 5 分区,记下这些信息,后面会用到。

打开grub.conf,将所有“xxxxxxxxxxxxxxxxxxxx”换成前面记下的根分区的 UUID ;把每一行 root (hd0,x) 中的 x 换成 根分区序号减1(比如,我的根分区是第 5 分区,则 x 应该换成 4 );
试过,还是不行,修改完配置后应该再run一次grub-install吧
回复 支持 反对

使用道具 举报

发表于 2011-1-22 23:22:03 | 显示全部楼层
磁盘检测的时候把优盘拔了先
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-1-24 13:05:50 | 显示全部楼层
拔掉也不行。

google了一下,好像是dell mini 1010的bios有点问题,导致grub2发生bug。

http://www.linuxquestions.org/qu ... ing-to-load-852237/

看来只能用降grub的版本了。
回复 支持 反对

使用道具 举报

发表于 2011-1-24 14:15:11 | 显示全部楼层
* Do not overwrites MBR of installation medium (support for hybrid
  and hd-media has been fixed) (#568529);

这个bug在6.0RC2中已经修复了...
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-1-24 15:36:35 | 显示全部楼层
很快么,我用的还是RC1。下好sq rc2回去再试试看。

这个问题果然是,grub2的bug啊!

还好,LILO还是很给力的。

------------------------------

解决思路跟2楼的差不多。步骤如下:

a) 安装完成后,先不重启,打开刚安装的系统的根分区/target,打开 /etc/lilo.conf

boot=/dev/sdc
root=/dev/sdc1

改为
boot=/dev/sda
root=/dev/sda1

b) 加载critical virtual filesystems:
mount --bind /dev  /target/dev
mount --bind /dev/pts  /target/dev/pts
mount --bind /proc /target/proc
mount --bind /sys  /target/sys

c) Chroot 到/target
chroot /target

d) 安装LILO
lilo -C /etc/lilo.conf -b /dev/sdc

e)  卸载critical virtual filesystems:
umount /target/dev/pts
umount /target/dev
umount /target/proc
umount /target/sys

f) 然后再重启
回复 支持 反对

使用道具 举报

发表于 2011-1-24 20:09:45 | 显示全部楼层
更新grub2了,目前没发现问题。

不过udev好像出了状况,目前还没有什么头绪,不过看到返回的信息貌似是什么路径的问题,慢慢再弄吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-1-25 09:59:42 | 显示全部楼层
果然是rc1的bug,rc2上的grub2就没问题了。

Thanks all
回复 支持 反对

使用道具 举报

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

本版积分规则

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