AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 3476
Accepted
Bananeweizen
Bananeweizen
Asked: 2010-09-03 08:30:57 +0800 CST2010-09-03 08:30:57 +0800 CST 2010-09-03 08:30:57 +0800 CST

内核更新后 Grub 不再启动(现在第二次)

  • 772

几周前,我配置了一台双启动笔记本电脑以在我磁盘的第三个分区上运行 Xubuntu 10.4(即我必须手动设置安装位置)。一切都很好,直到我安装了一堆自动更新(包括一个新内核),这些更新是在 Wifi 最终工作后发现的。重新启动后,Grub 不再启动到 Xubuntu(它之前曾多次启动),只是显示了一个提示。我设法使用 Live CD 和一小时的互联网阅读来修复系统。

几个星期以来,一切都很好,包括自动更新。昨天我通过自动更新获得了一个新内核。你猜怎么着?之后笔记本电脑拒绝启动。

在我看来,每次内核更新都会使我的系统无法启动。除了明显的“不要安装更新”之外,我还能如何防止这种情况发生?我还应该在该系统上检查或监控其他任何内容吗?还是我关于内核更新的结论完全错误,我应该寻找导致这些症状的其他原因?

编辑:评论中询问的更多细节:我没有在更新和崩溃之间启动 Windows,所以对我来说,它似乎只与 Xubuntu 有关。Grub 是 Grub2(1.98 版本)。/boot/grub/grub.cfg 看起来像这样:

#
# 不要编辑这个文件
#
# 它是由 /usr/sbin/grub-mkconfig 使用模板自动生成的
# 来自 /etc/grub.d 和来自 /etc/default/grub 的设置
#

### 开始 /etc/grub.d/00_header ###
如果 [ -s $prefix/grubenv ]; 然后
  加载环境
菲
设置默认=“0”
如果 [ ${prev_saved_entry} ]; 然后
  设置 saved_entry=${prev_saved_entry}
  save_env 保存的条目
  设置 prev_saved_entry=
  save_env prev_saved_entry
  设置 boot_once=true
菲

功能保存默认{
  如果 [ -z ${boot_once} ]; 然后
    保存条目=${选择}
    save_env 保存的条目
  菲
}

函数记录失败{
  设置记录失败=1
  如果 [ -n ${have_grubenv} ]; 那么如果 [ -z ${boot_once} ]; 然后 save_env 记录失败;菲; 菲
}
insmod ext2
设置根='(hd0,5)'
搜索 --no-floppy --fs-uuid --set c1550ae8-66af-414c-874d-15cb43176ba5
如果加载字体 /usr/share/grub/unicode.pf2 ;然后
  设置 gfxmode=640x480
  insmod gfxterm
  insmod vbe
  如果终端输出 gfxterm ; 然后是真的;别的
    # 为了向后兼容不支持的 terminal.mod 版本
    # 理解终端输出
    终端 gfxterm
  菲
菲
insmod ext2
设置根='(hd0,5)'
搜索 --no-floppy --fs-uuid --set c1550ae8-66af-414c-874d-15cb43176ba5
设置 locale_dir=($root)/boot/grub/locale
设置 lang=de
insmod 获取文本
如果 [ ${recordfail} = 1 ]; 然后
  设置超时=-1
别的
  设置超时=10
菲
### END /etc/grub.d/00_header ###

### 开始 /etc/grub.d/05_debian_theme ###
设置 menu_color_normal=白色/黑色
设置 menu_color_highlight=黑色/浅灰色
### END /etc/grub.d/05_debian_theme ###

### 开始 /etc/grub.d/10_linux ###
menuentry 'Ubuntu,mit Linux 2.6.32-24-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    记录失败
    insmod ext2
    设置根='(hd0,5)'
    搜索 --no-floppy --fs-uuid --set c1550ae8-66af-414c-874d-15cb43176ba5
    linux /boot/vmlinuz-2.6.32-24-generic root=UUID=c1550ae8-66af-414c-874d-15cb43176ba5 ro quiet splash
    initrd /boot/initrd.img-2.6.32-24-generic
}
menuentry 'Ubuntu,mit Linux 2.6.32-24-generic (Wiederherstellungsmodus)' --class ubuntu --class gnu-linux --class gnu --class os {
    记录失败
    insmod ext2
    设置根='(hd0,5)'
    搜索 --no-floppy --fs-uuid --set c1550ae8-66af-414c-874d-15cb43176ba5
    echo 'Linux 2.6.32-24-generic wird geladen ...'
    linux /boot/vmlinuz-2.6.32-24-generic root=UUID=c1550ae8-66af-414c-874d-15cb43176ba5 ro单
    echo 'Initiale Ramdisk wird geladen ...'
    initrd /boot/initrd.img-2.6.32-24-generic
}
menuentry 'Ubuntu,mit Linux 2.6.32-21-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    记录失败
    insmod ext2
    设置根='(hd0,5)'
    搜索 --no-floppy --fs-uuid --set c1550ae8-66af-414c-874d-15cb43176ba5
    linux /boot/vmlinuz-2.6.32-21-generic root=UUID=c1550ae8-66af-414c-874d-15cb43176ba5 ro quiet splash
    initrd /boot/initrd.img-2.6.32-21-generic
}
menuentry 'Ubuntu,mit Linux 2.6.32-21-generic (Wiederherstellungsmodus)' --class ubuntu --class gnu-linux --class gnu --class os {
    记录失败
    insmod ext2
    设置根='(hd0,5)'
    搜索 --no-floppy --fs-uuid --set c1550ae8-66af-414c-874d-15cb43176ba5
    echo 'Linux 2.6.32-21-generic wird geladen ...'
    linux /boot/vmlinuz-2.6.32-21-generic root=UUID=c1550ae8-66af-414c-874d-15cb43176ba5 ro单
    echo 'Initiale Ramdisk wird geladen ...'
    initrd /boot/initrd.img-2.6.32-21-generic
}
### END /etc/grub.d/10_linux ###

