Eu tenho um laptop que veio com um HDD e um Windows 8 pré-instalado. Eu substituí o HDD por um SSD e coloquei o HDD no lugar do compartimento óptico com um optibay. Eu instalei um novo Windows no SSD e um Ubuntu depois.
Meu problema é que, muitas vezes, ao inicializar do GRUB para o Windows, recebo a mensagem de erro:
error: not a valid root device.
Isso nem sempre ocorre, mas na metade do tempo. Quando isso acontece, o Windows ainda pode ser inicializado se eu for para as configurações de inicialização do UEFI e alterar a ordem de inicialização para que o Windows esteja à frente do Ubuntu (GRUB). Nesse caso, é claro, só posso inicializar no Windows e, se quiser inicializar o Ubuntu, preciso voltar às configurações de inicialização e alterar a ordem de volta. Muito chato.
(Isso vem ocorrendo há um bom tempo, mas é só agora que estou realmente farto disso, já que tenho que alternar frequentemente entre os dois sistemas operacionais.)
Eu tenho investigado o problema, e acontece que, por algum motivo, quando eu estava instalado o Windows no SSD, ele ainda decidiu usar o ESP que já estava criado no HDD. O Ubuntu também se registrou no mesmo ESP em sdb1, mas também criou o próprio em sda3.
Quando eu inicio no Ubuntu, / dev / sda3 é montado em / boot / efi, onde existem apenas os arquivos de inicialização do 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 não é montado automaticamente. Se eu montar, posso ver os arquivos de inicialização do Ubuntu e do Windows (muitos arquivos para listar todos eles):
> 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/
A pasta ubuntu
aqui também parece ter todos os arquivos relevantes, exceto os mais antigos:
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
Eu não estou muito feliz com esta situação, idealmente eu quero que o HDD (sdb) sirva apenas como armazenamento de dados, para que eu possa removê-lo se necessário. Obviamente, isso não é possível, devido ao ESP (mais completo) estar nesse disco.
Eu também suspeito que isso de alguma forma cause o problema error: not a valid root device
que descrevi anteriormente.
Como você sugere que eu resolva esta situação?
Tags boot uefi ubuntu multi-boot