Bagaimana saya bisa memperbaiki grub? (Bagaimana untuk mendapatkan Ubuntu kembali setelah menginstal Windows?)

Saya telah menginstal Windows 7, yang makan Ubuntu's file boot. Ketika memulai komputer, sekarang langsung masuk ke Windows, tanpa memberikan saya pilihan untuk booting Ubuntu.

Bagaimana saya bisa mendapatkan Ubuntu kembali?

Mengomentari pertanyaan (5)
Larutan

Ketika anda menginstal Windows, Windows menganggap itu adalah satu-satunya sistem operasi (OS) pada mesin, atau setidaknya tidak memperhitungkan untuk Linux. Sehingga mengganti GRUB dengan boot loader. Apa yang harus anda lakukan adalah mengganti boot loader Windows dengan GRUB. I've melihat berbagai petunjuk untuk mengganti GRUB dengan penyia-nyiaan waktu dengan perintah GRUB atau semacam itu, tapi bagi saya cara termudah adalah dengan hanya chroot ke anda install dan jalankan update-grub.root` adalah besar karena memungkinkan anda untuk bekerja pada anda menginstal sebenarnya, alih-alih mencoba untuk mengarahkan hal-hal di sana-sini. Hal ini benar-benar bersih.

Berikut ini's cara:

  1. Boot dari live CD atau live USB, di "Coba Ubuntu" modus.
  2. Menentukan jumlah partisi dari partisi utama. sudo fdisk -l, sudo hasil blkid atau GParted (yang harus sudah diinstal, secara default, pada sesi live) dapat membantu anda di sini. I'm akan menganggap ini menjawab bahwa itu's /dev/sda2, tapi pastikan anda menggunakan yang benar nomor partisi untuk sistem anda!

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

  1. Mount partisi anda:

sudo mount /dev/sda2 /mnt #Ganti sda2 dengan partisi dari langkah 2

Jika anda memiliki terpisah /boot, /var atau /usr partisi, ulangi langkah 2 dan 3 untuk me-mount partisi ini untuk /mnt/boot, /mnt/var dan /mnt/usr masing-masing. Misalnya,

sudo mount /dev/sdXW /mnt/boot sudo mount /dev/sdXY /mnt/var sudo mount /dev/sdXZ /mnt/usr

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

  1. Mengikat gunung beberapa hal-hal lain yang diperlukan:

