Booting ganda UEFI Windows 7 dan Ubuntu 12.04 (keduanya 64 bit). Entri W7 tidak muncul di GRUB

8

Setelah mencoba menginstal kedua OS selama 2 hari, saya bingung dan marah ... Saya memiliki SSD 128 GB dan HDD 500 GB keduanya kosong. Laptop saya adalah Asus K55VM. BIOS mendukung UEFI.

Apa yang telah aku lakukan:

  1. Instal SSD baru (Samsung 830 128GB)

  2. Gunakan GParted pada liveCD untuk membuat tabel partisi baru (GPT) dan membuat 3 partisi (dalam SSD) untuk tujuan yang berbeda:

    • Partisi 1: 80 GB (w7);
    • Partisi 2: 30 GB (Ubuntu 12.04 -Just / -);
    • Partisi 3: 10 GB tidak digunakan (untuk perpanjangan partisi lain di masa depan)
  3. Instal Windows 7 (dengan UEFI) di Partisi 1. Ini buat:

    • / dev / sda1 -> 100 MB untuk Sistem (boot UEFI saya kira) - FAT32
    • / dev / sda2 -> 100 MB aprox. untuk MSR
    • / dev / sda3 -> 79.800 MB aprox. untuk data Windows7

Pada titik ini semuanya berfungsi dengan baik. Saya punya W7. Sekarang saya menginstal Ubuntu 12.04 amd64 (dengan UEFI) sebagai berikut:

  1. Instal / di Partisi 2 -> / dev / sda4 30 GB ext4, dan di hdd saya instal / home dan swap.

  2. Saya memilih bootloader di / dev / sda1 (di mana seharusnya boot UEFI).

  3. Saya menginstal pembaruan dan reboot.

Masalah: Sekarang hanya muncul menu grub dengan entri Ubuntu dan bukan Windows 7.

Solusi alternatif ditemukan : Ketika saya menghidupkan laptop, sebelum memuat GRUB saya menekan tombol ESC dan muncul boot BIOS, jadi saya dapat memilih untuk mem-boot partisi Windows, partisi Ubuntu, DVD, USB, dll ... tapi saya pikir bukan yang terbaik cara untuk mem-boot OS yang berbeda.

Saya sudah mencoba: sudo update-grub2 tanpa hasil.

Apa yang dapat saya??

Joe
sumber

Jawaban:

6

Temukan di mana windows bootloader berada dengan memasang partisi efi:

sudo mount -t vfat /dev/sdx1 /mnt/efi/

Dan cari bootmgfw.efi. Kemudian, cari UUID drive:

sudo grub-probe --target=fs_uuid /mnt/efi/EFI/Microsoft/Boot/bootmgfw.efi

Tambahkan UUID ini ke /etc/grub.d/40_custom:

menuentry "Windows x86_64 UEFI-GPT" {
    search --fs-uuid --no-floppy --set=root UUID
    chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
}

Akhirnya lari update-grub.

jarondl
sumber
Anda adalah pahlawan berdarah saya !! Terima kasih banyak yang bekerja dengan sangat baik. Anda membuat hari saya =)
Joe
1
Sebagai informasi, Boot-Repair akan menambahkan entri dalam 1 klik. help.ubuntu.com/community/Boot-Repair
LovinBuntu
Kecuali Boot-perbaikan tidak berfungsi pada sistem saya ...
fccoelho
3

solusi jarondl sangat baik, tetapi yang lain adalah dengan menggunakan program boot manager yang terpisah untuk memilih antara GRUB dan boot loader Windows. Saya tahu tiga manajer boot EFI yang dapat Anda instal:

  • rEFIt , yang tersedia di repositori Ubuntu. Perhatikan bahwa versi dari situs rEFIt tidak akan berfungsi pada PC berbasis UEFI, karena menggunakan format file khusus Mac. Bahkan versi Ubuntu memiliki sejumlah gangguan kecil pada PC berbasis UEFI. Idealnya, rEFIt menyajikan menu boot GUI yang cantik (meskipun juga punya mode teks).
  • rEFInd , yang merupakan versi terbaru dari rEFIt dengan perbaikan untuk berbagai gangguan UEFI dan ekstensi untuk bekerja dengan bootloader EFI kernel bawaan 3.3.0 kernel. Perhatikan bahwa saya bercabang / mengelola rEFInd.
  • gummiboot, yang merupakan boot manager khusus teks. (Situs ini terus melupakan siapa saya dan menolak untuk membiarkan saya memposting lebih dari dua hyperlink sebagai hasilnya, atau saya akan menyediakan satu.)

Baik rEFIt dan rEFInd secara otomatis mendeteksi boot loader lain, jadi setelah Anda mengonfigurasinya, mereka harus mendeteksi boot loader OS apa pun dan memberi Anda menu. Saya belum mencoba gummiboot, jadi saya tidak tahu betapa mudahnya mengaturnya, tetapi secara konsep mirip dengan rEFIt / rEFInd. Menggunakan salah satu dari program ini menambah kompleksitas pada proses boot, jadi jika GRUB bekerja dan Anda senang, ada sedikit gunanya menggunakan salah satu dari program ini. Mereka paling berguna jika GRUB temperamental atau tidak berfungsi, seperti yang sering terjadi pada GRUB 2 pada sistem UEFI, dalam pengalaman saya. Dalam situasi seperti itu, Anda dapat membuang GRUB 2 untuk mendukung ELILO atau 3.3.0 atau yang lebih baru Eub stub loader kernel. Boot loader ini tidak dapat mengalihkan proses boot ke Windows, membuat boot manager terpisah sangat berguna.

Rod Smith
sumber
Refind tidak mendukung partisi ntfs ...
fccoelho
1
Fakta bahwa rEFInd tidak datang dengan driver NTFS tidak relevan. Boot loader EFI Windows berada di EFI System Partition (ESP), yang FAT, jadi rEFInd tidak perlu mengakses volume NTFS. Juga, tidak adil untuk memilih rEFInd pada skor ini; baik rEFIt maupun gummiboot tidak disertai dengan driver NTFS.
Rod Smith
0

PERHATIAN MEMBAYAR: hanya untuk x64

grub-probe --target=fs_uuid /boot/efi/efi/Microsoft/Boot/bootmgfw.efi

Tambahkan ini ke /etc/grub.d/40_custom:

menuentry "Boot bootx64.efi, generated by Boot-Repair" {
search --fs-uuid --no-floppy --set=root UUID

**chainloader (${root})/EFI/Boot/bootx64.efi**
}

Kode lainnya tidak berfungsi.

Diuji pada ASUS N56V

Cristiano Zanca
sumber