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

344

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

Bagaimana saya bisa mendapatkan Ubuntu kembali?

Salahuddin
sumber
Saya pikir itu adalah tugas umum, saya juga punya dua HDD, dan Ubuntu + Windows. Saya harap Anda bisa memperbaikinya dengan cara yang benar. Coba ikuti tutorial ini . Ada pertanyaan, tanyakan padaku!
antivirtel
1
Terkait (ketika GRUB diinstal ke MBR drive yang salah ): Masalah penyelamatan Grub setelah menginstal ubuntu
Eliah Kagan
Ya Anda bisa, Anda hanya perlu melakukan boot normal dan menginstal dengan windows dan kemudian itu akan muncul di menu boot Grub pada saat start-up komputer.
Rampoo1208
Saya tahu ini adalah utas lama tapi saya memperbaiki masalahnya dengan mengubah mode boot di BIOS dari UEFI ke Legacy.
1
CATATAN: jawaban yang diterima adalah instruksi umum tentang cara memperbaiki grub. Ini juga berlaku untuk berbagai keadaan ketika GRUB ditulis secara tidak benar oleh installer (di mana-mana).
Danatela

Jawaban:

348

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 loadernya sendiri. Yang harus Anda lakukan adalah mengganti boot loader Windows dengan GRUB. Saya telah melihat berbagai instruksi untuk mengganti GRUB dengan mencari-cari perintah GRUB atau semacamnya, tetapi bagi saya cara termudah adalah dengan cukup chrootmenginstal dan menjalankan Anda update-grub. chrootsangat bagus karena memungkinkan Anda untuk bekerja pada instalasi Anda yang sebenarnya, alih-alih mencoba mengarahkan hal-hal di sana-sini. Ini sangat bersih.

Begini caranya:

  1. Boot dari live CD atau live USB, dalam mode "Coba Ubuntu".
  2. Tentukan nomor partisi dari partisi utama Anda. sudo fdisk -l, sudo blkidatau GParted (yang seharusnya sudah diinstal, secara default, pada sesi langsung) dapat membantu Anda di sini. Saya akan menganggap dalam jawaban ini bahwa itu /dev/sda2, tetapi 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, di /dev/mapper/{volume}--{os}-rootmana {volume}nama volume LVM dan {os}merupakan sistem operasinya. Jalankan ls /dev/mapperuntuk nama yang tepat.

  3. Pasang partisi Anda:

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

    Jika Anda memiliki partisi atau partisi yang terpisah /boot,/var/usr ulangi langkah 2 dan 3 untuk memasang partisi ini /mnt/boot, /mnt/vardan /mnt/usrmasing - masing. Sebagai contoh,

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

    mengganti sdXW,, sdXYdan sdXZdengan 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 efiatau GParted untuk menemukan partisi EFI Anda. Ini akan memiliki label EFI. Pasang partisi ini, ganti sdXYdengan nomor partisi aktual untuk sistem Anda:

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

    sudo chroot /mnt
    
  7. Pada titik ini, Anda berada di instal, 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. Bergantung pada situasi Anda, Anda mungkin harus menginstal ulang grub:

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

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

    Jika UUID partisi EFI saat ini (dari blkid) berbeda dari yang ada di dalam /etc/fstab, perbarui /etc/fstabdengan UUID saat ini.

  10. Jika semuanya berfungsi tanpa kesalahan, maka Anda siap:

    exit
    sudo reboot
    
  11. Pada titik ini, Anda seharusnya dapat boot secara normal.

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

  • Kadang-kadang memberikan GRUB2 konfigurasi yang benar untuk partisi Anda tidak cukup, dan Anda harus benar-benar menginstalnya (atau menginstal ulang) ke Master Boot Record, yang langkah 8 lakukan. Pengalaman membantu pengguna dalam obrolan menunjukkan bahwa langkah 8 terkadang diperlukan bahkan ketika tidak ada pesan kesalahan yang ditampilkan.
