Bagaimana Saya bisa memperbaiki grub? (Bagaimana Cara mendapatkan Ubuntu kembali setelah menginstal Windows?)

Saya menginstal Windows 7, yang memakan file boot Ubuntu. Saat memulai komputer, sekarang langsung menuju Windows, tanpa memberi saya opsi untuk mem-boot Ubuntu.

Bagaimana Saya bisa mendapatkan Ubuntu kembali?

Ketika Anda menginstal Windows, Windows menganggap itu adalah satu-satunya sistem operasi (OS) pada mesin, atau setidaknya tidak memperhitungkan Linux. Jadi itu menggantikan GRUB dengan boot loader sendiri. Yang harus anda lakukan adalah mengganti boot loader Windows dengan GRUB. Saya telah melihat berbagai instruksi untuk mengganti GRUB dengan mengacaukan perintah GRUB atau semacamnya, tetapi bagi saya cara termudah adalah dengan sederhana chroot ke Anda menginstal dan menjalankan update-grub. chroot besar karena memungkinkan Anda untuk bekerja pada instalasi Anda yang sebenarnya, daripada mencoba untuk mengarahkan hal-hal di sana-sini. Ini benar-benar bersih.

Begini caranya:

  1. Boot dari Live CD atau live USB, dalam mode" coba Ubuntu".
  2. Tentukan nomor partisi partisi utama Anda. sudo fdisk -l, sudo blkid atau GParted (yang seharusnya sudah diinstal, secara default, pada sesi langsung) dapat membantu anda di sini. Saya akan berasumsi dalam jawaban ini bahwa itu /dev/sda2, tapi pastikan Anda menggunakan nomor partisi yang benar untuk sistem Anda!

    Jika partisi utama Anda berada dalam LVM, perangkat akan ditempatkan di /dev/mapper/, kemungkinan besar, /dev/mapper/{volume}--{os}-root dimana {volume} adalah nama volume LVM dan {os} adalah sistem operasi. Jalankan ls /dev/mapper untuk nama yang tepat.

  3. Pasang partisi Anda:

    sudo mount /dev/sda2 /mnt  #Replace sda2 with the partition from step 2

    Jika Anda memiliki yang terpisah /boot, /var atau /usr partisi, ulangi Langkah 2 dan 3 untuk memasang partisi ini ke /mnt/boot, /mnt/var dan /mnt/usr masing-masing. Misalnya,

    sudo mount /dev/sdXW /mnt/bootsudo mount /dev/sdXY /mnt/varsudo mount /dev/sdXZ /mnt/usr

    mengganti sdXW, sdXY, dan sdXZ dengan nomor partisi masing-masing.

  4. Bind mount beberapa hal lain yang diperlukan:

    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
  5. Jika Ubuntu diinstal dalam mode EFI (lihat jawaban ini jika Anda tidak yakin), gunakan sudo fdisk -l | grep -i efi atau GParted untuk menemukan partisi EFI Anda. Ini akan memiliki label EFI. Pasang partisi ini, ganti sdXY dengan nomor partisi yang sebenarnya untuk sistem Anda:

    sudo mount /dev/sdXY /mnt/boot/efi
  6. chroot ke instalasi Ubuntu Anda:

    sudo chroot /mnt
  7. Pada titik ini, Anda berada di instalasi Anda, bukan sesi langsung, dan berjalan sebagai root. Perbarui grub:

    update-grub

    Jika Anda mendapatkan kesalahan atau jika naik ke langkah 7 tidak memperbaiki masalah Anda, lanjutkan ke langkah 8. (Jika tidak, itu opsional.)

  8. Tergantung pada situasi Anda, Anda mungkin harus menginstal ulang grub:

    grub-install /dev/sdaupdate-grub # In order to find and add windows to grub menu.
  9. Jika Ubuntu diinstal dalam mode EFI, dan partisi EFI UUID telah berubah, Anda mungkin perlu memperbaruinya /etc/fstab. Bandingkan:

    blkid | grep -i efigrep -i efi /etc/fstab

    Jika partisi EFI saat ini UUID (dari blkid) berbeda dari yang ada di /etc/fstab, pembaruan /etc/fstab dengan UUID saat ini.

  10. Jika semuanya bekerja tanpa kesalahan, maka anda sudah siap:

    exitsudo reboot
  11. Pada titik ini, Anda harus dapat boot secara normal.

