我在尝试将 Ubuntu 安装为计算机的唯一操作系统时收到错误“grub-install /dev/sda failed”。

Lia*_*ath 37 grub2 system-installation

我正在尝试在以前运行 Windows 7 的机器上安装 Ubuntu。

我也遇到过可怕的“无法安装 GRUB”错误。

我没有尝试双启动。我以前运行过 Windows 启动盘并删除了所有现有分区。

如果我运行 Ubuntu 12.04 安装 CD 并在配置屏幕后单击安装Executing 'grub-install /dev/sda' failed. This is a fatal error.
,则会出现错误 (与此问题相同的错误:无法安装 GRUB

我在寻找解决方案时阅读的所有问题都与双启动有关。我对双启动不感兴趣,我正在清理 Ubuntu 安装。我怎样才能做到这一点?

(为了我的理智,请在回复时使用非常简单的说明。我不声称自己对 linux 或系统管理员有任何天赋)


从日期为 2012-05-29 ~15:19Z 的评论中复制的其他详细信息

从 CD 启动后,单击Try Ubuntu,然后sudo fdisk /dev/sda我得到
fdisk: unable to seek on /dev/sda: Invalid argument

sudo fdisk /dev/sdb

Device contains neither a valid DOS partiion table, nor Sun, SGI or OSF disklabel. 
Building a new DOS disklabel with disk identifier 0x15228d1d. 
Changes will remain in memory only until you decide to write them. 
After that of course, the previous content won't be recoverable. 
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite). 
Command (m for help):
Run Code Online (Sandbox Code Playgroud)

我应该补充一下 Live CD 桌面在图形上很糟糕。我丢失了部分程序,终端偶尔会反映到屏幕底部。但我无法想象这是相关的。

小智 13

我遇到过同样的问题。

通过首先单击“尝试 Ubuntu”按钮,然后单击“安装 Ubuntu”桌面快捷方式来解决它。

  • 我尝试了这种方法,但仍然出现相同的错误。 (3认同)

har*_*mkv 10

我认为它可能弄乱了您的硬盘名称。请尝试重新安装 GRUB。

  1. 使用 Ubuntu 的 live CD 启动。

  2. 打开终端并运行命令

    sudo fdisk -l
    
    Run Code Online (Sandbox Code Playgroud)

    它列出了硬盘的完整分区表。在那里,确定您安装了 linux 的分区。您可以使用为其分配的驱动器大小并查看输出的最后一列来识别它,该列将针对所有 linux 分区“扩展”。分区很可能是类似的/dev/sda5东西。记住这个分区。

  3. 在您的主目录中创建一个临时文件夹(注意:您可以在任何地方创建临时文件夹。我使用主文件夹只是为了说明)。我现在称它为“临时”。所以'temp'文件夹的路径将是/home/ubuntu/temp。

  4. 在那里挂载你的 linux 分区。也就是说,假设您发现您的 linux 分区是/dev/sda5,您可以通过执行以下命令将其安装在“temp”文件夹中

    sudo mount /dev/sda5 /home/ubuntu/temp
    
    Run Code Online (Sandbox Code Playgroud)
  5. 如果要检查是否已挂载正确的分区,请转到您的主文件夹并打开 temp。您将在/目录中。在那里你会找到'home',你的主文件夹的名字就在那里。确认安装了正确的分区后,请执行步骤 6。

  6. 您必须通过在开始时向系统显示从硬盘读取数据的位置来安装 grub。不用担心,只需运行以下命令

    sudo grub-install --root-directory=/home/ubuntu/temp /dev/sda
    
    Run Code Online (Sandbox Code Playgroud)

    /dev/sda对应于您的硬盘名称。用命令sudo fdisk -l命令显示的任何内容替换它。

  7. 你完成了。您可以重新启动系统。