当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 18 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : grub配置请教
帖子发表于 : 2010-02-05 11:33 

注册: 2008-06-25 11:28
帖子: 196
送出感谢: 0 次
接收感谢: 0 次
我机器只安装了ubuntu 9.10。
引导时,只出现grub一闪即过。(没有需要选择的菜单)
在/boot/grub下,也没有menu.lst文件。
在/boot/grub下,有一个grub.cfg文件,但该文件注明是不能更改的,该文件是通过grub-mkconfig命令生成的。
其生成的依据是其他配置文件:/etc/grub.d/目录下有几个脚本。 另一个/etc/default/grub配置文件。
grub.d目录下存在6个脚本文件及README文本:
00_header 05_debian_theme 10_linux 20_memtest86+ 30_os-prober 40_custom
在/etc/default/grub配置文件中,没有定义任何与DEVICE相关的参数,只有OS的发行版本与几个启动时间设置。

从系统中看安装的软件,只有grub-pc, grub-common. 没有安装grub包。 系统中也没有grub命令及帮助文档。
相关命令有:
grub-dumpbios grub-install grub-mkdevicemap grub-mkfont grub-mkrescue grub-reboot grub-setup
grub-editenv grub-mkconfig grub-mkelfimage grub-mkimage grub-probe grub-set-default

我现在想要新建一个独立的boot分区, 如何修改配置。还是只需要更改fstab,将新的独立分区(已复制原boot下文件)挂载到/boot即可。
关键是引导过程是怎样的。在boot分区未挂载之前,如何工作的? 阅读10_linux脚本,其执行过程,感觉是自动判断查找root设备。


页首
 用户资料  
 
2 楼 
 文章标题 : Re: grub配置请教
帖子发表于 : 2010-02-05 13:21 

注册: 2009-11-02 10:29
帖子: 112
送出感谢: 0 次
接收感谢: 0 次
光盘安装的?ubuntu9.10默认好像是grub2,而grub2配置文件由原先的menu.lst改成现在的grub.cfg了


页首
 用户资料  
 
3 楼 
 文章标题 : Re: grub配置请教
帖子发表于 : 2010-02-05 14:05 

注册: 2008-06-25 11:28
帖子: 196
送出感谢: 0 次
接收感谢: 0 次
hunter108 写道:
光盘安装的?ubuntu9.10默认好像是grub2,而grub2配置文件由原先的menu.lst改成现在的grub.cfg了


多谢!
是的,你说的没错。我从安装包的说明中,也看到其用grub.cfg了。问题是这个文件是不能自己更改的,是需要生成的。

我的问题,是如何为/boot,新建一独立分区。看到老的说明,都是要修改menu.lst。 现在这个CFG文件是由grub-mkconfig.生成的。
如何搞定?


页首
 用户资料  
 
4 楼 
 文章标题 : Re: grub配置请教
帖子发表于 : 2010-02-05 14:47 
头像

注册: 2009-09-06 5:53
帖子: 4666
送出感谢: 6
接收感谢: 110
不知道你是不是看的这篇文章:http://hi.baidu.com/fghubuntu/blog/item/43259f0617294dc57b89478f.html

第四步以后用chroot方法重装grub2:

sudo mount /dev/sdXX /mnt      ##########sdXX  /根分区
sudo mount /dev/sdYY /mnt/boot   ##########sdYY  /boot分区(如果/boot单独分区),另外如果有其他单独分区也这样挂载
sudo mount --bind /dev/ /mnt/dev
sudo chroot /mnt
sudo grub-install /dev/sdX
sudo grub-install --recheck /dev/sdX
退出 chroot:按下键盘 CTRL-D
sudo umount /mnt/dev
sudo umount /mnt/boot
sudo umount /mnt

按billbear说法别忘了修改fstab
sudo gedit /etc/fstab

最后重启应该没问题了。

我自己没试过,不知道sudo update-grub能不能替代chroot方法重装grub2仅仅重写grub.cfg文件也行。


_________________
电子书下载:
鸟哥的Linux私房菜 基础学习篇 第三版 pdf
鸟哥的Linux私房菜 服务器架设篇 第三版 pdf


最后由 onshoestring 编辑于 2010-02-05 15:02,总共编辑了 1 次

页首
 用户资料  
 
5 楼 
 文章标题 : Re: grub配置请教
帖子发表于 : 2010-02-05 15:01 
头像

