Pertanyaan Bagaimana cara boot ke Windows 7 ketika grub diinstal di partisi Windows?


Judul asli: Bagaimana saya bisa memecahkan (un) mem-boot windows 7 pada partisi yang sama dengan grub?

Saya telah meneliti masalah ini selama dua hingga tiga hari, tetapi saya telah menjadi kosong.

Pada dasarnya, partisi 1 adalah Windows 7 dan partisi 2 adalah Ubuntu 12.04. Saya mengatakan Ubuntu untuk menginstal ke partisi 2 dan menginstal GRUB pada partisi 1 dan itu berfungsi dengan baik. Tapi masalahnya sekarang adalah saya tidak bisa boot Windows 7. Ini hanya kembali ke menu GRUB setelah saya memilihnya.

Dari apa yang saya teliti, apakah saya bisa mengedit GRUB untuk mem-boot Windows 7 "mbr" atau bootloader \windows\system32\winload.exe (tanpa menggunakan disk perbaikan Windows 7), masalah saya akan terpecahkan. Apakah ini mungkin?


URL Boot-Repair-Info adalah http://paste.ubuntu.com/981952/


Output dari perintah sudo blkid

/dev/sda1: UUID="1EA0019AA0017A13" TYPE="ntfs" 
/dev/sda2: UUID="e4402f9e-83df-4dc3-8913-69b28314d253" TYPE="ext4" 
/dev/sda3: LABEL="Vault Drive" UUID="74145BFD145BC132" TYPE="ntfs" 
/dev/sda4: UUID="1c030d32-657f-4a78-9468-307d9e09a977" TYPE="ext4"

14
2018-05-11 01:23


asal




Jawaban:


Bisakah Anda membuat laporan Ringkasan Bootinfo menggunakan alat perbaikan-boot seperti yang dijelaskan di bawah ini dan kemudian memposting tautan ke laporan?

Saya tahu Anda telah memberikan beberapa detail tentang konfigurasi boot Anda. Namun, laporan yang saya minta berisi informasi yang lebih rinci dan mungkin memberi kita pemahaman yang lebih baik tentang mengapa Anda tidak dapat mem-boot Windows menggunakan GRUB.

Cara menggunakan boot-repair untuk memberikan "Ringkasan Bootinfo"


Karena Anda masih bisa boot Ubuntu, Anda dapat menginstal dan menjalankan Alat Boot-Repair menggunakan apt-get perintah dan kemudian menggunakannya Create a Bootinfo summary.

Jalankan perintah di bawah ini di jendela terminal untuk menginstal boot-repair alat.

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair
  1. Setelah itu selesai, masukkan perintah boot-repair untuk memulai alat.
  2. Setelah sedikit terlambat, boot-repair akan menanyakan apakah Anda ingin mengunduh versi terbarunya. Karena Anda baru saja menginstal versi terbaru, jawab No.
  3. Jika boot-repair meminta menginstal pastebinit paket, tanggapi dengan Yes.
  4. Alat ini sekarang akan memindai sistem Anda dan (akhirnya) menampilkan jendela yang ditunjukkan pada gambar di bawah ini. Klik pada Create a Bootinfo summary kotak / tombol. Ini akan mengumpulkan informasi tentang konfigurasi boot sistem Anda, tetapi tidak akan membuat perubahan apa pun.


    Initial Boot-Repair Window

     
  5. Ketika ringkasan bootinfo telah dibuat, boot-repair akan menampilkan pesan yang berisi URL yang seharusnya terlihat seperti ini: http://paste.ubuntu.com/123456/.

    Harap perbarui / edit pertanyaan Anda dan tambahkan URL ini. Informasi di masa lalu link ini mengarah ke kehendak (saya harap) membantu kami mendiagnosis masalah.

Saya pikir over-menulis partisi Windows VBR menyebabkan masalah ini.

