修复启动Windows时的‘Error:no such device’错误

问题起因

原先的主机有一块固态硬盘和一块机械硬盘,机械硬盘上安装的是Ubuntu系统,固态硬盘上安装的是Windows10系统。平时使用的时候通过Ubuntu来引导启动。最近机械硬盘坏掉了,在BIOS将启动设备设置为固态硬盘想启动Windows系统的时候无法正常启动,报错‘Error:no such device’,然后就进入‘grub rescue’界面。

解决方案

  1. 首先准备一个Ubuntu的U盘启动盘,然后修改BIOS启动顺序,通过U盘启动。U盘启动之后进入Live CD模式。
  2. 打开Terminal,运行sudo apt-get install lilo
  3. 运行sudo fdisk -l,可以看到windows所在硬盘下有分区对应的Boot栏有*标记
  4. 运行sudo lilo -M /dev/sdb mbr,其中sdb应当替换为windows所在硬盘。注意这里是sdb而不是sdb1
  5. 重新启动,调整BIOS启动顺序

关于lilo和grub的区别,可以参照这个页面