我有一台笔记本电脑,配有硬盘和Windows 8预装。我已经用SSD替换了硬盘驱动器,并将硬盘驱动器放在光学托架的位置,并带有optibay。我之后在SSD和Ubuntu上安装了新的Windows。
我的问题是,当从GRUB启动到Windows时,我经常收到错误消息:
错误:不是有效的根设备。
这并不总是发生,但大约一半的时间。发生这种情况时,如果我进入UEFI引导设置并更改引导顺序以使Windows领先于Ubuntu(GRUB),则Windows仍可引导。在这种情况下,当然,我只能启动到Windows,如果我想启动Ubuntu,我必须回到启动设置并更改订单。真烦人
(这已经发生了很长一段时间,但是现在我真的厌倦了它,因为我必须经常在两个操作系统之间切换。)
我已经调查了这个问题,事实证明,由于某些原因,当我在SSD上安装Windows时,它仍然决定使用已经在HDD上创建的ESP。Ubuntu也在sdb1上注册了同样的ESP,但也在sda3上创建了自己的ESP。
当我启动到Ubuntu时,/ dev / sda3挂载到/ boot / efi,其中只有Ubuntu启动文件:
> ls -lR /boot/efi
/boot/efi:
total 4
drwxr-xr-x 3 root root 4096 feb 13 2016 EFI
/boot/efi/EFI:
total 4
drwxr-xr-x 2 root root 4096 feb 13 2016 ubuntu
/boot/efi/EFI/ubuntu:
total 3444
-rwxr-xr-x 1 root root 126 aug 20 13:50 grub.cfg
-rwxr-xr-x 1 root root 958328 aug 20 13:50 grubx64.efi
-rwxr-xr-x 1 root root 1271672 aug 20 13:50 MokManager.efi
-rwxr-xr-x 1 root root 1289424 aug 20 13:50 shimx64.efi
sdb1未自动安装。如果我挂载它,我可以看到Ubuntu和Windows的启动文件(太多文件列出所有这些文件):
> ll sdb1/EFI/
total 20
drwxr-xr-x 5 root root 4096 mrt 13 2015 ./
drwxr-xr-x 6 root root 4096 jan 1 1970 ../
drwxr-xr-x 2 root root 4096 mrt 13 2015 Boot/
drwxr-xr-x 4 root root 4096 okt 12 2014 Microsoft/
drwxr-xr-x 2 root root 4096 mrt 13 2015 ubuntu/
ubuntu
这里的文件夹似乎也有所有相关文件,除了旧文件:
sdb1/EFI/ubuntu:
total 3444
-rwxr-xr-x 1 root root 126 jan 8 2016 grub.cfg
-rwxr-xr-x 1 root root 958328 jan 8 2016 grubx64.efi
-rwxr-xr-x 1 root root 1271672 jan 8 2016 MokManager.efi
-rwxr-xr-x 1 root root 1289424 jan 8 2016 shimx64.efi
我对这种情况不是很满意,理想情况下我希望HDD(sdb)仅用作数据存储,以便我可以在必要时将其删除。这当然不可能,因为该磁盘上有(更完整的)ESP。
我也怀疑这会导致error: not a valid root device
我之前描述的问题。
你怎么建议我理清这种情况?