Scott Severance
sumber
1
Komentar bukan untuk diskusi panjang; percakapan ini telah dipindahkan ke obrolan .
Thomas Ward
Saya masih ingin Windows menjadi OS boot utama saya. Apakah ini masih memperbaiki yang benar? Bagaimana saya memilih OS mana yang akan di-boot? F11?
Jeff
1
@ScottSeverance Saya melihat dari profil Anda bahwa Anda tinggal di DFW. Sudahkah Anda mempertimbangkan untuk memberikan kelas atau tutorial langsung untuk membuat orang mengenal Linux?
Mohammed Joraid
1
Masalah-masalah ini tidak menjadi tua: D - Bukannya ketika berurusan dengan EFI, Anda mungkin perlu menginstal grub-efi-amd64dan jika Anda menggunakan boot aman yang ingin Anda gunakan grub-install --uefi-secure-boot. Ini juga dirinci dalam superuser.com/a/376471/197980
Raffael
1
Solusi ini berlaku juga untuk Windows 10 pada komputer dengan BIOS (yaitu bukan UEFI). Pertanyaan tentang yang mana yang Anda miliki dapat dijawab dengan tip ini - thewindowsclub.com/check-if-uefi-or-bios .
okolnost
115

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

Anda perlu memperbaiki MBR. Lakukan yang berikut

Boot menggunakan usb / cd langsung dari Ubuntu. Gunakan boot-repairuntuk memperbaiki masalah.

Setelah boot 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 Repair.

masukkan deskripsi gambar di sini

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

Web-E
sumber
2
Anda bermaksud mengatakan itu disengaja oleh orang-orang Microsoft ?? Dual booting juga berfungsi dengan windows 7 jadi tidak bertentangan dengan baris pertama Anda bahwa "Pemasang windows tidak peduli dengan OS lain dalam sistem."
Shagun Sodhani
Windows istirahat grub sepanjang waktu itu masalah yang sangat umum dan saya harus berurusan dengan diri saya sendiri. Jawabannya masih bagus dan harus memperbaiki masalahnya.
damien
6
Anda telah menginstal windows 7 terlebih dahulu kemudian linux. Jadi linux mengenali windows, bukan windows yang mengenali linux. Coba instal ulang windows7, Anda akan melihat apa yang saya maksud.
Web-E
Jangan lakukan ini ketika Anda memiliki partisi terenkripsi (luks), itu mengacaukannya. Itu juga menginstal ulang GRUB dengan apt-get - tidak tahu mengapa ia melakukan itu.
Meng Tian
1
perbaikan boot mendukung mode legacy dengan sangat baik, mungkin Anda perlu mem-boot live cd / usb dalam mode legacy juga @fuzzyanalysis :)
Web-E
25

Boot dari live USB atau CD USB Ubuntu dan
Instal Boot-Repair di ubuntu dengan langkah-langkah berikut

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 meluncurkannya dari menu System-> Administration-> Boot-Repair jika Anda menggunakan Gnome, atau cari "boot-repair" di dasbor jika Anda menggunakan Unity. Kemudian ikuti tangkapan layar berikut:

Metode 1

  • Klik pada opsi lanjutan

Layar awal

  • Centang opsi yang ditunjukkan di bawah ini

opsi lanjutan

  • Ubah tab menjadi Grub Location Tab dan Centang Opsi yang ditampilkan pada gambar

masukkan deskripsi gambar di sini

Tekan Apply dan Reboot sistem

Metode 2

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

Dokumentasi:

Stormvirux
sumber
Web-E sudah memberikan jawaban ini . Mungkin malah memperbaiki yang itu? Saya meninggalkan komentar mengapa itu tidak berhasil.
Dan Dascalescu
2
Metode ini bekerja untuk saya setelah kasus yang sangat buruk dari pembaruan Windows 10 menimpa GRUB dan kemudian memecahkan boot loader sendiri. Setelah prosedur ini, Windows dan Linux kembali. Dalam kasus saya itu adalah Linux Mint 18.1, dan menu perbaikan boot tampak sedikit berbeda, tetapi semuanya bekerja dengan baik. Terima kasih!
TheBigH
11

Cukup instal easyBCDdi Windows 7 dan lakukan

Tambah Entri Baru> Linux / BSD> (pilih) Grub2> (push) Tambah Entri

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

