先决条件

先决条件

我购买了一台预装了 Windows 8 的 Acer Aspire M5-481PT-6688。我删除了它,重新安装了我自己的无臃肿软件副本,并尝试在其上双启动 Ubuntu 13.04。它有一个混合驱动器,因此当我安装它并同时运行 Windows 时,Ubuntu 安装在 SSD 上,而 Windows 安装在 HHD 上。后来我通过格式化 SSD 删除了 Ubuntu,现在我卡在提示符处grub rescue>。错误显示:no such device。无论我按什么组合键(F2、F8、F10、F12、Esc、Del),我都无法访问我的 BIOS,也无法从 CD/DVD 驱动器或 USB 启动。

答案1

使用很棒的导游ubuntuforums.org 上的 drs350(向他致敬)您可以启动您的 Live CD,甚至可以从grub rescue>提示符中安装 Ubuntu。以下是具体步骤:

先决条件

此过程适用于:

  • 使用 Grub 2 的 Ubuntu 系列版本
  • 格式错误的 Grub 2 菜单 (grub.cfg)
  • 缺少 Linux 内核和 initramfs 映像
  • 损坏的系统文件夹(不包括模块文件夹)

为了使此过程正常工作,您必须:

  • 在可从 Grub 救援提示访问的分区上拥有 Ubuntu 系列 Live CD ISO 映像。
  • 必须找到并正确加载以前安装的 Grub 模块。

以下情况该程序不适用:

  • 缺少 Grub 2 模块(通常位于 /boot/grub 或 /usr/lib/grub/i386-pc 中)
  • 损坏的 Ubuntu ISO 映像
  • 损坏的分区结构 - “ls”仅返回“(hd0)”

启动过程

  1. 下载 ISO。

  2. 找到 Ubuntu 分区和包含 Grub 模块的文件夹。

    必须找到包含模块的 Grub 文件夹,以便加载正确的模块。此文件夹将在 Ubuntu 的初始安装期间创建,应位于 Ubuntu 分区中。此文件夹通常(hdX,Y)/boot/grub位于(hdX,Y)/usr/lib/grub/i386-pc

    找到您现有的 Ubuntu 分区和模块文件夹。

    ls                               # List the known drives (hdX) and partitions (hdX,Y)
    ls (hdX,Y)/                      # List the contents of the partition's root
    ls (hdX,Y)/boot/grub             # Normal location of the Grub 2 modules.
    ls (hdX,Y)/usr/lib/grub/i386-pc  # Alternate location of the Grub 2 modules.
    
    • ls- 应返回所有已知的驱动器(hdX)和分区(hdX,Y)
    • ls (hdX,Y)/- 应该显示分区根目录的内容。

      • 如果你得到“错误:未知的文件系统”这不是您的 Ubuntu 分区;稍后会详细介绍。
      • 如果这是 Ubuntu 分区,您将看到 Ubuntu 文件夹,包括、、和和lost+found/home/使用boot/此地址作为下一个命令的第一部分。vmlinuzinitrd.img
    • ls (hdX,Y)/boot/grub- 应该会显示几十个 *.mod 文件。这是您要查找的文件夹。

      • 如果找不到模块,请尝试其他位置:ls (hdX,Y)/usr/lib/grub/i386-pc
  3. 加载模块。

    set prefix=(hdX,Y)/<path to modules>
    

    此命令必须正确指向包含 Grub 模块的文件夹。地址应该是上一节中显示模块的地址。示例:

    set prefix=(hd0,5)/boot/grub
    set prefix=(hd1,1)/usr/lib/grub/i386-pc
    

    加载模块:

    insmod linux
    insmod loopback
    insmod iso9660
    insmod fat        # If ISO is located on fat16 or fat32 formatted partition.
    insmod ntfs       # If ISO is located on an NTFS formatted partition.
    insmod nftscomp   # If NTFS compression is used on the partition. Load if you aren't sure.
    

    A“文件未找到”错误表示前缀中的路径不正确或特定模块不存在。可以使用 set 命令检查前缀设置。"set prefix="使用正确的路径重新运行该命令。

  4. 找到 Ubuntu ISO 文件。

    使用相同的 ls 命令组合,找到 Ubuntu ISO 映像。

    ls (hdX,Y)/
    
    • 您正在寻找包含 ISO 的内容,例如 ubuntu-10.04.1-desktop-i386.iso
    • 如果 ISO 映像不在 / 文件夹中,请展开路径。
    • 如果您收到错误:未知的文件系统您可能需要加载文件系统模块(例如 ntfs 或 fat。请返回上一节获取指导。)
  5. 创建环回设备。

    loopback loop (hdX,Y)/<path to ISO>/<ISO-name.iso>
    

    例子:

    loopback loop (hd1,1)/ubuntu-10.04.1-desktop-i386.iso
    
  6. 加载 Linux 内核和 initrd 映像。

    set root=(loop)
    linux /casper/vmlinuz boot=casper iso-scan/filename=/<ISO-name.iso> noprompt noeject
    initrd /casper/initrd.lz
    

    如果 ISO 路径或文件名不正确,启动将在 BusyBox 屏幕上停止并显示一条消息,指出“无法打开 /dev/sr0:未找到介质”

    笔记:如果 ISO 文件不在/文件夹中,则在条目中包含路径iso-scan/filename=。参见第二个示例。

    例子:

    linux /casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-10.04.1-desktop-i386.iso
    linux /casper/vmlinuz boot=casper iso-scan/filename=/my-iso/ubuntu-10.04.1-desktop-i386.iso
    
  7. 引导。

    就是这样。如果命令运行时没有任何消息/错误,则命令被接受为输入。现在是启动的时候了:

    boot
    