Jika Anda tidak dapat boot secara normal, dan tidak melakukan langkah 8 karena tidak ada pesan kesalahan, coba lagi dengan Langkah 8.

  • Terkadang memberi GRUB2 yang benar konfigurasi untuk partisi Anda tidak cukup, dan Anda harus benar-benar menginstalnya (atau menginstal ulang) ke Master Boot Record, yang Langkah 8 tidak. Pengalaman membantu pengguna dalam obrolan telah menunjukkan bahwa langkah 8 terkadang diperlukan bahkan ketika tidak ada pesan kesalahan yang ditampilkan.

Penginstal Windows tidak peduli dengan OS lain di sistem. Jadi menulis kode sendiri atas Master boot record. Untungnya solusinya juga mudah.

Anda perlu memperbaiki MBR. Lakukan hal berikut

Boot menggunakan USB / cd langsung dari ubuntu. Gunakan boot-repair untuk memperbaiki masalah.

Setelah boot dengan live usb / cd, jalankan perintah berikut di terminal:

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get updatesudo apt-get install -y boot-repair && boot-repair

Gunakan Recomended Repair.

enter image description here

Info lebih lanjut - https://help.ubuntu.com/community/Boot-Repair

Boot dari flashdisk USB Ubuntu langsung atau CDand
Instal Boot-Repair di ubuntu dengan mengikuti langkah-langkah

Buka terminal dan jalankan perintah berikut

sudo add-apt-repository ppa:yannubuntu/boot-repairsudo apt-get updatesudo apt-get install boot-repair

>>Setelah menyelesaikan instalasi, Anda dapat meluncurkannya dari menu System-Administration-Boot-Repair jika Anda menggunakan Gnome, atau cari "boot-repair" di dasbor jika Anda menggunakan Unity. Kemudian ikuti screenshot berikut:

Metode 1

  • Klik pada opsi lanjutan

Initial screen

  • Centang opsi yang ditunjukkan di bawah ini

advanced option

  • Ubah tab ke tab Lokasi Grub dan centang opsi yang ditunjukkan pada gambar

enter image description here

Tekan Terapkan dan Reboot sistem

Metode 2

  • Pilih opsi Perbaikan Boot yang disarankan seperti yang ditunjukkan pada tangkapan layar pertama

Dokumentasi :

Hanya menginstal easyBCD pada Windows 7 dan melakukan

>>>Tambahkan entri baru Linux/BSD (pilih) Grub2 (push) Tambahkan entri

Kemudian Anda dapat memilih Ubuntu pada bootloader Windows 7 untuk pergi ke Grub2 (bootloader sebelumnya).

Pada sistem berbasis EFI (seperti kebanyakan sistem yang dikirimkan dengan Windows 8 atau yang lebih baru), Windows terkadang akan memperbarui boot loader atau mengatur ulang menjadi boot loader default. Ini sangat umum ketika menginstal ulang OS atau melakukan pembaruan sistem utama (meningkatkan ke rilis Windows terbaru, misalnya). Perhatikan bahwa Windows tidak mungkin benar-benar menghapus file GRUB apa pun di komputer berbasis EFI. Semua yang diperlukan untuk mem-boot Ubuntu masih ada; itu hanya dilewati. Dalam kasus ini, instalasi ulang GRUB yang lengkap berlebihan, dan pada kenyataannya itu membawa kemungkinan (kecil) bahwa itu akan menciptakan masalah baru.