dipalu
sumber
3
Instruksi-instruksi ini saja tidak mengembalikan Grub Bootloader - ketika saya mencobanya, mereka menambahkan opsi boot tambahan di Windows yang pada seleksi, me-restart mesin saya dan kemudian membawa saya ke prompt grub>. Jadi seseorang perlu langkah lebih lanjut tentang apa yang harus dilakukan selanjutnya.
therobyouknow
1
easyBCD memungkinkan saya untuk menambah dan menghapus opsi boot yang dapat saya lihat di Windows Boot Loader dan BIOS, tetapi mereka tidak pernah bekerja karena easyBCD mengandalkan semacam sihir otomatis untuk menemukan partisi Linux ... itu tidak berfungsi ketika partisi Linux saya berada di harddisk terpisah.
Analisis Fuzzy
7

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

Jadi, daripada menginstal ulang GRUB dalam kasus ini, saya sarankan mengatur ulang GRUB (atau bootloader apa pun atau boot manager yang Anda inginkan) sebagai 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. Cukup jelas - temukan ubuntuentri dalam daftar opsi boot dan pindahkan ke bagian atas daftar. Lain kali Anda reboot, GRUB akan muncul. (Jika Anda menggunakan sesuatu selain GRUB, Anda harus menemukan entri itu.)
  • bcdedit- Alat Windows bcdeditdapat digunakan untuk mengatur GRUB ke urutan boot default. Perintah bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi, yang diketik dalam jendela Prompt Perintah Administrator , akan melakukan ini; namun, jika komputer Anda melakukan booting dengan Secure Boot aktif, bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efisebagai gantinya akan diperlukan. Bahkan, perintah terakhir biasanya akan bekerja bahkan jika Secure Boot tidak digunakan, jadi saya akan menggunakan perintah itu terlebih dahulu. Perhatikan bahwa ada alat shell Windows yang lebih maju yang membutuhkan sintaks yang sedikit berbeda dari yang saya sajikan, tapi saya tidak ingat detailnya.
  • Booting satu kali ke Ubuntu - Kebanyakan EFI menyediakan boot manager bawaan, diakses dengan menekan tombol fungsi, Esc, atau Enter di awal proses awal sistem. Kemungkinannya adalah ubuntuentri untuk mem-boot Ubuntu akan muncul di menu boot manager ini, memungkinkan Anda untuk boot ke Ubuntu. Atau, Anda bisa boot ke media darurat Ubuntu, seperti installer yang melakukan boot dalam mode "coba sebelum menginstal". Bagaimanapun, Anda dapat menggunakan efibootmgruntuk menyesuaikan urutan boot:
    1. Ketik sudo efibootmgruntuk melihat entri boot.
    2. Perhatikan BootOrderbaris saat ini .
    3. Temukan entri ubuntudan catat Boot####nomornya.
    4. Ketik sudo efibootmgr -o xxxx[,yyyy,zzzz,....]untuk mengubah urutan boot, membuat xxxxnomor untuk Ubuntu. Apa yang terjadi setelah itu kemungkinan besar tidak terlalu penting, meskipun saya telah mencatat bahwa Windows tampaknya akan menambah sendiri 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 ubuntuentri dipindahkan ke bagian atas daftar.
  • Utilitas pengaturan firmware - Beberapa utilitas pengaturan EFI 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 bcfgshell EFI, menggunakan blessdi macOS, menggunakan rEFInd saya untuk melakukan booting satu kali, dll. Namun saya akan mulai dengan EasyUEFI; itu mungkin menjadi solusi paling sederhana. Namun, kadang-kadang Windows bersikeras menjadikan dirinya sendiri default setiap kali dijalankan, dan laporan menunjukkan bahwa bcdeditmungkin melakukan pekerjaan yang lebih baik dalam menangani masalah itu.

Perhatikan bahwa tidak satu pun dari yang sebelumnya berlaku untuk instalasi mode-BIOS; namun, karena kebanyakan komputer yang dikirim dengan Windows 8 atau yang lebih baru boot dalam mode EFI, instalasi mode BIOS menjadi semakin langka, sehingga dalam banyak kasus lebih baik untuk menangani masalah dengan cara EFI daripada dengan menginstal ulang GRUB secara membabi buta.

