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 / 问题 / 36439
Accepted
s3v3n
s3v3n
Asked: 2011-04-23 07:01:35 +0800 CST2011-04-23 07:01:35 +0800 CST 2011-04-23 07:01:35 +0800 CST

内核更新后 Ubuntu 无法启动

  • 772

更新到最新内核(2.6.32-31-generic)后,当我启动我的电脑时,我得到的只是 grub2 提示符。我没有收到任何错误,它很简单不会启动。

我试过这个https://help.ubuntu.com/community/Grub2#Boot%20a%20Specific%20Kernel%20Manually但我的问题似乎是单独分区上的 /boot 并且教程不包括这部分。

如果我能启动,我想我可以做一个 grub-update,但首先我需要进入。

我有 Ubuntu 10.04,但我认为这是一个与 grub 相关的问题,Linux 版本无关紧要。

请帮忙,谢谢!

boot
  • 3 3 个回答
  • 9705 Views

3 个回答

  • Voted
  1. desgua
    2011-04-23T10:28:44+08:002011-04-23T10:28:44+08:00

    我可以按照以下说明多次恢复 grub:https ://wiki.ubuntu.com/Grub2#Recover

    首先,您必须从 live cd 启动系统。然后

    "方法 3 - CHROOT

    这种安装方法使用 chroot 命令来访问损坏的系统文件。发出 chroot 命令后,LiveCD 将损坏系统的 / 视为自己的。在 chroot 环境中运行的命令将影响损坏的系统文件系统,而不是 LiveCD 的文件系统。

    1) 引导至 LiveCD 桌面(Ubuntu 9.10 或更高版本)。请注意,Live CD 必须与您正在修复的系统相同 - 32 位或 64 位(如果不是,则 chroot 将失败)。

    2)打开一个终端 - 应用程序,附件,终端。

    3)确定你正常的系统分区——(开关是小写的“L”)

    须藤 fdisk -l  
    

    如果不确定,请运行

    df -Th
    查找正确的磁盘大小和 ext3 或 ext4 格式。

    4)挂载您的普通系统分区:

    替换正确的分区:sda1、sdb5 等。

    须藤挂载/dev/sdXX /mnt  
    # 示例:sudo mount /dev/sda1 /mnt

    5) 仅当您有单独的引导分区时:sdYY 是 /boot 分区名称(例如 sdb3)

    sudo mount /dev/sdYY /mnt/boot

    6)挂载关键的虚拟文件系统:

    sudo mount --bind /dev /mnt/dev
    sudo mount --bind /dev/pts /mnt/dev/pts
    sudo mount --bind /proc /mnt/proc
    sudo mount --bind /sys /mnt/sys

    7) Chroot 进入你的普通系统设备:

    须藤chroot /mnt

    8) 如果没有 /boot/grub/grub.cfg 或者它不正确,使用创建一个

    更新 grub

    9) 重新安装 GRUB 2:

    替换正确的设备 - sda、sdb 等。不要指定分区号。

    grub-安装 /dev/sdX

    10) 验证安装(使用正确的设备,例如 sda。不要指定分区):

    sudo grub-install --recheck /dev/sdX
    11) 退出 chroot:键盘上的 CTRL-D

    12) 卸载虚拟文件系统:

    sudo umount /mnt/dev/pts
    sudo umount /mnt/dev
    sudo umount /mnt/proc
    须藤卸载 /mnt/sys

    13) 如果你挂载了一个单独的 /boot 分区:

    sudo umount /mnt/boot

    14) 卸载 LiveCD 的 /usr 目录:

    sudo umount /mnt/usr

    15)卸载最后一个设备:

    须藤卸载 /mnt

    16) 重新启动。

    须藤重启
    "

    • 4
  2. Best Answer
    s3v3n
    2011-04-23T10:57:46+08:002011-04-23T10:57:46+08:00

    经过更多搜索,我找到了我真正想要的东西,这解决了我的问题。这篇文章解释了如果 /boot 和 / 在不同的分区上如何手动启动:http: //ubuntuaddict.com/ubuntu-how-to-boot-from-a-grub2-prompt-when-there-are-separate-引导和分区/

    在我的例子中,我在 sda7 上有 /boot,在 sda8 上有 /,所以这些命令对我有用:

    grub> set prefix=(hd0,7)/grub
    grub> insmod linux
    grub> set root=(hd0,8)
    grub> linux (hd0,7)/vmlinuz-2.6.32-31-generic root=/dev/sda8 ro
    grub> initrd (hd0,7)/initrd.img-2.6.32-31-generic
    grub> boot
    

    请注意:grub2 从 0 开始计算硬盘,从 1 开始计算分区。

    这成功启动到我的 ubuntu,并在终端中输入:

    sudo update-grub
    

    我注意到实际上这是两个命令update-grub,update-grub2并且实际上是相同脚本的启动器/usr/sbin/grub-mkconfig,但具有不同的选项。(见update-grub2 --help和)。cat /usr/sbin/update-grubcat /usr/sbin/update-grub2

    重启后一切正常:)

    • 1
  3. nem75
    2011-04-23T09:08:55+08:002011-04-23T09:08:55+08:00

    如果可以显示 grub 引导菜单,则不需要从 grub 提示符引导旧内核。

    开机时按住左移。这将打开 Grub2 启动菜单。选择最新内核之前的内核(从顶部开始的第三个菜单选项)并启动它。

    • 0

相关问题

  • grub 菜单中的“恢复”选项是什么?

  • 用户如何避免在启动时输入密码?[关闭]

  • 更改 Wubi 的启动顺序

  • 如何在 Ubuntu 启动时显示或隐藏启动消息?

  • 如何避免启动时出现“S to Skip”消息?

Sidebar

Stats

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

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    我需要什么命令来解压缩/提取 .tar.gz 文件?

    • 8 个回答
  • Marko Smith

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

    • 24 个回答
  • Marko Smith

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

    • 25 个回答
  • Marko Smith

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

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Martin Hope
    EmmyS 我需要什么命令来解压缩/提取 .tar.gz 文件? 2011-02-09 14:50:41 +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
    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