Grub救援没有这样的设备,也无法访问BIOS

我购买了一台预装了Windows 8的Acer Aspire M5-481PT-6688。我擦掉了它,重新安装了我自己的无bloatware副本,并尝试在其上启动双启动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启动。

在ubuntuforums.org中使用drs350的精彩指南 (对他来说很荣幸),您可以启动Live CD,甚至可以从grub rescue>提示符下安装Ubuntu。 这里的确切步骤:

前提条件

此过程适用于:

  • Ubuntu系列使用Grub 2发布
  • 格式错误的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。

    • 从以下url下载Ubuntu ISO: http : //www.ubuntu.com/desktop/get-ubuntu/download或
    • 从http://www.ubuntu.com/netbook/get-ubuntu/download下载Ubuntu上网本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/vmlinuz以及initrd.img 。 使用此地址作为下一个命令的第一部分。
    • ls (hdX,Y)/boot/grub – 应该显示几十个* .mod文件。 这是您要查找的文件夹。

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

     set prefix=(hdX,Y)/ 

    此命令必须正确指向包含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. 

    “找不到文件”错误意味着前缀中的路径不正确或特定模块不存在。 可以使用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)// 

    例:

     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=/ 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的当前每日构建需要登录才能进入桌面。 选择默认用户将不允许使用sudo因为用户不存在密码。 选择“其他”,然后选择用户名“Ubuntu”并将密码字段留空。 这将允许在安装过程中使用sudo卸载/isodevice

可以从引导的ISO文件安装到硬盘驱动器上。 不需要CD。 建议使用Internet连接,但不是必需的。 如果没有连接,则不会更新从ISO安装的软件包,也不会下载其他软件包。

  1. 使用上述ISO引导过程引导至Live CD桌面。

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

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

       linux /casper/vmlinuz boot=casper iso-scan/filename=/ noprompt noeject toram -- 
    • 如果安装程序可以在提示符下卸载/isodevice ,则安装将继续。
    • 如果内存不足(我的系统上有3GB内存失败)并开始安装,安装程序将无法卸载/isodevice ,安装将失败,系统可能会冻结。 重新启动并完成“引导过程”部分中的所有步骤。 不要重复本小节并继续下面。
  2. 打开终端:应用程序,附件,终端

  3. 卸载/isodevice

     sudo umount -l -r -f /isodevice 

    双击“Install Ubuntu”图标启动安装过程。

    安装将像任何相同版本的安装一样进行,类似于备用CD。

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

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

资源:

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

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

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