### 开始 /etc/grub.d/20_memtest86+ ###
menuentry "内存测试 (memtest86+)" {
    insmod ext2
    设置根='(hd0,5)'
    搜索 --no-floppy --fs-uuid --set c1550ae8-66af-414c-874d-15cb43176ba5
    linux16 /boot/memtest86+.bin
}
menuentry "内存测试 (memtest86+, 串行控制台 115200)" {
    insmod ext2
    设置根='(hd0,5)'
    搜索 --no-floppy --fs-uuid --set c1550ae8-66af-414c-874d-15cb43176ba5
    linux16 /boot/memtest86+.bin 控制台=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### 开始 /etc/grub.d/30_os-prober ###
menuentry "Microsoft Windows XP Professional (on /dev/sda1)" {
    安装ntfs
    设置根='(hd0,1)'
    搜索 --no-floppy --fs-uuid --set 883cb1b73cb1a09c
    drivemap -s (hd0) ${root}
    链式装载机 +1
}
### END /etc/grub.d/30_os-prober ###

### 开始 /etc/grub.d/40_custom ###
# 此文件提供了一种添加自定义菜单条目的简单方法。只需键入
# 您要在此评论之后添加的菜单条目。注意不要改变
# 上面的 'exec tail' 行。
### END /etc/grub.d/40_custom ###
grub2 updates kernel
  • 3 3 个回答
  • 4571 Views

3 个回答

  • Voted
  1. farcepest
    2013-03-27T11:33:28+08:002013-03-27T11:33:28+08:00

    我在笔记本电脑上安装了新的 Ubuntu 12.10(桌面)时发生了这种情况。系统在初始安装后正常启动,然后在获得内核更新(来自初始更新集)后,它会通过 GRUB 菜单,启动内核,然后是黑屏,没有密码提示。

    问题似乎与视频有关。我发现一直修复它,但不太漂亮的是编辑 /etc/default/grub,并从和 running中删除quietandsplash选项。如果您已经无法启动,那么当 GRUB 菜单出现时,按 E 编辑您的 GRUB 命令行并删除这些选项,然后按 ctrl-X 启动。GRUB_CMDLINE_LINUX_DEFAULTupdate-grub

    这个错误建议尝试plymouth:force-drm作为 GRUB 引导选项,这使得它不使用内核帧缓冲区驱动程序。这似乎也有效,只是它仍然没有使用启动画面,而是以文本模式启动。

    值得一提的是,我的笔记本电脑有两个图形芯片组:英特尔(使用 i915 内核驱动程序)和 Nvidia GTX680M(仍在努力加速这项工作)。可能是两个不同的图形设备的存在导致启动不确定。

    • 2
  2. Ralf
    2010-09-05T04:17:29+08:002010-09-05T04:17:29+08:00

    grub 无法启动,这意味着它的配置已损坏,或者其代码已被覆盖。

    这有可能的原因:

    • 某些 Windows 软件会覆盖硬盘驱动器上的隐藏(随机)空间。他们这样做是出于 DRM 的原因。但是,我认为问题在升级内核后立即弹出,然后重新启动,所以这可能不是。

    • 您的 ubuntu 分区(或至少一个持有 grub 的分区)上没有任何可用空间。确保你这样做。我现在把钱花在这个上。

    • 每次安装新内核时,grub 都会自动重新配置。尝试手动重新配置,看看是否有错误输出。在终端中运行“sudo update-grub”来执行此操作。你必须输入你的密码,它应该输出一些东西。

    • 你说它是你磁盘的第三个分区;它是可移动磁盘吗?像外置硬盘还是内置硬盘?因为在这种情况下,设备编号可能与安装时间不同。

    • 1
  3. Best Answer
    koushik
    2010-09-04T06:14:13+08:002010-09-04T06:14:13+08:00

    每次作为软件更新的一部分添加新内核时,都会更新 grub 配置。因此,Javier Rivera 要求的信息非常重要。相关的配置文件是/boot/grub/grub.cfg- 如果你没有找到它然后寻找/boot/grub/menu.lst

    此外,您可以运行update-grub并检查是否有任何错误 - 请同时发布结果。但是,如果 update-grub 成功,则解决方法是每次更新包含新内核时手动运行它。

    • 0

相关问题

  • 使用 apt-get upgrade 时如何强制安装内核更新?

  • 如何从命令行仅安装安全更新?关于如何管理更新的一些提示

  • iPod Touch (iPhone) 的固件更新?

  • 如何让 Ubuntu 减少检查更新的频率?对于 11.04 及更高版本对于赶时间的人!通过 Ubuntu 软件中心

  • 如何启用自动更新?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何安装 .run 文件?

    • 7 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    如何获得 CPU 温度?

    • 21 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Marko Smith

    如何使用命令行将用户添加为新的 sudoer?

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Marko Smith

    你如何重新启动Apache?

    • 13 个回答
  • Marko Smith

    如何卸载软件?

    • 11 个回答
  • Marko Smith

    如何删除 PPA?

    • 26 个回答
  • Martin Hope
    NES 如何启用或禁用服务? 2010-12-30 13:03:32 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    Olivier Lalonde 如何在结束 ssh 会话后保持进程运行? 2010-10-22 04:09:13 +0800 CST
  • Martin Hope
    David B 如何使用命令行将用户添加为新的 sudoer? 2010-10-16 04:02:45 +0800 CST
  • Martin Hope
    Hans 如何删除旧内核版本以清理启动菜单? 2010-08-21 19:37:01 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve