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?
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:
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.
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.
untuk saya di /sys /proc /run /dev; melakukan sudo mount --bind "$i" "/mnt$i"; dilakukan
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
chroot
ke Ubuntu anda menginstal:sudo chroot /mnt
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.)
grub-install /dev/sda update-grub # Dalam rangka untuk menemukan dan menambahkan jendela untuk grub menu.
/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.
keluar sudo reboot
Jika anda tidak bisa booting secara normal, dan tidak't melakukan langkah 8 karena tidak ada pesan kesalahan, coba lagi dengan langkah 8.
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
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
Tekan Apply dan Reboot sistem
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).
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:
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.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:sudo efibootmgr
untuk melihat entri boot.BootOrder
baris.ubuntu
dan catatan yang Boot####
nomor.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.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.
Sekarang ada solusi yang lebih sederhana:
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.
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.
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.
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:
- Boot dari live CD atau live USB, di "Coba Ubuntu" modus.
- 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. Jalankanls /dev/mapper
untuk nama yang tepat.
- 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
, dansdXZ
dengan masing-masing partisi angka.
- Mengikat gunung beberapa hal-hal lain yang diperlukan:
untuk saya di /sys /proc /run /dev; melakukan sudo mount --bind "$i" "/mnt$i"; dilakukan
- 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 labelEFI
. Gunung ini partisi, menggantisdXY
dengan sebenarnya nomor partisi untuk anda sistem:sudo mount /dev/sdXY /mnt/boot/efi
chroot
ke Ubuntu anda menginstal:sudo chroot /mnt
Kemudian lakukan langkah-langkah berikut:
sudo dpkg --configure -a
sudo apt-get install -ta
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.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. 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!).
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:
sudo mount /dev/sdxx /mnt
sudo cp /etc/grub.d/* /mnt/etc/grub.d/
sudo update-grub
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).
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.
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.