[已解决] ubnuntu升级时遇“What would you like to do about menu.lst?”
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
- norx
- 帖子: 47
- 注册时间: 2008-10-30 3:20
[已解决] ubnuntu升级时遇“What would you like to do about menu.lst?”
正在升级ubuntu,突然弹出对话框:
(下拉菜单的内容如下)
│ install the package maintainer's version
│ keep the local version currently installed
│ show the differences between the versions
│ show a side-by-side difference between the versions
│ show a 3-way difference between available versions
│ do a 3-way merge between available versions (experimental)
│ start a new shell to examine the situation
[Help]显示:
A new version of /boot/grub/menu.lst is available, but the version installed currently has been locally modified.
请问:这个一步应选择那个选项,各个选项各是什么意思?谢谢。
PS : 之前的menu.lst被我修改过。
What would you like to do about menu.lst? (下拉菜单的内容如下)
│ install the package maintainer's version
│ keep the local version currently installed
│ show the differences between the versions
│ show a side-by-side difference between the versions
│ show a 3-way difference between available versions
│ do a 3-way merge between available versions (experimental)
│ start a new shell to examine the situation
[Help]显示:
A new version of /boot/grub/menu.lst is available, but the version installed currently has been locally modified.
请问:这个一步应选择那个选项,各个选项各是什么意思?谢谢。
PS : 之前的menu.lst被我修改过。
上次由 norx 在 2009-03-21 0:14,总共编辑 1 次。
思辨 - 进取 - 乐观
-
- 帖子: 232
- 注册时间: 2008-06-04 11:24
Re: ubnuntu升级过程中“What would you like to do about menu.lst? ”的问题
这是升级了内核了,需要修改下启动菜单上的内容
keep the local version currently installed 这个是保留现有版本的menu.lst不变。
使用它的后果是:你虽然下载了新版本的内核在机器上,但是你开机启动界面时新内核是不会出现在选择菜单里面的,供你选择的还是没升级前的menu.lst里面记录的旧版本的内核。
我就这样选了一次,最后手动修改了menu.lst搞定。────其实也就是修改一下 kernel 2.6.24-XX-generic 之类的最后的几个数字。 把某个旧版本的整个字段复制,粘贴,然后改改数字就好。 ls /boot 可以看到你都有哪些版本的内核
install the package maintainer's version 这个选项应该是会自动更新menu.lst文件的,大胆的选它吧,重新启动后就可以选择新版本内核引导了。
其他几个无关紧要,显示一下新旧版本的信息??
keep the local version currently installed 这个是保留现有版本的menu.lst不变。
使用它的后果是:你虽然下载了新版本的内核在机器上,但是你开机启动界面时新内核是不会出现在选择菜单里面的,供你选择的还是没升级前的menu.lst里面记录的旧版本的内核。
我就这样选了一次,最后手动修改了menu.lst搞定。────其实也就是修改一下 kernel 2.6.24-XX-generic 之类的最后的几个数字。 把某个旧版本的整个字段复制,粘贴,然后改改数字就好。 ls /boot 可以看到你都有哪些版本的内核
install the package maintainer's version 这个选项应该是会自动更新menu.lst文件的,大胆的选它吧,重新启动后就可以选择新版本内核引导了。
其他几个无关紧要,显示一下新旧版本的信息??
- photor
- 论坛版主
- 帖子: 11004
- 注册时间: 2008-04-26 12:41
Re: ubnuntu升级过程中“What would you like to do about menu.lst? ”的问题
我想,如果你曾经极其厉害地手动改过menu.lst文件,导致更新程序无法自动识别你的启动信息并作相应修改的话,选择 install the package maintainer's version 可能会有一定的风险,最好以后都一直自己手动改myubunt_720 写了:这是升级了内核了,需要修改下启动菜单上的内容
keep the local version currently installed 这个是保留现有版本的menu.lst不变。
使用它的后果是:你虽然下载了新版本的内核在机器上,但是你开机启动界面时新内核是不会出现在选择菜单里面的,供你选择的还是没升级前的menu.lst里面记录的旧版本的内核。
我就这样选了一次,最后手动修改了menu.lst搞定。────其实也就是修改一下 kernel 2.6.24-XX-generic 之类的最后的几个数字。 把某个旧版本的整个字段复制,粘贴,然后改改数字就好。 ls /boot 可以看到你都有哪些版本的内核
install the package maintainer's version 这个选项应该是会自动更新menu.lst文件的,大胆的选它吧,重新启动后就可以选择新版本内核引导了。
其他几个无关紧要,显示一下新旧版本的信息??
-
- 帖子: 232
- 注册时间: 2008-06-04 11:24
Re: ubnuntu升级过程中“What would you like to do about menu.lst? ”的问题
阿,极其严重地修改也不至于阿,就是把XP的字段剪切、粘贴到最前面了。偶能做到的修改也就是复制粘贴,剪剪贴贴photor 写了:我想,如果你曾经极其厉害地手动改过menu.lst文件,导致更新程序无法自动识别你的启动信息并作相应修改的话,选择 install the package maintainer's version 可能会有一定的风险,最好以后都一直自己手动改myubunt_720 写了:这是升级了内核了,需要修改下启动菜单上的内容
keep the local version currently installed 这个是保留现有版本的menu.lst不变。
使用它的后果是:你虽然下载了新版本的内核在机器上,但是你开机启动界面时新内核是不会出现在选择菜单里面的,供你选择的还是没升级前的menu.lst里面记录的旧版本的内核。
我就这样选了一次,最后手动修改了menu.lst搞定。────其实也就是修改一下 kernel 2.6.24-XX-generic 之类的最后的几个数字。 把某个旧版本的整个字段复制,粘贴,然后改改数字就好。 ls /boot 可以看到你都有哪些版本的内核
install the package maintainer's version 这个选项应该是会自动更新menu.lst文件的,大胆的选它吧,重新启动后就可以选择新版本内核引导了。
其他几个无关紧要,显示一下新旧版本的信息??
不怕,这个文件真的就只是一个文本!那几行记录只是指明了内核文件的路径,貌似没啥重要的参数。
实在不行就祭出宝刀!────把备份的menu.lst拿出来。。
- jxhow
- 帖子: 5859
- 注册时间: 2008-10-24 22:02
- 来自: 浙江
Re: ubnuntu升级过程中“What would you like to do about menu.lst? ”的问题
myubunt_720 写了:这是升级了内核了,需要修改下启动菜单上的内容
keep the local version currently installed 这个是保留现有版本的menu.lst不变。
使用它的后果是:你虽然下载了新版本的内核在机器上,但是你开机启动界面时新内核是不会出现在选择菜单里面的,供你选择的还是没升级前的menu.lst里面记录的旧版本的内核。
我就这样选了一次,最后手动修改了menu.lst搞定。────其实也就是修改一下 kernel 2.6.24-XX-generic 之类的最后的几个数字。 把某个旧版本的整个字段复制,粘贴,然后改改数字就好。 ls /boot 可以看到你都有哪些版本的内核
install the package maintainer's version 这个选项应该是会自动更新menu.lst文件的,大胆的选它吧,重新启动后就可以选择新版本内核引导了。
其他几个无关紧要,显示一下新旧版本的信息??
汗 我按照你的方法 “手动” 用上了新内核
http://sb.google.com/ 提问前 请在右上角搜索一下
- norx
- 帖子: 47
- 注册时间: 2008-10-30 3:20
Re: ubnuntu升级过程中“What would you like to do about menu.lst? ”的问题
Got it. 谢谢你 ^_^myubunt_720 写了:这是升级了内核了,需要修改下启动菜单上的内容
keep the local version currently installed 这个是保留现有版本的menu.lst不变。
使用它的后果是:你虽然下载了新版本的内核在机器上,但是你开机启动界面时新内核是不会出现在选择菜单里面的,供你选择的还是没升级前的menu.lst里面记录的旧版本的内核。
我就这样选了一次,最后手动修改了menu.lst搞定。────其实也就是修改一下 kernel 2.6.24-XX-generic 之类的最后的几个数字。 把某个旧版本的整个字段复制,粘贴,然后改改数字就好。 ls /boot 可以看到你都有哪些版本的内核
install the package maintainer's version 这个选项应该是会自动更新menu.lst文件的,大胆的选它吧,重新启动后就可以选择新版本内核引导了。
其他几个无关紧要,显示一下新旧版本的信息??
思辨 - 进取 - 乐观
-
- 帖子: 232
- 注册时间: 2008-06-04 11:24
Re: ubnuntu升级过程中“What would you like to do about menu.lst? ”的问题
哇哈哈,真的被你说中了!photor 写了:我想,如果你曾经极其厉害地手动改过menu.lst文件,导致更新程序无法自动识别你的启动信息并作相应修改的话,选择 install the package maintainer's version 可能会有一定的风险,最好以后都一直自己手动改myubunt_720 写了:这是升级了内核了,需要修改下启动菜单上的内容
keep the local version currently installed 这个是保留现有版本的menu.lst不变。
使用它的后果是:你虽然下载了新版本的内核在机器上,但是你开机启动界面时新内核是不会出现在选择菜单里面的,供你选择的还是没升级前的menu.lst里面记录的旧版本的内核。
我就这样选了一次,最后手动修改了menu.lst搞定。────其实也就是修改一下 kernel 2.6.24-XX-generic 之类的最后的几个数字。 把某个旧版本的整个字段复制,粘贴,然后改改数字就好。 ls /boot 可以看到你都有哪些版本的内核
install the package maintainer's version 这个选项应该是会自动更新menu.lst文件的,大胆的选它吧,重新启动后就可以选择新版本内核引导了。
其他几个无关紧要,显示一下新旧版本的信息??
在另外一台机器上,我同样把XP的字段剪切到最前面了,更新menu.lst后,XP字段消失了!
复制粘贴搞定……
-
- 帖子: 3681
- 注册时间: 2008-05-03 23:42
Re: ubnuntu升级过程中“What would you like to do about menu.lst? ”的问题
可以运行myubunt_720 写了:这是升级了内核了,需要修改下启动菜单上的内容
keep the local version currently installed 这个是保留现有版本的menu.lst不变。
使用它的后果是:你虽然下载了新版本的内核在机器上,但是你开机启动界面时新内核是不会出现在选择菜单里面的,供你选择的还是没升级前的menu.lst里面记录的旧版本的内核。
我就这样选了一次,最后手动修改了menu.lst搞定
sudo update-grub
就会再给你一次选择的机会
正常情况下不会,最多是丢失 windows 启动项,而且老的文件在 menu.lst~ ,可以再抄过来photor 写了:我想,如果你曾经极其厉害地手动改过menu.lst文件,导致更新程序无法自动识别你的启动信息并作相应修改的话,选择 install the package maintainer's version 可能会有一定的风险,最好以后都一直自己手动改
但是如果你修改了注释部分的某些行,确实是会出毛病的:
位于 ## ## Start Default Options ## 和 ## ## End Default Options ## 之间的注释不是可以乱动的,他是告诉 update-grub 脚本在升级内核时如何更新 menu.lst。在这个部分中两个以上的 # 打头的才是真正的注释。一个 # 打头的是控制 update-grub 脚本如何运作的变量。 重要的有
# kopt=root=UUID=112d6f08-9a31-43f8-8a17-89e46ba65e17 ro
内核选项。如果修改了这里的 uuid,下一次碰到升级的时候就会使用这个错误的 uuid 来更新 menu.lst,导致无法启动。
# groot=(hd0,2)
grub 启动分区,修改了这项安装新内核更新 menu.lst 时会写入错误的 root (hdx,y) 导致无法启动!
# defoptions=quiet splash
默认项的附加内核选项。即,默认项是用 kopt+defoptions 做内核选项
# altoptions=(recovery mode) single
(其他项的名字) 其他项的附加内核选项。可以用多行写多项
# memtest86=true
这个可以改成 false,升级时不会再加入基本没用的 memtest86
一般没有人会去动这些东西,但是有一类情况,比如删除了某个 windows 分区导致 grub 启动分区编号改变,某种原因导致 uuid 改变,大家都知道要修复 grub,修改 menu.lst,然后就可以启动了,以为完事了。下一次升级更新的时候,发现又不能启动了,menu.lst 又使用了修复前的设置。原因就是改正 menu.lst 的时候要连这几行一并改好才算完
# kopt=...
# groot=...
像这种情况,最简单的办法是系统成功启动后,删除老的 menu.lst,然后运行 sudo update-grub :
update-grub 在有 /boot/grub/menu.lst 存在的时候直接读里面保存的变量来工作,在没有找到 menu.lst 的时候会分析 fstab 和 /boot 下的内核来生成 menu.lst,并以 # 写入那些变量供自己下次使用。如果 menu.lst 错误极多,最好是这样删掉重建。
还是不够了解 menu.lst 啊。仔细看 menu.lst 里这几行,已经写得很清楚了:myubunt_720 写了: 哇哈哈,真的被你说中了!
在另外一台机器上,我同样把XP的字段剪切到最前面了,更新menu.lst后,XP字段消失了!
复制粘贴搞定……
...
...
...
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST
# 你的 xp 启动项应该放在这里,或者更前面
### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below
## DO NOT UNCOMMENT THEM, Just edit them to your needs
## ## Start Default Options ##
...
...
...
## ## End Default Options ##
...
...
...
### END DEBIAN AUTOMAGIC KERNELS LIST
...
...
他告诉你,非 ubuntu 的启动项请放在 ### BEGIN AUTOMAGIC KERNELS LIST 之前,或者 ### END DEBIAN AUTOMAGIC KERNELS LIST 之后。否则,下次升级还会把你的 xp 项抹掉的。这两行之间的部分是由 update-grub 维护的。如果你真的需要把 xp 项往前移的话,请再往前一点
-
- 帖子: 232
- 注册时间: 2008-06-04 11:24
Re: ubnuntu升级过程中“What would you like to do about menu.lst? ”的问题
哈哈,文件里的说明没有仔细看过……billbear 写了:可以运行myubunt_720 写了:这是升级了内核了,需要修改下启动菜单上的内容
keep the local version currently installed 这个是保留现有版本的menu.lst不变。
使用它的后果是:你虽然下载了新版本的内核在机器上,但是你开机启动界面时新内核是不会出现在选择菜单里面的,供你选择的还是没升级前的menu.lst里面记录的旧版本的内核。
我就这样选了一次,最后手动修改了menu.lst搞定
sudo update-grub
就会再给你一次选择的机会正常情况下不会,最多是丢失 windows 启动项,而且老的文件在 menu.lst~ ,可以再抄过来photor 写了:我想,如果你曾经极其厉害地手动改过menu.lst文件,导致更新程序无法自动识别你的启动信息并作相应修改的话,选择 install the package maintainer's version 可能会有一定的风险,最好以后都一直自己手动改
但是如果你修改了注释部分的某些行,确实是会出毛病的:
位于 ## ## Start Default Options ## 和 ## ## End Default Options ## 之间的注释不是可以乱动的,他是告诉 update-grub 脚本在升级内核时如何更新 menu.lst。在这个部分中两个以上的 # 打头的才是真正的注释。一个 # 打头的是控制 update-grub 脚本如何运作的变量。 重要的有
# kopt=root=UUID=112d6f08-9a31-43f8-8a17-89e46ba65e17 ro
内核选项。如果修改了这里的 uuid,下一次碰到升级的时候就会使用这个错误的 uuid 来更新 menu.lst,导致无法启动。
# groot=(hd0,2)
grub 启动分区,修改了这项安装新内核更新 menu.lst 时会写入错误的 root (hdx,y) 导致无法启动!
# defoptions=quiet splash
默认项的附加内核选项。即,默认项是用 kopt+defoptions 做内核选项
# altoptions=(recovery mode) single
(其他项的名字) 其他项的附加内核选项。可以用多行写多项
# memtest86=true
这个可以改成 false,升级时不会再加入基本没用的 memtest86
一般没有人会去动这些东西,但是有一类情况,比如删除了某个 windows 分区导致 grub 启动分区编号改变,某种原因导致 uuid 改变,大家都知道要修复 grub,修改 menu.lst,然后就可以启动了,以为完事了。下一次升级更新的时候,发现又不能启动了,menu.lst 又使用了修复前的设置。原因就是改正 menu.lst 的时候要连这几行一并改好才算完
# kopt=...
# groot=...
像这种情况,最简单的办法是系统成功启动后,删除老的 menu.lst,然后运行 sudo update-grub :
update-grub 在有 /boot/grub/menu.lst 存在的时候直接读里面保存的变量来工作,在没有找到 menu.lst 的时候会分析 fstab 和 /boot 下的内核来生成 menu.lst,并以 # 写入那些变量供自己下次使用。如果 menu.lst 错误极多,最好是这样删掉重建。还是不够了解 menu.lst 啊。仔细看 menu.lst 里这几行,已经写得很清楚了:myubunt_720 写了: 哇哈哈,真的被你说中了!
在另外一台机器上,我同样把XP的字段剪切到最前面了,更新menu.lst后,XP字段消失了!
复制粘贴搞定……
...
...
...
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST
# 你的 xp 启动项应该放在这里,或者更前面
### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below
## DO NOT UNCOMMENT THEM, Just edit them to your needs
## ## Start Default Options ##
...
...
...
## ## End Default Options ##
...
...
...
### END DEBIAN AUTOMAGIC KERNELS LIST
...
...
他告诉你,非 ubuntu 的启动项请放在 ### BEGIN AUTOMAGIC KERNELS LIST 之前,或者 ### END DEBIAN AUTOMAGIC KERNELS LIST 之后。否则,下次升级还会把你的 xp 项抹掉的。这两行之间的部分是由 update-grub 维护的。如果你真的需要把 xp 项往前移的话,请再往前一点
学习了,多谢指点,现在去剪切粘贴去
linux太强大了啊……………………
- 白鳍豚
- 帖子: 2356
- 注册时间: 2009-01-19 23:03
- franklee88
- 帖子: 104
- 注册时间: 2009-02-26 13:07
-
- 帖子: 133
- 注册时间: 2006-07-06 2:07
- forevercz
- 帖子: 325
- 注册时间: 2008-01-24 22:08
Re: [已解决] ubnuntu升级时遇“What would you like to do about menu.lst?”
看了很多帖子,这一篇最有用,终于自己搞定升级内核的事情了!嘿嘿,本人菜鸟。