Jadi, alih-alih menginstal ulang GRUB dalam kasus ini, saya sarankan mengatur ulang GRUB (atau boot loader atau boot manager apa pun yang anda inginkan) menjadi default. Ada beberapa cara untuk melakukan ini, termasuk:

  • EasyUEFI -- Cara termudah untuk menyesuaikan urutan boot, jika sistem boot langsung ke Windows, adalah dengan menggunakan EasyUEFI, yang merupakan alat GUI pihak ketiga gratis (untuk versi dasar) untuk mengelola urutan boot EFI. Ini cukup jelas - menemukan ubuntu masuk dalam daftar opsi boot dan pindahkan ke bagian atas daftar. Lain kali Anda reboot, GRUB harus muncul. (Jika Anda menggunakan sesuatu selain GRUB, Anda harus menemukan entri.)
  • bcdedit -- Jendela bcdedit alat dapat digunakan untuk mengatur GRUB ke urutan boot default. Perintah bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi, diketik dalam sebuah Administrator Jendela Command Prompt, akan melakukan ini; namun, jika komputer Anda melakukan booting dengan Secure Boot active, bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi akan diperlukan sebagai gantinya. Bahkan, perintah yang terakhir akan biasanya bekerja bahkan jika Boot Aman tidak digunakan, jadi saya akan menggunakan perintah itu terlebih dahulu. Perhatikan bahwa ada alat shell Windows yang lebih canggih yang memerlukan sintaks yang sedikit berbeda dari yang saya sajikan, tetapi saya tidak ingat detailnya.
  • Boot satu kali ke Ubuntu -- Kebanyakan EFIs menyediakan built-in boot manager, diakses dengan menekan tombol fungsi, Esc, atau masukkan awal proses sistem start. Kemungkinannya adalah ubuntu entri untuk boot Ubuntu akan muncul di menu boot manager ini, memungkinkan Anda untuk boot ke Ubuntu. Atau, Anda dapat mem-boot ke media darurat Ubuntu, seperti penginstal yang di-boot dalam mode "coba sebelum menginstal". Either way, Anda kemudian dapat menggunakan efibootmgr untuk menyesuaikan urutan boot:
    1. Jenis sudo efibootmgr untuk melihat entri boot.
    2. Perhatikan saat ini BootOrder line.
    3. Temukan entri untuk ubuntu dan perhatikan nya Boot#### nomor.
    4. Jenis sudo efibootmgr -o xxxx[,yyyy,zzzz,....] untuk mengubah urutan boot, membuat xxxx nomor untuk Ubuntu. Apa yang terjadi setelah itu kemungkinan besar tidak terlalu penting, meskipun saya telah mencatat bahwa Windows tampaknya cenderung menambahkan dirinya kembali ke awal urutan boot jika tidak ada dalam daftar. Dengan demikian, Anda mungkin harus memastikan bahwa Windows ada dalam daftar, dan mungkin paling aman untuk memesan ulang daftar sehingga semua entri asli ada di sana, hanya dengan ubuntu entri pindah ke bagian atas daftar.
  • Utilitas Pengaturan Firmware -- Beberapa EFIs' setup utilitas memungkinkan Anda untuk menyesuaikan urutan boot. Detail sangat bervariasi dari satu EFI ke EFI lainnya, jadi saya tidak akan membahas secara spesifik, tetapi Anda dapat mencari opsi seperti itu di utilitas pengaturan Anda.

Ada varian lain pada prosedur ini, seperti menggunakan bcfg dalam shell EFI, menggunakan bless di macOS, menggunakan saya rEFInd untuk melakukan boot satu kali, dll. Saya akan mulai dengan EasyUEFI; itu mungkin solusi paling sederhana. Terkadang Windows bersikeras menjadikan dirinya default setiap kali dijalankan, dan laporan menunjukkan itu bcdedit dapat melakukan pekerjaan yang lebih baik untuk mengatasi masalah itu.

Perhatikan bahwa tidak ada yang sebelumnya berlaku untuk instalasi mode BIOS; namun, karena kebanyakan komputer yang dikirimkan dengan Windows 8 atau yang lebih baru boot dalam mode EFI, instalasi mode BIOS menjadi semakin langka, jadi dalam banyak kasus lebih baik untuk menangani masalah dengan cara EFI daripada dengan menginstal ulang Grub secara membabi buta.

Sekarang ada solusi yang lebih sederhana:

  1. Reboot, dan masukkan opsi BIOS komputer Anda (F2, atau terkadang F11).
  2. Pergi ke Boot menu, dan pilih Prioritas Perangkat Boot
  3. Periksa apakah Windows Boot Manager berada di atas drive boot utama (biasanya SATA HDD … atau IDE HDD …). Jika ya, pindahkan prioritas disk boot di atas Windows Boot Manager.
  4. Simpan opsi BIOS Anda, dan keluar (biasanya F10).