untuk saya di /sys /proc /run /dev; melakukan sudo mount --bind "$i" "/mnt$i"; dilakukan

  1. Jika Ubuntu diinstal dalam modus EFI (lihat jawaban ini jika anda're yakin), menggunakan sudo fdisk -l | grep-i efi atau GParted untuk menemukan partisi EFI. Ini akan memiliki label EFI. Mount partisi ini, menggantikan sdXY dengan sebenarnya nomor partisi untuk sistem anda:

sudo mount /dev/sdXY /mnt/boot/efi

  1. chroot ke Ubuntu anda menginstal:

sudo chroot /mnt

  1. Pada titik ini, anda're di install, bukan sesi hidup, dan berjalan sebagai root. Update grub:

update-grub

Jika anda mendapatkan kesalahan atau jika pergi ke langkah 7 didn't memperbaiki masalah anda, pergi ke langkah 8. (Jika tidak, itu adalah opsional.)

  1. Tergantung pada situasi anda, anda mungkin harus menginstal ulang grub:

grub-install /dev/sda update-grub # Dalam rangka untuk menemukan dan menambahkan jendela untuk grub menu.

  1. Jika Ubuntu diinstal dalam modus EFI, dan partisi EFI UUID telah berubah, anda mungkin perlu untuk meng-update di /etc/fstab. Bandingkan ini:

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

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

  1. Jika semuanya bekerja tanpa kesalahan, maka anda're semua set:

keluar sudo reboot

  1. Pada titik ini, anda harus dapat booting secara normal.

Jika anda tidak bisa booting secara normal, dan tidak't melakukan langkah 8 karena tidak ada pesan kesalahan, coba lagi dengan langkah 8.

  • Kadang-kadang memberikan GRUB2 yang benar konfigurasi untuk partisi anda tidak cukup, dan anda harus benar-benar menginstal (atau instal ulang) ke Master Boot Record, yang langkah 8 tidak. Pengalaman membantu pengguna dalam chat telah menunjukkan bahwa langkah 8 kadang-kadang diperlukan bahkan ketika tidak ada pesan kesalahan yang ditampilkan.
Komentar (20)

Windows installer doesn't peduli tentang OS lain dalam sistem. Jadi itu menulis sendiri kode di atas master boot record. Untungnya solusi mudah juga.

Yang anda butuhkan untuk memperbaiki MBR. Lakukan hal berikut

Boot menggunakan live usb/cd ubuntu. Gunakan boot-repair untuk memperbaiki masalah.

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

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

Gunakan Recomended Perbaikan.

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

Komentar (13)

Boot dari live Ubuntu USB flashdisk atau CD dan
* Menginstal Boot-Repair pada ubuntu dengan mengikuti langkah-langkah**

Buka terminal dan jalankan perintah berikut

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

Setelah menyelesaikan instalasi, anda dapat memulai dari System->Administrasi->Boot-Perbaikan menu jika anda menggunakan Gnome, atau pencarian "boot-repair" di dasbor jika anda menggunakan Unity. Kemudian ikuti screenshot berikut:

1

  • Klik pada advanced options

  • Centang opsi yang ditampilkan di bawah ini

  • Mengubah tab untuk Grub Lokasi Tab dan Centang opsi Yang Ditunjukkan pada gambar

Tekan Apply dan Reboot sistem

2

  • Pilih yang direkomendasikan Boot repair pilihan seperti yang ditunjukkan di gambar pertama

Dokumentasi :

Komentar (2)

Hanya menginstal easyBCD di Windows 7 dan jangan

Tambahkan Entri Baru > Linux/BSD > (pilih ) Grub2 > (push) Menambahkan Entri

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

Komentar (2)

Pada EFI sistem berbasis (seperti kebanyakan sistem yang disertakan dengan Windows 8 atau yang lebih baru), Windows akan kadang-kadang update boot loader atau me-reset ke default boot loader. Hal ini sangat umum ketika menginstal ulang OS atau melakukan pembaruan besar pada sistem (upgrade ke Windows terbaru rilis, misalnya). Perhatikan bahwa Windows adalah tidak mungkin untuk benar-benar menghapus semua file GRUB pada EFI berbasis komputer. Segala sesuatu yang diperlukan untuk boot Ubuntu masih di tempat; it's hanya sedang dilewati. Dalam kasus ini, lengkap instalasi ulang GRUB berlebihan, dan dalam kenyataan yang membawa (kecil) kemungkinan bahwa hal itu akan menciptakan masalah baru.

Dengan demikian, alih-alih menginstal ulang GRUB dalam kasus ini, saya sarankan ulang GRUB (atau apapun boot loader atau boot manager anda sukai) untuk menjadi default. Ada beberapa cara untuk melakukan hal ini, diantaranya:

  • Neosmart technologies -- cara termudah untuk mengatur boot order, jika sistem boot langsung ke Windows, adalah dengan menggunakan neosmart technologies, yang gratis (untuk versi dasar) pihak ketiga GUI tool untuk mengelola EFI boot order. It's cukup jelas -- cari ubuntu masuk dalam daftar pilihan boot dan memindahkannya ke bagian atas daftar. Waktu berikutnya anda reboot, GRUB harus datang. (Jika anda menggunakan sesuatu yang lain dari GRUB, anda'akan perlu untuk menemukan entri.)
  • bcdedit -- Jendela bcdedit alat yang dapat digunakan untuk mengatur GRUB default boot order. Perintah bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi, diketik dalam aplikasi Administrator jendela Command Prompt, akan melakukan hal ini; namun, jika komputer anda boots dengan Secure Boot aktif, bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi akan diperlukan sebagai gantinya. Bahkan, yang terakhir perintah akan biasanya bekerja bahkan jika Boot Aman tidak di gunakan, jadi saya'd gunakan perintah yang pertama. Catatan yang ada's lebih maju Windows shell alat yang membutuhkan sintaks yang sedikit berbeda dari yang saya've disajikan, tapi aku don't ingat jelasnya.
  • Satu-waktu boot ke Ubuntu -- Paling EFIs menyediakan built-in boot manager, diakses dengan menekan tombol fungsi, Esc, atau Masukkan di awal awal sistem proses. Kemungkinan ubuntu masuk ke boot Ubuntu akan muncul di boot menu manager, yang memungkinkan anda untuk boot ke Ubuntu. Atau, anda bisa boot ke Ubuntu darurat menengah, seperti installer boot di "coba sebelum menginstal" modus. Either way, anda kemudian dapat menggunakan efibootmgr untuk mengatur boot order:
  1. Ketik sudo efibootmgr untuk melihat entri boot.
  2. Catatan saat ini BootOrder baris.
  3. Cari entri untuk ubuntu dan catatan yang Boot#### nomor.
  4. Ketik sudo efibootmgr -o xxxx [yyyy,zzzz,....] untuk mengubah urutan boot, membuat xxxx jumlah untuk Ubuntu. Apa yang datang setelah itu kemungkinan besar tidak terlalu penting, meskipun saya've mencatat bahwa Windows tampaknya kemungkinan untuk menambahkan sendiri kembali ke start dari urutan boot jika itu's tidak ada dalam daftar. Dengan demikian, anda mungkin harus memastikan bahwa Windows dalam daftar, dan mungkin yang paling aman untuk re-order daftar, sehingga semua entri yang ada, hanya dengan ubuntu entri pindah ke bagian atas daftar.
  • Firmware setup utility - Beberapa EFIs' setup utilitas memungkinkan anda untuk mengatur urutan boot. Rincian sangat bervariasi dari satu EFI yang lain, jadi saya tidak't pergi ke spesifik, tetapi anda bisa mencari opsi tersebut dalam setup utility.