注册: 2009-03-28 15:12
帖子: 7867
送出感谢: 2
接收感谢: 20
/boot分区而己,简单
先建一个分区,假设是 /dev/sda9,格为ext3或ext4格式,再挂载到某个挂载点,比如 /mnt/boot
代码:
sudo su
mount /dev/sda9 /mnt/boot
cp -ax /boot/* /mnt/boot/
umount /dev/sda9
gedit /etc/fstab
加上 /dev/sda9挂载点为 /boot的语句
mv /boot /boot.old
mkdir /boot
mount /dev/sda9 /boot
grub-install /dev/sda
update-grub


在动手之前要确保手头有可启动的 livecd或U盘之类的,出错时可进入恢复 /boot.old为 /boot并修改 /etc/fstab


_________________
Grub2 基础教程


页首
 用户资料  
 
6 楼 
 文章标题 : Re: grub配置请教
帖子发表于 : 2010-02-05 15:05 
头像

注册: 2009-09-06 5:53
帖子: 4666
送出感谢: 6
接收感谢: 110
smallapple 写道:
/boot分区而己,简单
先建一个分区,假设是 /dev/sda9,格为ext3或ext4格式,再挂载到某个挂载点,比如 /mnt/boot
代码:
sudo su
mount /dev/sda9 /mnt/boot
cp -ax /boot/* /mnt/boot/
umount /dev/sda9
gedit /etc/fstab
加上 /dev/sda9挂载点为 /boot的语句
mv /boot /boot.old
mkdir /boot
mount /dev/sda9 /boot
grub-install /dev/sda
update-grub


在动手之前要确保手头有可启动的 livecd或U盘之类的,出错时可进入恢复 /boot.old为 /boot并修改 /etc/fstab

我写一大段又废了。小苹果太可恶了。
:emb5


_________________
电子书下载:
鸟哥的Linux私房菜 基础学习篇 第三版 pdf
鸟哥的Linux私房菜 服务器架设篇 第三版 pdf


页首
 用户资料  
 
7 楼 
 文章标题 : Re: grub配置请教
帖子发表于 : 2010-02-05 15:09 
头像

注册: 2009-03-28 15:12
帖子: 7867
送出感谢: 2
接收感谢: 20
引用:

我写一大段又废了。小苹果太可恶了。
:emb5

:em42 :em42 :em42

对了,那个挂载点要手动先建立
代码:
sudo mkdir /mnt/boot

最后把 /boot分区挂载到 /boot后再grub-install和update-grub出来的grub.cfg就没错。
重启没问题就可以把 /boot.old删除。


_________________
Grub2 基础教程


页首
 用户资料  
 
8 楼 
 文章标题 : Re: grub配置请教
帖子发表于 : 2010-02-05 15:23 
头像

注册: 2009-09-06 5:53
帖子: 4666
送出感谢: 6
接收感谢: 110
那要移动/分区,咋办呢?


_________________
电子书下载:
鸟哥的Linux私房菜 基础学习篇 第三版 pdf
鸟哥的Linux私房菜 服务器架设篇 第三版 pdf


页首
 用户资料  
 
9 楼 
 文章标题 : Re: grub配置请教
帖子发表于 : 2010-02-05 15:30 
头像

注册: 2009-03-28 15:12
帖子: 7867
送出感谢: 2
接收感谢: 20
onshoestring 写道:
那要移动/分区,咋办呢?

按你写的那一大段 :em04

比较方便的是在livecd 下先把 / 分区文件全部按 -ax 的方式复制到新的/ 分区下,修改新的 / 分区下的 /etc/fstab,然后用原系统启动,sudo update-grub后就能发现新 / 分区的系统,再重启用新 / 分区的系统启动,在新系统中再grub-install 和update-grub,再干掉旧的/分区,就不用chroot了。


_________________
Grub2 基础教程


最后由 smallapple 编辑于 2010-02-05 15:37,总共编辑了 1 次

页首
 用户资料  
 
10 楼 
 文章标题 : Re: grub配置请教
帖子发表于 : 2010-02-05 15:37 

注册: 2008-06-25 11:28
帖子: 196
送出感谢: 0 次
接收感谢: 0 次
smallapple 写道:
/boot分区而己,简单
先建一个分区,假设是 /dev/sda9,格为ext3或ext4格式,再挂载到某个挂载点,比如 /mnt/boot
代码:
sudo su
mount /dev/sda9 /mnt/boot
cp -ax /boot/* /mnt/boot/
umount /dev/sda9
gedit /etc/fstab
加上 /dev/sda9挂载点为 /boot的语句
mv /boot /boot.old
mkdir /boot
mount /dev/sda9 /boot
grub-install /dev/sda
update-grub


在动手之前要确保手头有可启动的 livecd或U盘之类的,出错时可进入恢复 /boot.old为 /boot并修改 /etc/fstab


mount /dev/sdb1 /mnt/boot
cp -ax /boot/* /mnt/boot
umount /dev/sdb1
vi /etc/fstab (增加了/boot的加载点)
mv /boot /boot.old
mkdir /boot
mount /dev/sdb1 /boot
grub-install /dev/sdb
出错。
grub-probe: error: Cannot find a GRUB drive for /dev/sdb1. Check your device.map.
Auto-detection of a filesystem module failed.
Please specify the module with the option `--modules' explicitly.

grub-install /dev/sdc 这是原根分区。
出错。
grub-probe: error: Cannot find a GRUB drive for /dev/sdb1. Check your device.map.
Auto-detection of a filesystem module failed.
Please specify the module with the option `--modules' explicitly.

update-grub
出错。
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.31-17-generic
Found initrd image: /boot/initrd.img-2.6.31-17-generic
grub-probe: error: Cannot find a GRUB drive for /dev/sdb1. Check your device.map.

grub-probe: error: Cannot find a GRUB drive for /dev/sdb1. Check your device.map.

Found linux image: /boot/vmlinuz-2.6.31-14-generic
Found initrd image: /boot/initrd.img-2.6.31-14-generic
grub-probe: error: Cannot find a GRUB drive for /dev/sdb1. Check your device.map.

grub-probe: error: Cannot find a GRUB drive for /dev/sdb1. Check your device.map.

Found memtest86+ image: /memtest86+.bin
done


如此情况之下,可以重启一试吗?


页首
 用户资料  
 
11 楼 
 文章标题 : Re: grub配置请教
帖子发表于 : 2010-02-05 15:38 
头像

注册: 2009-03-28 15:12
帖子: 7867
送出感谢: 2
接收感谢: 20
你是加入另一个硬盘吗?
先不要重启


_________________
Grub2 基础教程


页首
 用户资料  
 
12 楼 
 文章标题 : Re: grub配置请教
帖子发表于 : 2010-02-05 15:44 
头像

注册: 2009-03-28 15:12
帖子: 7867
送出感谢: 2
接收感谢: 20
代码:
sudo grub-mkdevicemap
sudo grub-install /dev/sdb
sudo update-grub

试试会不会出错。
还有还来的grub是装在哪个盘的mbr,还是要装在那个盘的mbr,不然用那个盘当启动盘是肯定出错。


_________________
Grub2 基础教程


页首
 用户资料  
 
13 楼 
 文章标题 : Re: grub配置请教
帖子发表于 : 2010-02-05 16:15 

注册: 2008-06-25 11:28
帖子: 196
送出感谢: 0 次
接收感谢: 0 次
smallapple 写道:
代码:
sudo grub-mkdevicemap
sudo grub-install /dev/sdb
sudo update-grub

试试会不会出错。
还有还来的grub是装在哪个盘的mbr,还是要装在那个盘的mbr,不然用那个盘当启动盘是肯定出错。


多谢指点。 有新进展。 如你所说,我是加了一块小硬盘。 一共三块盘。
/dev/sda1 挂在了/var

/dev/sdc1 原根分区
/dev/sdc5 原交换区

/dev/sdb1 打算新分给 /boot

运行过程没有出错了。重启之后,grub load出错,找不到文件。停在 grub scume>
是否应将 grub-install /dev/sdb 改为grub-install /dev/sdc ?


页首
 用户资料  
 
14 楼 
 文章标题 : Re: grub配置请教
帖子发表于 : 2010-02-05 16:19 
头像

注册: 2009-03-28 15:12
帖子: 7867
送出感谢: 2
接收感谢: 20
bios改为从sdb启动,或者 grub-install /dev/sdc


_________________
Grub2 基础教程


页首
 用户资料  
 
15 楼 
 文章标题 : Re: grub配置请教
帖子发表于 : 2010-02-05 17:14 

注册: 2008-06-25 11:28
帖子: 196
送出感谢: 0 次
接收感谢: 0 次
smallapple 写道:
bios改为从sdb启动,或者 grub-install /dev/sdc



唉,还是没搞定。 grub-install /dev/sdc也不行, dev/sdb也不行。难道/分区与/boot分区,只能在一块硬盘上?
分在两块盘上,搞不定?


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 18 篇帖子 ]  前往页数 1, 2  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译