Rod Smith
sumber
1
booting satu kali secara manual ke linux (fedora28 dalam kasus saya) melalui EFI build-in boot manager memungkinkan saya untuk menggunakan efibootmgruntuk memesan ulang urutan boot (seperti dijelaskan oleh Rod -> terima kasih!) yang dikacaukan oleh win10 memperbarui. Setelah itu GRUB-bootmanager muncul seperti dulu sebelum pembaruan, jadi saya dapat mengonfirmasi solusi yang diberikan bekerja untuk saya. Saya tidak dapat menemukan versi dasar EasyUEFI tetapi hanya versi uji coba dari versi pro yang tidak bebas yang ditawarkan.
antiplex
5

Sekarang ada solusi yang lebih sederhana:

  1. Mulai ulang, dan masukkan opsi BIOS komputer Anda (F2, atau terkadang F11).
  2. Buka menu Boot , dan pilih Boot Device Priority
  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 dual boot Samsung Series 7 Chronos Windows 8 dan Ubuntu 13.10, boot aman dinonaktifkan, UEFI dan boot lama diaktifkan.

scruss
sumber
Ini akhirnya menjadi pilihan terbersih bagi saya. Ini beberapa pukulan kunci lagi, tapi hei, itu berhasil. Saya memiliki campuran perangkat yang di-boot Legacy dan UEFI. Jika pengguna mem-boot satu OS lebih dari sekadar bermacam-macam yang lain, ini bisa lebih cepat (dan lebih aman) dalam jangka panjang.
Analisis Fuzzy
Ini berhasil bagi saya juga, setelah Windows 10 otomatis diperbarui sendiri.
luis_js
Solusi ini bekerja untuk saya ketika saya menghapus Ubuntu dari windows 10.
Vikas Gupta
3

Perbaikan-Boot 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 yang menjelaskan cara memulai Boot-Repair (dengan membuat disk bootable atau menginstalnya di live disk Ubuntu yang ada) dan bagaimana menggunakannya.

Cukup boot live CD Ubuntu, instal Boot-Repair dan jalankan.

lorenzo-s
sumber
Akan lebih baik jika ada cara yang lebih mudah untuk mendapatkan Perbaikan Boot. Lebih cepat hanya menyiapkan chrootperbaikan daripada ke Google sekitar untuk beberapa alat lain untuk menginstal.
Scott Severance
2

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

Ada banyak kemungkinan penyebab break GRUB: Windows menulis pada MBR, DRM mencegah GRUB dari menginstal dengan benar, bug installer, perubahan hardware ... Memperbarui GRUB seperti yang diusulkan pada awalnya oleh Scott umumnya tidak cukup, menginstal ulang GRUB seperti yang diusulkan oleh Marco adalah lebih efisien, tetapi masih ada berbagai situasi yang memerlukan tweak lain (menambahkan opsi ke kernel, unhiding 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 dipermudah dengan alat grafis kecil: Boot-Repair . Itu harus diintegrasikan dalam CD Ubuntu 12,04 untuk penggunaan yang lebih mudah, tetapi untuk orang yang membutuhkannya sekarang, sudah ada beberapa distro yang mengintegrasikannya: Ubuntu-Secured-Remix (Ubuntu CD mengintegrasikan Boot-Repair), Boot-Repair-Disk (Boot menjalankan CD) -Perbaikan saat start-up), ...

Semoga ini membantu.

LovinBuntu
sumber
1

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