Ada varian lainnya pada prosedur ini, seperti menggunakan bcfg di shell EFI, menggunakan memberkati di macOS, saya menggunakan rEFInd untuk melakukan satu kali boot, dll. I'd mulai dengan neosmart technologies, meskipun;'s mungkin menjadi solusi yang paling sederhana. Kadang-kadang Windows menekankan pada membuat sendiri default setiap kali itu dimulai, meskipun, dan laporan menunjukkan bahwa bcdedit mungkin melakukan pekerjaan yang lebih baik berurusan dengan masalah itu.

Perhatikan bahwa tidak satupun dari sebelumnya berlaku untuk BIOS-mode instalasi; namun, seperti kebanyakan komputer yang disertakan dengan Windows 8 atau yang lebih baru boot dalam modus EFI, BIOS-mode instalasi menjadi semakin langka, sehingga dalam banyak kasus itu's baik untuk menangani masalah di EFI cara bukan dengan membabi buta menginstal ulang GRUB.

Komentar (1)

Sekarang ada solusi yang lebih sederhana:

  1. Reboot, dan memasukkan komputer anda's opsi BIOS (F2, atau kadang-kadang F11).
  2. Pergi ke sepatu Boot menu, dan pilih Boot Device Priority
  3. Periksa apakah Windows Boot Manager di atas utama boot drive (biasanya SATA HDD ... atau IDE HDD ...). Jika hal ini, memindahkan disk boot prioritas di atas bahwa Windows Boot Manager.
  4. Menyimpan opsi BIOS anda, dan keluar (biasanya F10).

Ini telah diuji pada Samsung Series 7 Chronos laptop dual boot Windows 8 dan Ubuntu 13.10, secure boot tamu dengan kebutuhan khusus, UEFI dan legacy boot diaktifkan.

Komentar (3)

Boot-Repair bekerja untuk saya. It's sangat mudah untuk menggunakan aplikasi grafis, anda tidak perlu menggunakan command line, anda hanya perlu klik tombol :)

Semua tersedia pilihan perbaikan yang dijelaskan dalam Ubuntu dokumentasi dan ada halaman terpisah menjelaskan bagaimana untuk memulai Boot-Repair (dengan membuat bootable disk atau menginstal itu yang ada di Ubuntu live disk) dan bagaimana menggunakannya.

Hanya boot live CD Ubuntu, menginstal Boot-Repair dan menjalankannya.

Komentar (1)

Ketika GRUB rusak, pengguna umumnya tidak memiliki akses ke sistem, sehingga perbaikan harus dilakukan dari live session (live-CD / live-USB).

