Jag försökte dubbla startelement med Windows på min bärbara dator (Asus Zenbook UX305). För att göra det krympte jag Windows-partitionen med Windows-diskhanteraren och använde sedan elementärt installationsprogram ”s” installera tillsammans med Windows ”för att ställa in Linux-partitionerna automatiskt. När jag startade om efter installationen placerades jag i grub-konsolen. Jag kunde starta Linux manuellt med kommandona
grub> set root=(hd0,gpt4) grub> linux /boot/vmlinuz-3.19.0-26-generic root=/dev/sda4 grub> initrd /boot/initrd.img-3.19.0-26-generic grub> boot
och jag fann att körning av kommandot
grub> configfile (hd0,gpt4)/boot/grub/grub.cfg
skulle ladda den normala grubmenyn så som den ska ske – så det verkar inte finnas några problem med själva konfigurationsfilen. Jag fann också att roten och prefixet är på (hd0, gpt1), så körning
grub> set root=(hd0,gpt4) grub> set prefix=(hd0,gpt4)/boot/grub grub> insmod normal grub> normal
laddade också den normala grubmenyn. Så möjligen är problemet att grub tittar på fel partition?
I min BIOS har jag valet mellan att använda grub och Windows bootloader för att starta. Att välja Windows bootloader startar mig direkt i Windows utan problem.
Men jag kan inte hitta något sätt att få några fixar att hålla fast efter en omstart. Jag har försökt köra grub-install /dev/sda
, återskapa konfigurationsfilen med grub-mkconfig
och använda Ubuntu boot reparations gui-verktyget – ingen av dessa har fungerat. Finns det något sätt att åtgärda detta genom att installera om det ena eller båda operativsystemen? Jag skulle hellre inte behöva installera om Windows om möjligt.
Svar
Det verkar som att GRUB-menyn inte kan laddas eftersom den läser en felaktig efi-fil i /boot/efi/EFI/grub/
.
När du har startat i elementaryOS, kör du följande kommandon för att ersätta grubx64.efi
-fil i den mappen.
cd /boot/efi/EFI/grub sudo cp grubx64.efi grubx64.efi.backup (just in case) sudo rm grubx64.efi sudo cp /boot/grub/x86_64-efi/grub.efi /boot/efi/EFI/grub/grubx64.efi
Denna lösning kommer från användare som diskuterar ett rapporterat fel i elementaryOS. Se detaljer på: https://bugs.launchpad.net/elementaryos/+bug/1492801
Jag stod inför exakt samma problem som du (jag har installerat elementaryOS Freya 0.3.1 tillsammans med Windows 10) och följde stegen du beskrev innan du hittade den här lösningen.
Det är värt att notera att innan jag tillämpar korrigeringen hade jag inaktiverat snabb start i Windows 10, vilket kanske eller inte hade någon effekt. Se http://www.tenforums.com/tutorials/4189-fast-startup-turn-off-windows-10-a.html
Dessutom var jag tvungen att inaktivera säker start för att detta ska fungera . Med säker start aktiverad kunde min UX305 inte ladda grub helt. Tryck på Esc-tangenten på den första skärmen vid start, ange sedan installationen och stäng av säker start därifrån. Alternativt kan det finnas ett sätt att få säker start att fungera men jag är nöjd med den här lösningen för tillfället – min UX305 laddar nu GRUB-menyn komplett med ett Windows-alternativ!
Svar
Jag hade samma problem hittade lösningen:
1) i räddningsläget för grub, kör “set”
2) Det visa mig prefix = (hd1, gp1) / boot / efi / EFI / ubuntu /
3) I mitt fall, eftersom jag har KDE NEON finns mappen / boot / efi / EFI / ubuntu / inte, men mappen / / boot / efi / EFI / neon / Det finns. SÅ problemet är att peka på en mapp som inte existerar
4) Så jag kopierade hela mappen / boot / efi / EFI / neon / to / boot / efi / EFI / ubuntu /. Det gjorde tricket. I mitt fall är det också fel (hd1, gp1) eftersom det ska peka på hd1, gpt5. Men jag DINDT ändrade det och det fungerade.
Det jag ändrade är filen /boot/efi/EFI/ubuntu/grub.cfg, för att använda msdos-format:
search.fs_uuid xkjdiw-18e9-4d0a-ac55-2skjdh8425f root hd1,gpt5 set prefix=($root)"/grub" configfile $prefix/grub.cfg