Ini telah diuji pada Laptop Samsung Series 7 Chronos dual boot Windows 8 dan Ubuntu 13.10, boot Aman dinonaktifkan, UEFI dan boot legacy diaktifkan.

Boot-perbaikan bekerja untuk saya. Ini sangat sangat mudah untuk menggunakan aplikasi grafis, Anda tidak perlu menggunakan baris perintah, Anda hanya perlu mengklik tombol :)

Semua opsi perbaikan yang tersedia dijelaskan dalam Dokumentasi Ubuntu dan ada halaman terpisah menjelaskan cara memulai Boot-Repair (dengan membuat disk yang Dapat di-boot atau menginstalnya di Ubuntu live disk yang ada) dan cara menggunakannya.

Hanya boot Ubuntu Live CD, menginstal Boot-Perbaikan dan menjalankannya.

Ketika GRUB rusak, pengguna umumnya tidak memiliki akses ke sistem, jadi perbaikan harus dilakukan dari sesi langsung (live-CD atau live-USB).

Ada banyak kemungkinan penyebab kerusakan GRUB: penulisan Windows pada MBR, DRM mencegah GRUB menginstal dengan benar, bug penginstal, perubahan perangkat keras...Memperbarui GRUB seperti yang diusulkan awalnya oleh Scott umumnya tidak cukup, menginstal ulang GRUB seperti yang diusulkan oleh Marco lebih efisien, tetapi masih ada berbagai situasi yang memerlukan penyesuaian lain (menambahkan opsi ke kernel, membuka menu GRUB, mengubah opsi GRUB, memilih arsitektur host yang tepat...).Kesulitan lain untuk memperbaiki GRUB adalah penggunaan chroot, dan pilihan partisi /disk yang tepat.

Semua ini telah dibuat mudah dalam alat grafis kecil: Boot-Perbaikan. Itshall diintegrasikan dalam Ubuntu 12.04 CD untuk penggunaan yang lebih mudah, tetapi bagi orang-orang yang membutuhkannya sekarang, sudah ada beberapa distro yang mengintegrasikannya: Ubuntu-Secured-Remix (Ubuntu CD mengintegrasikan Boot-Repair), Boot-Repair-Disk (CD menjalankan Boot-Repair saat start-up),...

Semoga ini bisa membantu.

Jawaban yang diberikan oleh Scott dan Web - e cukup baik dan telah banyak membantu berkali-kali. Tetapi berkali-kali, alat boot-repair tidak dapat memperbaiki grub karena masalah yang terkait dengan platform i386 dan amd64 atau yang tidak dapat ditemukan grub efi direktori.
Apa yang telah memecahkan masalah saya seperti lebih dari 10 kali adalah membersihkan instalasi grub lama secara manual dan menginstal yang baru.

Jadi pertama-tama lakukan 6 langkah pertama dari Scott's jawaban di mana Anda dapat melewati langkah ke-5 jika memberikan kesalahan:

  1. Boot dari Live CD atau live USB, dalam mode" coba Ubuntu".
  2. Tentukan nomor partisi partisi utama Anda. sudo fdisk -l, sudo blkid atau GParted (yang seharusnya sudah diinstal, secara default, pada sesi langsung) dapat membantu anda di sini. Saya akan berasumsi dalam jawaban ini bahwa itu /dev/sda2, tapi pastikan Anda menggunakan nomor partisi yang benar untuk sistem Anda!

    Jika partisi utama Anda berada dalam LVM, perangkat akan ditempatkan di /dev/mapper/, kemungkinan besar, /dev/mapper/{volume}--{os}-root dimana {volume} adalah nama volume LVM dan {os} adalah sistem operasi. Jalankan ls /dev/mapper untuk nama yang tepat.

  3. Pasang partisi Anda:

    sudo mount /dev/sda2 /mnt  #Replace sda2 with the partition from step 2

    Jika Anda memiliki yang terpisah /boot, /var atau /usr partisi, ulangi Langkah 2 dan 3 untuk memasang partisi ini ke /mnt/boot, /mnt/var dan /mnt/usr masing-masing. Misalnya,

    sudo mount /dev/sdXW /mnt/bootsudo mount /dev/sdXY /mnt/varsudo mount /dev/sdXZ /mnt/usr

    mengganti sdXW, sdXY, dan sdXZ dengan nomor partisi masing-masing.

  4. Bind mount beberapa hal lain yang diperlukan:

    for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
  5. Jika Ubuntu diinstal dalam mode EFI ([lihat jawaban ini jika Anda tidak yakin] [efi]), gunakan sudo fdisk -l | grep -i efi atau GParted untuk menemukan partisi EFI Anda. Ini akan memiliki label EFI. Pasang partisi ini, ganti sdXY dengan nomor partisi yang sebenarnya untuk sistem Anda:

    sudo mount /dev/sdXY /mnt/boot/efi
  6. chroot ke instalasi Ubuntu Anda:

    sudo chroot /mnt

