Dual boot Win 8 / Ubuntu hanya memuat Win


11

Komputer saya adalah Notebook Sony Vaio. Saya menggunakan Ubuntu dan Win 8 dengan dualboot tetapi windows entah bagaimana berhasil menghapus menu untuk memilih OS saat startup. Saya pikir BIOS adalah UEFI. Boot aman telah dinonaktifkan dan Perbaikan Boot entah bagaimana gagal.

Bagaimana saya bisa memperbaikinya?


sda hilang GRUB ... "Tempatkan GRUB ke sda" menggunakan: help.ubuntu.com/community/Boot-Repair
jmunsch

3
Dengan UEFI Anda tidak memiliki grub dalam MBR dari sda, hanya di partisi efi yang mana.
oldfred

Jawaban:


17

Sony, HP, dan banyak vendor laptop diberi kode-keras hanya untuk mem-boot Windows.

Ada beberapa putaran yang menyarankan Anda memindahkan grub grubx64.efiatau shimx64.efifile di atas Windows /EFI/windows/bootmgfw.efi. Namun ini tidak dianjurkan karena Pembaruan Windows akan memulihkan bootmgfw.efidan Anda akan kembali ke Booting windows saja.

Sebagai gantinya, saya sarankan mengganti nama fallback /EFI/Boot/bootx64.efi dan boot entri hard drive atau gunakan rEFInd.

Pastikan Anda mencadangkan seluruh partisi EFI sebelum melakukan perubahan.

Anda memiliki beberapa opsi yang tersedia:

I. Memindahkan dan mengganti nama file grub grubx64.efiatau shim64.efi(untuk boot aman) ke folder / file ini/EFI/BOOT/BOOTX64.EFI

  1. Ganti nama /efi/boot/bootx64.efi, salin shim atau grub ke / efi / boot dan beri nama bootx64.efi Kemudian boot entri hard drive. Versi baru dari Boot-Repair secara otomatis melakukan ini dengan 'Gunakan file EFI standar' dalam opsi lanjutan. Itu juga mencadangkan bootx64.efi saat ini yang mungkin hanya salinan file boot Windows .efi.

    Dari penginstal langsung, pasang partisi efi di hard drive: Pasang partisi efi. periksa partisi mana yang FAT32 dengan flag boot. Seringkali sda1 atau sda2 tetapi bervariasi.

    sudo mount /dev/sda1 /mnt
    

    hanya jika belum ada,

    sudo mkdir /mnt/EFI/Boot
    sudo cp /mnt/EFI/ubuntu/* /mnt/EFI/Boot
    

    Jika folder baru dibuat, bootx64.efi tidak akan ada, lewati perintah ini

    sudo mv /mnt/EFI/Boot/bootx64.efi /mnt/EFI/Boot/bootx64.efi.backup
    

    Jadikan grub menjadi entri booting hard drive di UEFI. Jika tidak ada, mungkin harus memperbarui UEFI juga dengan efibootmgr.

    sudo mv /mnt/EFI/Boot/grubx64.efi /mnt/EFI/Boot/bootx64.efi 
    

    Jika perlu, tambahkan entri booting hard drive UEFI baru: Lihat juga

    man efibootmgr
    

    Jika ESP adalah sda atau entri drive & partisi default:

    sudo efibootmgr -c -L "UEFI Hard drive" -l "\EFI\Boot\bootx64.efi"
    

    Jika ESP bukan sda1, sdX adalah drive, Y adalah partisi efi, juga NVMe drive:

    sudo efibootmgr -c -g  -w -L "UEFI hard drive" -l '\EFI\Boot\bootx64.efi' -d /dev/sdX -p Y
    sudo efibootmgr -c -L "UEFI hard drive" -l "\EFI\Boot\bootx64.efi" -d /dev/nvme0n1 -p 2 
    
  2. (Ini sama dengan apa yang dilakukan Boot-Repair di II. Sekarang tidak disarankan: Ganti nama /efi/Microsoft/Boot/bootmgfw.efi dan salin grub atau shim ke / efi / Microsoft / Boot dan beri nama bootmgfw.efi Kemudian boot entri Windows untuk boot ke menu grub. Anda harus secara manual menambahkan entri menu grub untuk mem-boot file yang diubah namanya menjadi Windows efi. Entri os-prober mem-boot entri bootmgfw.efi yang sekarang hanya grub, sehingga tidak akan berfungsi.

    Pengguna yang memindahkan file efi secara manual ke sekitar melihat pos # 6.

    http://ubuntuforums.org/showthread.php?t=2101840
    http://ubuntuforums.org/showthread.php?t=2219452
    http://ubuntuforums.org/showthread.php?t=2221498&p=13012109#post13012109

II Jika Anda menjalankan perbaikan Boot-perbaikan untuk "buggy UEFI" dengan salinan yang lebih lama lebih baik untuk membatalkannya. Dan kemudian buat perubahan di atas untuk menggunakan bootx64.efi Untuk membatalkan dan mengganti nama file dengan nama aslinya, Anda hanya perlu mencentang opsi "Restore EFI backups" dari Boot-Repair.

Ganti nama apa pun secara manual atau dengan Boot-Repair harus diulang setelah pembaruan Windows karena akan mengembalikan file Windows.

AKU AKU AKU. Edit Windows BCD, salah satu alternatif dari Boot-Repair untuk membuat shim memiliki nama Windows. Beberapa sistem bekerja lebih baik untuk mendaftarkan grub / shim dari dalam Windows - bagi mereka yang terus mereset Windows sebagai default.

Grub tidak ditampilkan pada startup untuk Windows 8.1 Ubuntu 13.10 Dual boot

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

https://coderwall.com/p/vfyqkg

IV. Jika Deskripsi harus Windows, maka ubah deskripsi UEFI. Ini benar-benar hanya berfungsi untuk mereka yang hanya Ubuntu, dan tidak menginstal Windows sama sekali.

sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\ubuntu\shimx64.efi"

Pulihkan atau entri Windows UEFI baru - mengasumsikan default sda1 add -p 2 if sda2 (lihat opsi man efibootmgr -d drive & -p partisi):

sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\Microsoft\Boot\bootmgfw.efi"
sudo efibootmgr -c -L "Windows Boot Manager" -l "\EFI\Microsoft\Boot\bootmgfw.efi" -d /dev/nvme0n1 -p 1 

V. Beberapa menginstal rEFInd yang tampaknya merupakan solusi lain dan memiliki ikon boot yang bagus.

http://www.rodsbooks.com/refind/index.html

http://www.rodsbooks.com/refind/secureboot.html

PPA tersedia untuk membuatnya mudah dipasang di Ubuntu

http://www.rodsbooks.com/refind/getting.html


Iya! Mengganti nama berhasil untuk saya! Saya memasang partisi efi dan menyalin file ../EFI/ubuntu/grubx64.efi ke ../EFI/Boot/ dan ke / EFI / Microsoft / Boot dan mengubah nama file sebagai berikut. Dalam direktori ../EFI/Boot saya menimpa bootx64.efi dengan file dan di ../EFI/Microsoft/Boot saya menimpa bootmgfw.efi dengan file tersebut. Hanya itu yang saya pikirkan. Terima kasih banyak!
user296880

Bagi yang terjebak di Windows: Saya berhasil melakukan pendekatan rename yang dijelaskan dalam opsi a1 tanpa meninggalkan Windows. Saya membuka jendela perintah sebagai administrator, kemudian berlari mountvol S: /Suntuk me-mount partisi EFI sebagai S :. Saya punya masalah aneh dengan naik dan turun folder, tetapi memindahkan salinan grubx64.efi folder sekaligus ke / EFI / Boot, kemudian mengubah nama itu menjadi bootx64.efi bekerja.
Peter Becker

Saya terkejut jurusan bahasa Inggris yang memberi nomor baru pada pos saya tidak melakukan hal itu. Saya memiliki komentar lama yang merujuk ke A: & B: sebagai bagian utama. :)
oldfred

0

Saya memiliki Acer yang memiliki masalah yang sama. Solusi saya adalah "reboot" windows, daripada shutdown (yang sebenarnya hanya hybernate.)

Dengan me-reboot (Yang dapat memicu pembaruan,) sistem dimatikan dan Anda dapat memilih boot dari bios. Anda harus menangkapnya sebelum reboot.

Saya jarang menggunakan windows jadi booting dengan cara ini tidak mengganggu saya sama sekali. Kecuali, tentu saja, pembaruan windows.


0

The jawaban di atas tidak bekerja untuk teman saya HP Pavilion, tapi saya menemukan solusi yang layak. Tampaknya firmware HP selalu menimpa BootOrderpada setiap boot dan menetapkan Windows terlebih dahulu, tetapi tetap dihormati BootNext. Jadi saya menulis skrip startup untuk diset BootNextpada setiap boot.

  1. Lari

    efibootmgr
    

    untuk menemukan kode numerik BootCurrent. Dalam kasus teman saya ini 0003.

  2. /etc/systemd/system/boot-linux-next.service:

    [Unit]
    Description=Boot Linux next
    
    [Service]
    Type=oneshot
    # Replace '3' in the next line with the appropriate code.
    ExecStart=efibootmgr --bootnext 3
    
    [Install]
    WantedBy=multi-user.target
    
  3. Lari

    systemctl enable --now boot-linux-next.service
    

Ini berarti bahwa jika Anda pernah mem-boot sesuatu yang lain, Anda harus memilih Linux secara manual saat boot berikutnya.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.