安装 Ubuntu - 从 Live CD ISO

关于 Oneiric Daily ISO 安装的说明:Oneiric Ocelot 的当前每日构建需要登录才能进入桌面。选择默认用户将不允许使用,因为用户没有密码。选择“其他”,然后选择用户名“Ubuntu”,并将密码字段留空。这将允许在安装过程中sudo使用sudo卸载。/isodevice

可以从启动的 ISO 文件安装到硬盘上。无需 CD。建议但不是必须有互联网连接。如果没有连接,从 ISO 安装的软件包将不会更新,也不会下载其他软件包。

  1. 使用上述 ISO 启动程序启动到 Live CD 桌面。

    笔记:如果您有大量 RAM,则可以使用 toram 选项。这将允许系统启动到内存中并允许在安装过程中自动卸载 isodevice1。必须卸载 /isodevice 才能成功安装。如果安装程序无法卸载 /isodevice,则安装将失败,除非用户强制卸载。此强制卸载包含在本节后面详细介绍的过程中。

    • 如果您想尝试 toram 选项,请替换上面的 linux 行并使用这一行:

      linux /casper/vmlinuz boot=casper iso-scan/filename=/<ISO-name.iso> noprompt noeject toram --
      
    • 如果/isodevice安装程序可以根据提示卸载,则安装将继续。
    • 如果内存不足(我的系统内存为 3GB,安装失败),则安装程序将无法卸载/isodevice,安装将失败,系统可能会冻结。重新启动并完成“启动过程”部分。不要重复此小节并继续下面的内容。
  2. 打开终端:应用程序、附件、终端

  3. 卸载/isodevice

    sudo umount -l -r -f /isodevice
    

    双击开始安装程序“安装 Ubuntu”图标。

    安装将按照同一版本的任何安装方式进行,类似于备用 CD。

该指南继续介绍网络安装程序,这可能对这种特定情况没有用,而且我也不能保证它的有效性,所以我将该部分留在我的答案之外。

如果本指南需要改进,请随时发表评论。我检查了直到可以为止(因为我不会为了测试而破坏我的 grub)。

来源:

http://ubuntuforums.org/showthread.php?t=1599293&p=9987717#post9987717

答案2

取出电池等待几分钟并连接电池,BIOS 选项就会出现,您也可以从 CD 启动。

答案3

我的答案是,重新安装 Ubuntu,当它要求您输入密码时,请选中“自动登录”按钮。看来密码表单导致了 GRUB 问题,因为 grub 无法访问 grub.cfg。希望这能有所帮助!

相关内容