Pemahaman saya adalah bahwa ada beberapa langkah untuk memulai sistem operasi. Dalam kasus Anda, saya pikir sesuatu seperti langkah-langkah di bawah ini terjadi.

  1. BIOS pada komputer Anda mencoba menjalankan kode di sektor pertama dari hard drive. Sektor pertama ini biasanya disebut sebagai MBR (Master Boot Record).
  2. Selain MBR, setiap partisi juga dapat memiliki catatan boot. Ini sering disebut sebagai Volume Boot Record atau VBR. MBR pada hard drive Anda mentransfer kontrol ke VBR partisi 1, partisi Windows Anda.
  3. Windows mengharapkan VBR partisi untuk mengambil langkah selanjutnya menuju boot sistem operasi seperti Windows 7. Jadi Windows akan menginstal VBR yang akan mentransfer kontrol ke Windows bootmgr program di partisi Windows Anda.

    Namun, ketika Anda menginstruksikan program instalasi Ubuntu untuk menginstal GRUB ke dalam partisi Windows, GRUB tampaknya telah menggantikan Windows VBR dengan miliknya sendiri. GRUB VBR ini menampilkan menu boot GRUB.
  4. Instruksi GRUB saat ini digunakan untuk mem-boot Windows pada dasarnya adalah untuk menempatkan VBR di partisi Windows dan mentransfer kontrol ke sana. VBR di partisi Windows adalah VBR GRUB. Mentransfer kontrol untuk itu hanya (kembali) menampilkan menu boot GRUB.

Sayangnya, saya belum yakin apa yang akan menjadi cara terbaik untuk memperbaiki ini. Kami ingin berhati-hati agar kami tidak merusak GRUB dan tidak memungkinkan untuk mem-boot apa pun di komputer Anda saat kami berupaya memperbaiki masalah booting Windows.

Di bawah ini adalah salinan dari beberapa informasi dari Ringkasan Bootinfo Anda untuk referensi. Komentar saya di atas didasarkan pada informasi ini.

============================= Boot Info Summary: ===========================

 => Grub2 (v1.99) is installed in the MBR of /dev/sda and looks at sector 1 
    of the same hard drive for core.img. core.img is at this location and 
    looks for (,msdos2)/boot/grub on this drive.

sda1: ______________________________________________________________________

    File system:       ntfs
    Boot sector type:  Grub2 (v1.99)
    Boot sector info:  Grub2 (v1.99) is installed in the boot sector of sda1
                       and looks at sector 44090872 of the same hard drive 
                       for core.img. core.img is at this location and looks
                       for (,msdos2)/boot/grub on this drive. No errors 
                       found in the Boot Parameter Block.
    Operating System:  Windows 7
    Boot files:        /bootmgr /Boot/BCD /Windows/System32/winload.exe

sda2: ______________________________________________________________________

    File system:       ext4
    Boot sector type:  -
    Boot sector info: 
    Operating System:  Ubuntu 12.04 LTS
    Boot files:        /boot/grub/grub.cfg /etc/fstab /boot/grub/core.img

Sebuah pekerjaan yang memungkinkan untuk mem-boot Windows 7

Di bawah ini adalah saran untuk mengedit perintah boot GRUB Anda yang memungkinkan Anda untuk mem-boot Windows 7. Saya tidak yakin ini akan bekerja, tetapi tampaknya patut dicoba.

Saat ini Anda grub.cfg menggunakan perintah boot GRUB di bawah ini untuk mem-boot Windows 7.

menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 1EA0019AA0017A13
    chainloader +1
}

Saya menyarankan Anda mencoba mengubah ini dan menggunakan perintah ini sebagai gantinya.

menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    insmod ntldr
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 1EA0019AA0017A13
    ntldr ($root)/bootmgr
}

Inilah langkah-langkah untuk melakukan ini.

  1. Boot sistem Anda ke menu GRUB.
  2. Pilih (sorot) entri menu boot GRUB Windows 7 (loader) (on /dev/sda1).
  3. tekan e untuk mengedit perintah boot GRUB untuk Windows 7.
  4. Buat dua perubahan pada daftar perintah ini seperti yang diilustrasikan dalam menuentry atas.
    • Tambahkan perintah insmod ntldr
    • Ubah perintah
      chainloader +1
      untuk
      ntldr ($root)/bootmgr

  5. Tekan salah satu Ctrl+X atau F10 untuk boot menggunakan perintah yang diedit ini.

Catatan 1: 

Jika pekerjaan di atas berhasil memuat menu boot Windows 7, maka Anda bisa membuatnya semi-persistent oleh

  1. Menggunakan sudo untuk mengedit file /etc/grub.d/40_custom dan tambahkan yang kedua, dimodifikasi menuentry ditunjukkan di atas. (Jika Anda melakukan ini, saya juga menyarankan Anda mengubah judul entri "khusus" ini.)
  2. Jalankan perintahnya sudo update-grub untuk memperbaharui /boot/grub/grub.cfg untuk memasukkan entri Anda yang disesuaikan. (Ini akan berada di bagian bawah menu GRUB ketika Anda boot.)

Saya akan melihat saran di atas hanya sebagai solusi yang sebagian dipanggang. Solusi yang lebih baik adalah mengembalikan Windows VBR ke partisi Windows tanpa juga menghancurkan kemampuan GRUB untuk boot.

Saya pikir ... tapi saya tidak 100% yakin ... bahwa perintah pemulihan Windows bootsect dapat digunakan untuk melakukan ini. Jika Anda ingin mengambil risiko, salah satu cara yang mungkin untuk melakukan hal ini diuraikan di bawah ini.

  • Saat mem-boot Windows, tekan F8 untuk memunculkan Advanced Boot Options menu.
  • Pilih Repair Your Computer masuk.
  • Berjalanlah melalui jendela berikutnya sampai Anda mencapai System Recovery Options.
  • Memilih Command Prompt
  • Jalankan perintahnya bootsect /nt60 C:

Tetapi Anda mungkin juga ingin menunggu sebentar dan melihat jawaban lain apa yang Anda dapatkan pertanyaan sebelum Anda mengambil risiko mencoba di atas.

Catatan 2:

Saat mencari hal-hal lain, saya menemukan dua pertanyaan lain di AskUbuntu yang terkait dengan masalah Anda.

  1. Windows 7 tidak bisa boot setelah menginstal Ubuntu 11
  2. Windows 7 tidak bisa boot setelah menginstal Ubuntu

Saya tidak yakin berapa banyak bantuan yang diberikan pertanyaan-pertanyaan ini. Jawaban atas pertanyaan kedua adalah menggunakan perintah bootrec /fixboot untuk mengembalikan VBR untuk partisi Windows. Pemahaman saya dari pertanyaan itu adalah bahwa menggunakan bootrec /fixboot perintah memecahkan masalah.

Tetapi pertanyaan kedua menegaskan hal itu bootrec /fixboot melakukan tidak menyelesaikan masalah.

(Mengalahkan saya tentang apa yang mungkin terjadi di sana.)


12
2018-05-11 16:13



Terimakasih atas balasan anda. Saya baik-baik saja memilikinya, beruntung, tetapi jika orang lain tidak tahu tentang itu, mereka lakukan sekarang. Url dari Boot-Repair-Info adalah http://paste.ubuntu.com/981952/ - Sim
Saya pikir masalah Anda disebabkan oleh menginstal GRUB ke partisi Windows Anda. Lihat pembaruan untuk jawaban saya. - irrational John
Jadi apa yang bisa saya lakukan? Haruskah saya menggunakan bootrec dan menginstal ulang grub? Atau ada cara lain? - Sim
Anda dapat memperbaiki boot Windows seperti biasa, ketika itu dilakukan Windows akan secara otomatis melakukan boot tanpa meminta Anda (Windows tidak mengenali Linux). Ketika itu diperbaiki, Anda dapat mem-boot Linux dari USB dan menjalankan GRUB lagi, kali ini jangan menyentuh partisi Windows;) - pzkpfw
Menambahkan saran untuk solusi sementara yang mungkin untuk jawaban saya. - irrational John


menuentry "Windows 7" {
    insmod ntfs
    set root=(hd0,1)
    drivemap -s (hd0) ($root)
    ntldr /bootmgr
    #or chainloader +1
}

Jika Anda menginstal Windows pada partisi selain (hd0,1) Anda perlu menggunakan perintah drivemap untuk boot ke Windows. Chainloader +1 atau ntldr / bootmgr keduanya dapat digunakan untuk mem-boot Windows 7.

Apa yang Anda lakukan adalah Anda memodifikasi VBR dari partisi 1; Anda dapat mengembalikan itu dengan mengeksekusi perintah-perintah ini dalam mode pemulihan windows di cmd ketika Anda boot dari CD instalasi:

bootrec.exe /FixMbr  

bootrec.exe /FixBoot  

bootrec.exe /RebuildBcd

7
2018-02-12 21:52



Ini adalah satu-satunya jawaban yang benar-benar berfungsi. +1 - daisy


Aku benar-benar tidak tahu "(UN) booting)" Anda shoud mencoba memperbaiki Windows Anda dengan menggunakan Windows Repair disk (pilih Command Prompt untuk menjalankan bootsect.exe utilitas. Bootsect terletak di dalam folder boot sehingga mengubah direktori Anda boot. Sekarang jalankan bootsect /nt60 C:\ (tanpa tanda kutip) jika Anda memiliki Windows 7 yang diinstal pada awalnya C: partisi. Atau, Anda dapat menjalankan "bootsect / nt60 SYS" atau "bootsect / nt60 ALL")

Lalu instal ulang GRUB.


1
2018-05-11 03:29



Terima kasih atas balasannya. Yang saya maksud adalah sepatu grub tetapi bukan windows setelah saya memilihnya. Meneliti, orang mengatakan bahwa untuk memperbaiki boot untuk mbr, kita harus menggunakan "bootrec.exe / fixboot" lalu "bootrec.exe / fixmbr". Apakah metode Anda sama dengan bootrec atau berbeda? - Sim
Dalam pengalaman saya, setelah instalasi Ubuntu sebagai dual boot, akan lebih baik menjalankan Windows saat reboot dan melakukan perbaikan dengan sendirinya, kemudian kembali ke Ubuntu. Saya mengikuti metode ini setiap kali dan berhasil. - beeju
Benar. Untuk windows yang saya gunakan EasyBCD - Sim


GRUB diinstal di sektor boot partisi Windows Anda (PBR), seperti yang ditunjukkan oleh BootInfo Anda:

sda1: __________________________________________________________________________

File system:       ntfs
Boot sector type:  Grub2 (v1.99)
Boot sector info:  Grub2 (v1.99) is installed in the boot sector of sda1 
                   and looks at sector 44090872 of the same hard drive 
                   for core.img. core.img is at this location and looks 
                   for (,msdos2)/boot/grub on this drive. No errors found 
                   in the Boot Parameter Block.
Operating System:  Windows 7

Ini mencegah Windows dari boot.

Solusi dijelaskan dengan baik di sini: http://ubuntuforums.org/showpost.php?p=11693662&postcount=1


0
2018-06-21 10:17





Saya memiliki masalah yang sama dan ingin memastikan solusi yang berhasil untuk saya dengan harapan dapat membantu orang lain ...

Saya mengedit grub.cfg untuk mencerminkan perubahan di sini:

menuentry "Windows 7 (loader) (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    insmod ntldr
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 1EA0019AA0017A13
    ntldr ($root)/bootmgr
}

Artinya, saya menambahkan ...

insmod ntldr

dan mengubah baris terakhir menjadi ...

ntldr ($ root) / bootmgr

Saya akan mencoba mengembalikan VBR secepatnya dan akan melaporkan kembali bagaimana hasilnya.


0
2018-01-03 04:27





Memecahkan masalah booting windows 10 saya ....

menuentry "Windows 10 (loader) (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    insmod ntldr
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 1EA0019AA0017A13 
    ntldr ($root)/bootmgr
}

hexadec.code mungkin berbeda


0
2018-03-03 10:00



Saya tidak yakin ini benar-benar milik pertanyaan ini ... - Zanna