Ada banyak kemungkinan penyebab untuk GRUB istirahat: Windows tulisan di MBR, DRM mencegah GRUB dari menginstal dengan benar, installer bug, perubahan hardware... Update GRUB sebagai awalnya diusulkan oleh Scott ini umumnya tidak cukup, menginstal ulang GRUB seperti yang diusulkan oleh Marco lebih efisien, tetapi masih ada berbagai situasi yang membutuhkan tweak lainnya (menambahkan pilihan untuk kernel, unhiding GRUB menu, mengubah GRUB pilihan, memilih host yang tepat arsitektur...). Kesulitan lain untuk memperbaiki GRUB menggunakan chroot, dan pilihan yang tepat partisi /disk.

Semua ini telah dibuat mudah dalam sedikit tool grafis: Boot-Repair. Ini akan terintegrasi di Ubuntu 12.04 CD untuk penggunaan yang lebih mudah, tapi bagi orang-orang yang membutuhkan itu sekarang, sudah ada beberapa distro mengintegrasikan: Ubuntu-Dijamin-Remix (Ubuntu CD mengintegrasikan Boot-Repair), Boot-Repair-Disk (CD menjalankan Boot-Repair di start-up), ...

Semoga ini bisa membantu.

Komentar (0)

Jawaban yang diberikan oleh Scott dan Web-E yang cukup baik dan telah membantu banyak banyak kali. Tapi banyak kali, boot-repair tool ini tidak mampu memperbaiki grub karena masalah-masalah yang terkait untuk i386 dan amd64 platform atau salah satu di mana grub bisa't menemukan efi direktori. Apa yang telah memecahkan masalah saya seperti lebih dari 10 kali adalah untuk secara manual membersihkan tua grub instalasi dan menginstal yang baru.

Jadi pertama melakukan 6 langkah dari Scott's jawaban di mana anda dapat melewatkan langkah 5 jika memberikan kesalahan:

  1. Boot dari live CD atau live USB, di "Coba Ubuntu" modus.
  2. Menentukan jumlah partisi dari partisi utama. sudo fdisk -l, sudo hasil blkid atau GParted (yang harus sudah diinstal, secara default, pada sesi live) dapat membantu anda di sini. I'm akan menganggap dalam hal ini menjawab bahwa hal itu's /dev/sda2, tapi pastikan anda menggunakan benar nomor partisi untuk sistem anda!

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

  1. Mount partisi anda:

sudo mount /dev/sda2 /mnt #Ganti sda2 dengan partisi dari langkah 2

Jika anda memiliki terpisah /boot, /var atau /usr partisi, ulangi langkah 2 dan 3 untuk me-mount partisi ini untuk /mnt/boot, /mnt/var dan /mnt/usr masing-masing. Misalnya,

sudo mount /dev/sdXW /mnt/boot sudo mount /dev/sdXY /mnt/var sudo mount /dev/sdXZ /mnt/usr

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

  1. Mengikat gunung beberapa hal-hal lain yang diperlukan:

untuk saya di /sys /proc /run /dev; melakukan sudo mount --bind "$i" "/mnt$i"; dilakukan

  1. Jika Ubuntu diinstal dalam modus EFI ([lihat jawaban ini jika anda're yakin][efi]), menggunakan sudo fdisk -l | grep-i efi atau GParted untuk menemukan anda partisi EFI. Ini akan memiliki label EFI. Gunung ini partisi, mengganti sdXY dengan sebenarnya nomor partisi untuk anda sistem:

sudo mount /dev/sdXY /mnt/boot/efi

  1. chroot ke Ubuntu anda menginstal:

sudo chroot /mnt

Kemudian lakukan langkah-langkah berikut:

  1. Mengkonfigurasi semua pending paket. sudo dpkg --configure -a
  2. Memperbaiki paket yang rusak. sudo apt-get install -ta
  3. Keluarkan grub. sudo apt-get purge -y grub*-umum grub-umum:i386 shim ditandatangani Hal ini dapat memberikan anda peringatan bahwa perangkat anda akan memiliki tidak ada bootloader dan mungkin tidak dapat boot waktu berikutnya. Pergi ke depan dan menerima itu.
  4. sudo apt-get install -y grub-pc Setelah menjalankan perintah ini, ia akan meminta anda untuk menunjukkan saat ini sdXY untuk menginstal bootloader. Menemukan di mana anda saat ini OS diinstal menggunakan sudo fdisk -l perintah. Itu akan dicap sebagai Linux. Menavigasi jendela yang menggunakan Tab kunci dan pilih opsi menggunakan Spasi kunci.
  5. Jika semuanya berjalan benar, grub akan dipasang dengan benar. Anda juga dapat melakukan sudo grub-update untuk periksa.

Jika masalah masih berlanjut, anda dapat membaca Arch's wiki untuk benar-benar memahami tentang grub untuk mengatasi banyak varietas lain dari masalah. (Ya, juga membantu untuk Ubuntu!).

Komentar (0)

Aku punya masalah yang berbeda, yang disebabkan (mungkin) oleh boot-repair menyeka saya /etc/grub.d/ template, yang diuraikan dalam pertanyaan saya berikut ini: https://askubuntu.com/questions/1168873/ubuntu-18-04-not-booting-after-windows-10-install/1169092

Seperti yang ditunjukkan oleh @karels komentar, grub config dihasilkan menggunakan file /etc/grub.d. Direktori saya hanya berisi /etc/grub.d/25_custom, yang berisi menu yang aneh entri yang mengarah ke non-ada .efi gambar. Itu tampak seperti saya /etc/grub.d template yang mungkin disemprot dengan boot-repair.

Aku tetap ini dengan:

  1. Boot dengan Live CD (mungkin penting untuk menggunakan yang sama Ubuntu versi)
  2. sudo mount /dev/sdxx /mnt
  3. sudo cp /etc/grub.d/* /mnt/etc/grub.d/
  4. sudo update-grub
  5. Reboot & bersantai setelah 48 jam rasa sakit
Komentar (0)

Windows tidak melihat Linux partisi diformat. Anda perlu menggunakan gparted dari liveCD dan membuat partisi primer diformat NTFS dengan boot flag.

Beberapa memiliki masalah jika baru partisi primer adalah setelah partisi extended sebagai Windows tidak selalu reset tabel partisi dengan benar. Terbaik untuk backup dan cadangan yang terpisah dari partisi meja.

Backup partisi tabel ke file teks & simpan ke perangkat eksternal.

sudo sfdisk -d /dev/sda > PTsda.txt

Ini hanya untuk MBR (msdos) sistem. Jika anda menginstal Ubuntu di partisi GPT drive anda hanya dapat menginstal Windows dalam mode UEFI atau mengkonversi drive kembali ke MBR (msdos).

Komentar (2)

Hanya fsck perintah tetap grub-rescue layar untuk saya.

Gunakan Boot-Repair untuk boot dari Live CD, kemudian buka Terminal

Mendapatkan perangkat yang benar:

sudo fdisk -l

Perlu untuk menemukan perangkat boot, boot perangkat yang telah * di bawah Boot kategori seperti berikut ini:

Device     Boot   Start       End   Sectors  Size Id Type
/dev/sda1          2048   2000895   1998848  976M 82 Linux swap / Solaris
/dev/sda2  *    2000896 943716351 941715456  449G 83 Linux

Sekarang memperbaiki disk dengan menggunakan:

sudo fsck /dev/sda2 -y

Catatan: /dev/sda2 boot perangkat dalam contoh ini.

Reboot ketika selesai. Dilakukan.

Komentar (0)

Scott Pesangon's jawaban adalah valid dan rinci, tapi ada resolusi yang membutuhkan tidak ada eksternal perangkat boot dan sehingga tidak ada kebutuhan untuk mengidentifikasi dan manual mount semua partisi Ubuntu yang mengarah ke chroot.

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

Pergi ke Pengaturan dan pilih Update & Keamanan:

Pergi ke Recovery:

Dari Advanced Startup pilih Restart Sekarang

Kemudian pilih Menggunakan Alat dan semua opsi boot harus disajikan untuk anda. Pilih 'ubuntu' partisi dan PC anda kemudian harus boot dari partisi tersebut.

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

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

Ini telah memulihkan saya master boot record beberapa kali sekarang, karena tampaknya ada yang baru di Windows 10 kebijakan menimpa MBR pada update minor.

Komentar (0)