Kemudian lakukan langkah-langkah ini:

  1. Konfigurasikan semua paket yang tertunda.
    sudo dpkg --configure -a
  2. Perbaiki paket yang rusak.
    sudo apt install -fy
  3. Hapus grub saat ini.
    sudo apt purge -y grub*-common grub-common:i386 shim-signed
    Ini mungkin memberi Anda peringatan bahwa perangkat Anda tidak akan memiliki bootloaderdan mungkin tidak dapat mem-boot di lain waktu. Pergi ke depan dan menerimanya.
  4. sudo apt install -y grub-pc
    Setelah menjalankan perintah ini, ia akan meminta Anda untuk mengarahkan arus sdXY untuk menginstal bootloader. Temukan di mana OS Anda saat ini diinstal menggunakan sudo fdisk -l perintah. Ini akan diberi label sebagai Linux. Arahkan jendela itu menggunakan Tab kunci dan pilih opsi menggunakan Space kunci.
  5. Jika semuanya berjalan dengan baik, grub akan diinstal dengan benar. Anda juga dapat melakukan sudo grub-update untuk pemeriksaan ganda.

Jika masalah masih berlanjut, Anda dapat membaca Arch's wiki untuk benar-benar memahami tentang grub untuk mengatasi banyak jenis masalah lainnya. (Ya, juga membantu untuk Ubuntu!).

Jawaban Scott Severance valid dan terperinci tetapi ada resolusi yang membutuhkan tidak ada perangkat boot eksternal jadi tidak perlu mengidentifikasi dan memasang secara manual semua partisi Ubuntu Anda yang mengarah ke chroot.

Di Windows 10, Anda dapat menggunakan Advanced Recovery untuk memilih perangkat (partisi?) untuk boot dari.

Pergi ke Settings dan memilih Update & Security:

enter image description here

Pergi ke Recovery:

enter image description here

Dari Advanced Startup pilih Restart Now

enter image description here

Kemudian pilih Use a Device dan semua opsi boot harus disajikan kepada anda. Pilih partisi 'ubuntu' dan PC Anda kemudian harus boot dari partisi itu.

Setelah boot ke lingkungan Ubuntu saya yang biasa, saya telah mencoba hanya menjalankan grub-update tapi itu tidak membuat perubahan.

Saya kemudian menemukan saya /boot/efi partisi yang /dev/nvme0n1p1 dan berlari sudo grub-install /dev/nvme0n1p1 dan kemudian sudo update-grub.

Ini telah memulihkan catatan boot master saya beberapa kali sekarang karena tampaknya ada kebijakan Windows 10 baru menimpa info boot pada pembaruan kecil.

Terkait (ketika GRUB diinstal ke * MBR drive yang salah*): masalah penyelamatan Grub setelah menginstal ubuntu

Catatan: jawaban yang diterima adalah instruksi umum tentang cara memperbaiki grub. Hal ini juga berlaku untuk berbagai keadaan ketika GRUB ditulis secara tidak benar oleh installer (ubiquity).

Saya tahu ini adalah utas lama tetapi saya memperbaiki masalah dengan mengubah mode boot di bios dari UEFI ke Legacy.

Saya pikir itu adalah tugas umum, saya juga memiliki dua HDD, dan Ubuntu+Windows. Saya harap Anda dapat memperbaikinya dengan cara yang benar. Coba ikuti [ini] (RecoveringUbuntuAfterInstallingWindows - Community Help Wiki) tutorial. Ada pertanyaan, tanyakan padaku!

Ya anda bisa, Anda hanya perlu melakukan boot normal dan menginstal dengan windows dan kemudian akan muncul di menu boot Grub saat start-up komputer.