从实时 USB Linux 启动时出错:无法从“cd0”读取扇区 0x0

从实时 USB Linux 启动时出错:无法从“cd0”读取扇区 0x0

我使用 Ubuntu 创建了一个持久存储实时 USB,并使用了几天,它运行良好。

现在我在我的电脑上为朋友在 Ubuntu 上创建了另一个这样的实时 USB,以便他可以在他的电脑上做同样的事情。

他的 USB 工作正常,但现在我无法从 PC 上的原始 USB 启动。我只能从朋友的 USB 启动。当我从我的 USB 启动时,蛴螬给了我错误:错误:无法从“cd0”读取扇区 0x0

我总是可以从其他电脑使用它,但我需要在自己的电脑上工作。有什么建议吗?

看起来 grub 已经用新的配置覆盖了我之前的 ubuntu 引导加载程序配置。如何恢复之前与我的 USB 配合使用的配置?

答案1

使用你朋友的 Ubuntu live USB chroot 到你的 Ubuntu live USB 并通过运行修复其 GRUB 引导加载程序update-grub

  1. 从其他正常运行的 Ubuntu live USB 启动。
  2. 确定主分区的分区号。GParted(默认情况下应该已在实时会话中安装)可以为您提供帮助。我将在此答案中假设它是 /dev/sda2,但是确保您对原始 Ubuntu live USB 使用正确的分区号!
  3. 挂载你的分区:

    sudo mount /dev/sda2 /mnt  # Replace sda2 with your partition number
    
  4. 绑定安装一些其他必要的东西:

    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
    
  5. 如果 Ubuntu 安装在 EFI 模式下(如果你不确定,请参阅此答案),使用 GParted 找到您的 EFI 分区。它将有一个标签EFI。挂载此分区,将其替换sdXY为您系统的实际分区号:

    sudo mount /dev/sdXY /mnt/boot/efi
    
  6. chroot进入你的 Ubuntu 安装:

    sudo chroot /mnt
    
  7. 此时,您处于安装状态,而不是实时会话,并以 root 身份运行。更新 grub:

    update-grub
    

    如果出现错误或者执行到步骤 7 无法解决问题,请转至步骤 8。(否则,这是可选的。)

  8. 根据您的情况,您可能必须重新安装 grub:

    grub-install /dev/sda
    update-grub # In order to find and add windows to grub menu.
    
  9. 如果一切顺利,没有错误,那么一切就完成了:

    exit
    sudo reboot 
    

来源:https://askubuntu.com/questions/88384/how-can-i-repair-grub-how-to-get-ubuntu-back-after-installing-windows/88432#88432

相关内容