У меня есть ноутбук с предустановленным жестким диском и Windows 8. Я заменил жесткий диск на SSD и поместил жесткий диск вместо оптического отсека с помощью оптического отсека. Я установил новую Windows на SSD и Ubuntu впоследствии.
Моя проблема в том, что довольно часто при загрузке с GRUB на Windows, я получаю сообщение об ошибке:
ошибка: недопустимое корневое устройство.
Это не всегда происходит, но примерно в половине случаев. Когда это происходит, Windows все еще загружается, если я захожу в настройки загрузки UEFI и изменяю порядок загрузки так, чтобы Windows была впереди Ubuntu (GRUB). В этом случае, конечно, я могу загружаться только с Windows, и если я хочу загрузить Ubuntu, я должен вернуться к настройкам загрузки и изменить порядок обратно. Довольно раздражает.
(Это происходило довольно давно, но сейчас мне это надоело, так как я вынужден часто переключаться между двумя ОС).
Я исследовал проблему, и оказалось, что по какой-то причине, когда я установил Windows на SSD, он все же решил использовать ESP, который уже был создан на жестком диске. Ubuntu также зарегистрировался в том же ESP на sdb1, но также создал свой собственный на sda3.
Когда я загружаюсь в 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
Я не очень доволен этой ситуацией, в идеале я бы хотел, чтобы жесткий диск (sdb) служил только хранилищем данных, чтобы я мог удалить его при необходимости. Это, конечно, в настоящее время невозможно, так как (более полный) ESP находится на этом диске.
Я также подозреваю, что это как-то вызывает error: not a valid root device
проблема с действительным корневым устройством, которую я описал ранее.
Как бы вы предложили мне разобраться в этой ситуации?