Jadi pertama-tama lakukan 6 langkah pertama dari jawaban Scott 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 dari partisi utama Anda. sudo fdisk -l, sudo blkidatau GParted (yang seharusnya sudah diinstal, secara default, pada sesi langsung) dapat membantu Anda di sini. Saya akan menganggap dalam jawaban ini bahwa itu /dev/sda2, tetapi 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, di /dev/mapper/{volume}--{os}-rootmana {volume}nama volume LVM dan {os}merupakan sistem operasinya. Jalankan ls /dev/mapperuntuk nama yang tepat.

  3. Pasang partisi Anda:

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

    Jika Anda memiliki partisi atau partisi yang terpisah /boot,/var/usr ulangi langkah 2 dan 3 untuk memasang partisi ini /mnt/boot, /mnt/vardan /mnt/usrmasing - masing. Sebagai contoh,

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

    mengganti sdXW,, sdXYdan sdXZdengan 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 efiatau GParted untuk menemukan partisi EFI Anda. Ini akan memiliki label EFI. Pasang partisi ini, ganti sdXYdengan nomor partisi aktual untuk sistem Anda:

    sudo mount /dev/sdXY /mnt/boot/efi
    
  6. chroot ke dalam 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 memiliki bootloader dan mungkin tidak dapat melakukan booting di waktu berikutnya. Silakan menerimanya.
  4. sudo apt install -y grub-pc
    Setelah menjalankan perintah ini, ia akan meminta Anda untuk mengarahkan arus sdXYuntuk menginstal bootloader. Temukan di mana OS Anda saat ini diinstal menggunakan sudo fdisk -lperintah. Ini akan dilabeli sebagai Linux. Arahkan jendela itu menggunakan Tabkunci dan pilih opsi menggunakan Spacekunci.
  5. Jika semuanya berjalan dengan baik, grub akan diinstal dengan benar. Anda juga dapat melakukan sudo grub-updatepemeriksaan ganda.

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

subtleseeker
sumber
0

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

Beberapa memiliki masalah jika partisi primer baru adalah setelah partisi diperluas karena Windows tidak selalu me-reset tabel partisi dengan benar. Terbaik untuk memiliki cadangan yang baik dan cadangan tabel partisi yang terpisah.

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

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

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

oldfred
sumber
Versi baru sfdisk & fdisk yang berfungsi dengan drive yang dipartisi gpt di 16.04 atau lebih baru, juga akan membuat cadangan drive yang dipartisi gpt dengan perintah di atas. oldfred tidak ingat apa yang dia makan untuk makan malam tadi malam, jadi tidak yakin apa yang dia posting kembali pada tahun 2013. :)
oldfred
Hai Fred ketika saya memasak lupa makan malam semalam adalah berkah. Kami menghapus komentar kami sebelumnya.
WinEunuuchs2Unix
0

Hanya fsckperintah yang memperbaiki grub-rescuelayar untuk saya.

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

Dapatkan perangkat yang benar:

sudo fdisk -l

Perlu menemukan perangkat boot, perangkat boot *berada di bawah kategori Boot seperti di sini:

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 perbaiki disk dengan menggunakan:

sudo fsck /dev/sda2 -y

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

Reboot saat selesai. Selesai.

Benny
sumber
0

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

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

Pergi ke Settingsdan pilih Update & Security:

masukkan deskripsi gambar di sini

Pergi ke Recovery:

masukkan deskripsi gambar di sini

Dari Advanced StartuppilihRestart Now

masukkan deskripsi gambar di sini

Kemudian pilih Use a Devicedan 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-updatetetapi itu tidak membuat perubahan.

Saya kemudian menemukan /boot/efipartisi saya yang sedang /dev/nvme0n1p1dan berlari sudo grub-install /dev/nvme0n1p1dan kemudian sudo update-grub.

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

timbo
sumber
0

Saya memiliki masalah yang berbeda, yang disebabkan (mungkin) dengan boot-repairmenghapus /etc/grub.d/template saya , diuraikan dalam pertanyaan saya di sini: Ubuntu 18.04 tidak bisa boot setelah instalasi Windows 10

Seperti yang ditunjukkan oleh komentar @karels, konfigurasi grub dibuat menggunakan file-file di /etc/grub.d. Direktori saya hanya berisi /etc/grub.d/25_custom, yang berisi entri menu aneh yang menunjuk ke gambar .efi yang tidak ada. Sepertinya /etc/grub.dtemplat saya mungkin disembunyikan boot-repair.

Saya memperbaikinya dengan:

  1. Boot dengan Live CD (mungkin penting untuk menggunakan versi Ubuntu yang sama)
  2. sudo mount /dev/sdxx /mnt
  3. sudo cp /etc/grub.d/* /mnt/etc/grub.d/
  4. sudo update-grub
  5. Nyalakan kembali & rileks setelah 48 jam nyeri
Adam Moore
sumber