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?
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?
Jawaban:
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 chroot
menginstal dan menjalankan Anda update-grub
. chroot
sangat 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:
Tentukan nomor partisi dari 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 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}-root
mana {volume}
nama volume LVM dan {os}
merupakan sistem operasinya. Jalankan ls /dev/mapper
untuk nama yang tepat.
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/var
dan /mnt/usr
masing - masing. Sebagai contoh,
sudo mount /dev/sdXW /mnt/boot
sudo mount /dev/sdXY /mnt/var
sudo mount /dev/sdXZ /mnt/usr
mengganti sdXW
,, sdXY
dan sdXZ
dengan nomor partisi masing-masing.
Bind mount beberapa hal lain yang diperlukan:
for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
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 aktual untuk sistem Anda:
sudo mount /dev/sdXY /mnt/boot/efi
chroot
ke dalam instalasi Ubuntu Anda:
sudo chroot /mnt
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.)
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.
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/fstab
dengan UUID saat ini.
Jika semuanya berfungsi tanpa kesalahan, maka Anda siap:
exit
sudo reboot
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.
grub-efi-amd64
dan jika Anda menggunakan boot aman yang ingin Anda gunakan grub-install --uefi-secure-boot
. Ini juga dirinci dalam superuser.com/a/376471/197980
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-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 update
sudo apt-get install -y boot-repair && boot-repair
Gunakan Recomended Repair
.
Info lebih lanjut - https://help.ubuntu.com/community/Boot-Repair
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
Tekan Apply dan Reboot sistem
Metode 2
Cukup instal easyBCD
di 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).
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:
ubuntu
entri 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 bcdedit
dapat 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.efi
sebagai 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.ubuntu
entri 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 efibootmgr
untuk menyesuaikan urutan boot:
sudo efibootmgr
untuk melihat entri boot.BootOrder
baris saat ini .ubuntu
dan catat Boot####
nomornya.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 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 ubuntu
entri dipindahkan ke bagian atas daftar.Ada varian lain pada prosedur ini, seperti menggunakan bcfg
shell EFI, menggunakan bless
di 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 bcdedit
mungkin 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.
efibootmgr
untuk 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.
Sekarang ada solusi yang lebih sederhana:
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.
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.
chroot
perbaikan daripada ke Google sekitar untuk beberapa alat lain untuk menginstal.
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.
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 efi
direktori.
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:
- Boot dari live CD atau live USB, dalam mode "Coba Ubuntu".
Tentukan nomor partisi dari 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 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}-root
mana{volume}
nama volume LVM dan{os}
merupakan sistem operasinya. Jalankanls /dev/mapper
untuk nama yang tepat.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/var
dan/mnt/usr
masing - masing. Sebagai contoh,sudo mount /dev/sdXW /mnt/boot sudo mount /dev/sdXY /mnt/var sudo mount /dev/sdXZ /mnt/usr
mengganti
sdXW
,,sdXY
dansdXZ
dengan nomor partisi masing-masing.Bind mount beberapa hal lain yang diperlukan:
for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
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 labelEFI
. Pasang partisi ini, gantisdXY
dengan nomor partisi aktual untuk sistem Anda:sudo mount /dev/sdXY /mnt/boot/efi
chroot
ke dalam instalasi Ubuntu Anda:sudo chroot /mnt
Kemudian lakukan langkah-langkah ini:
sudo dpkg --configure -a
sudo apt install -fy
sudo apt purge -y grub*-common grub-common:i386 shim-signed
sudo apt install -y grub-pc
sdXY
untuk menginstal bootloader. Temukan di mana OS Anda saat ini diinstal menggunakan sudo fdisk -l
perintah. Ini akan dilabeli sebagai Linux
. Arahkan jendela itu menggunakan Tabkunci dan pilih opsi menggunakan Spacekunci.sudo grub-update
pemeriksaan 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!).
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).
Hanya fsck
perintah yang memperbaiki grub-rescue
layar 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.
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 Recovery
untuk memilih perangkat (partisi?) Untuk boot dari.
Pergi ke Settings
dan pilih Update & Security
:
Pergi ke Recovery
:
Dari Advanced Startup
pilihRestart Now
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
tetapi itu tidak membuat perubahan.
Saya kemudian menemukan /boot/efi
partisi saya yang sedang /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 untuk menimpa MBR pada pembaruan kecil .
Saya memiliki masalah yang berbeda, yang disebabkan (mungkin) dengan boot-repair
menghapus /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.d
templat saya mungkin disembunyikan boot-repair
.
Saya memperbaikinya dengan:
sudo mount /dev/sdxx /mnt
sudo cp /etc/grub.d/* /mnt/etc/grub.d/
sudo update-grub