Saya telah mencoba menemukan cara yang lebih mudah untuk menginstal Windows dan Linux dual booting pada laptop saya, belum tentu dalam urutan itu. Apa yang umumnya harus kita lakukan adalah menginstal Windows terlebih dahulu, kemudian menginstal linux dan mengizinkan GRUB untuk menangani Windows.
Jadi apa yang saya coba capai adalah menemukan cara untuk memotong proses instalasi sial (windows) dan hanya menggunakan gambar untuk langsung menyalin ke drive saya. Ini juga memungkinkan saya mempertahankan boot manager (GRUB) saya. (bukan berarti saya tidak bisa mengembalikannya setelah itu, tetapi itu adalah kebijakan Microsoft untuk memonopoli, dalam hal ini menolak keberadaan boot manager lain dalam sistem).
Saya pertama kali mendapatkan salinan resmi Windows 8.1, kemudian mulai menginstalnya di mesin virtual menggunakan VirtualBox. Kemudian, saya membuat partisi NTFS pada hard drive yang dipartisi GPT dan menyalin konten partisi Windows dari gambar .vdi ke partisi yang baru dibuat.
Tentu saja, itu belum berfungsi. Saya tidak tahu cara mengganti bootmgr. Memberikan
File: \Boot\BCD
Status: 0xc000000e
Info: The Boot Configuration Data for your PC is missing or contains errors.
karena tidak dapat menemukan file itu dari partisi lain yang digunakan untuk mem-boot, pemulihan sistem, dll.
Sekarang, saya telah membaca bahwa bootmgr akhirnya mengeksekusi winload.exe untuk mem-boot Windows. Saya tidak tahu apa yang harus saya lakukan selanjutnya.
Saya rasa itu harus bekerja secara teoritis karena saya memiliki semua file yang diperlukan untuk menjalankan Windows. Saya juga berpikir bahwa saya seharusnya tidak menjadi satu-satunya yang memikirkan hal ini, dan karenanya saya mungkin kehilangan sesuatu yang sangat mendasar di sini. Mungkin sudah dilakukan?
Saya tidak tahu bagaimana cara booting bekerja. Apa yang berhasil saya pahami adalah bahwa ketika Anda dual-boot Windows dan Linux, Anda rantai windows bootloader ke linux. Jadi apa yang saya coba capai adalah entah bagaimana menyingkirkan bootloader Windows.
EDIT
Saya telah melihat file biner bootmgr
dan \Boot\BCD
. bootmgr
membaca file BCD dan daftar opsi Anda, di antaranya Anda dapat memilih untuk boot ke.
Jadi informasi seperti mengeksekusi winload.exe
berada di file BCD. Sekarang, saya pikir bootmgr
itu sendiri dijalankan oleh syslinux menggunakan chain.c32
modul. Apa yang saya coba lakukan adalah entah bagaimana mengeksekusi bootloader windows, yaitu winload.exe
langsung dari syslinux (jika mungkin), atau memodifikasi bootmgr
sehingga dijalankan winload.exe
sendiri (yang jalurnya akan langsung di bootmgr
executable) tanpa mencari BCD atau apa pun.
Hibernasi (yang membutuhkan prosedur berbeda) tidak menjadi masalah bagi saya pada langkah ini.
Edit pertanyaan Anda untuk memberi tahu kami jenis firmware, dan (jika EFI) apakah Anda telah mengaktifkan Modul Dukungan Kompatibilitas di pengaturan firmware
Firmware saya adalah EFI (dengan CSM diaktifkan), dan saya biasanya boot ke Arch Linux menggunakan GRUB. Saya telah menemukan bahwa bootmgr
dijalankan System32\winload.exe
pada sistem warisan, dan System32\winload.efi
pada EFI.
Saya punya 0.0
ide tentang apa yang harus dilakukan dari sini. Selama 10 hari terakhir, saya telah mencoba untuk membuat perubahan pada BCD dan saya pikir saya akan mencapai kesuksesan. Tapi itu tidak relevan, karena yang ingin saya lakukan adalah mem-bypass Windows Boot Manager.
Jika Anda memiliki ide apakah ada cara untuk mengeksekusi winload.efi
dari shell EFI (hanya tebakan), atau modifikasi lain untuk GRUB sehingga akan mem-boot Windows dalam mode EFI tanpa chainloader.
Setiap saran dipersilakan.
Tambahan
Posting forum berikut mungkin memberikan beberapa wawasan bermanfaat:
http://reboot.pro/topic/19371-chainload-directly-to-winloadexe/
1.
Grub4dos sekarang dapat mem-chainload sebuah bootloader (seperti NTLDR atau BOOTMGR) karena ia dapat bertindak sebagai pengganti kode yang terdapat dalam bootsector "normal" (yaitu sekitar 300 byte kode mesin).
Kode ini cukup menetapkan beberapa parameter dan kemudian memanggil loader.
Bahkan itu tidak mudah sama sekali untuk dipahami dan direplikasi dengan kode yang berbeda.
Pemuat sistem NT seperti BOOTMGR memiliki lebih atau kurang dalam satu. Exe sistem operasi "mode nyata" (tidak sepenuhnya berbeda dengan DOS) dan fasilitas / alat untuk menguraikan teks biasa dan kumpulan Registry, itu bukan sesuatu yang dapat diperbaiki. ditulis dari awal dengan mudah.
Orang-orang baik @ReactOS sedang mengerjakan penulisan FREELDR (yang bertujuan untuk menjadi pengganti NTLDR yang jauh lebih sederhana) sejak TAHUN (dan percayalah ada beberapa programmer ReactOS yang benar-benar bagus dan bagus kawan).
Ini tampaknya (tetapi tidak didokumentasikan dengan jelas) bahwa mereka berhasil untuk boot eksperimental Server 2003 dengan NTLDR.
2.
Dengan diperkenalkannya dukungan untuk (U) EFI, BootMgr membantu untuk mengabstraksi perbedaan antara BIOS dan (U) EFI. Sebagai contoh, berikut adalah dua urutan:
BIOS (PCAT) -> BootMgr { BootMgr stub -> embedded BootMgr.exe } -> WinLoad.exe -> Windows 64-bit (U)EFI -> BootMgFw.efi -> BootMgr.efi -> WinLoad.efi -> Windows
WinLoad mengharapkan lingkungan tertentu (termasuk API) untuk hadir. BootMgr menangani ini, sehingga [hampir] program WinLoad yang sama akan bekerja di lingkungan mana pun.
Faktanya, (U) EFI mendefinisikan metode untuk menyimpan dan mengambil parameter boot, jadi BCD BootMgr mencakup tujuan yang sama, terlepas dari BIOS / (U) EFI.
Tetapi di luar perbedaan BIOS dan (U) EFI, BootMgr memungkinkan Anda membuat "pilihan boot," sedangkan WinLoad mem-boot sistem operasi tertentu yang diketahui cara mem-boot.
Tergantung pada seberapa banyak lingkungan yang diharapkan WinLoad untuk hadir, mungkin untuk memanggil WinLoad secara langsung. Wimboot Michael Brown memanggil BootMgr PE [1] secara langsung, sehingga ia bisa memanggil WinLoad secara langsung, kecuali bahwa WinLoad mungkin menginginkan lebih dari satu lingkungan. Anda bisa mencobanya!
[1] Jangan bingung dengan BootMgr yang dapat digunakan oleh GRUB4DOS dan Syslinux chain.c32. BootMgr itu termasuk sebuah rintisan yang tahu bagaimana memohon BootMgr PE yang tertanam.
sumber
setup
utilitas firmware .Jawaban:
Untuk menjawab pertanyaan awal Anda, tidak. Windows tidak dapat dimuat tanpa melalui bootloadernya sendiri (dalam hal instalasi UEFI, bootmgfw.efi). Ini karena Windows mengharapkan bootmanager berada di sana DAN untuk memanggil winload.efi. Jika itu tidak terjadi, maka Windows akan macet sampai Anda memperbaiki masalahnya. Ada banyak alasan untuk ini (praktis dan bodoh). Sebagian besar, itu karena Microsoft menulis bootmanager untuk menangani semua hal (memuat OS, memuat lingkungan pemulihan, lingkungan pra-os semu, dan lain-lain). Satu-satunya cara untuk mencapai kemiripan kewarasan saat ini adalah dengan rantai beban menggunakan Grub-efi.
sumber
Anda perlu menambahkan bootloader Windows EFI ke daftar opsi boot di firmware UEFI. Dengan begitu, Anda akan dapat memilih apakah:
Opsi tambahan seperti drive DVD, hard drive eksternal atau boot jaringan juga harus terlihat pada saat itu. Bootloader UEFI biasanya berada di partisi
\EFI
(/boot/efi/
). Karena Anda baru saja menyalin gambar harddisk Windows tanpa menginstal Windows dengan benar, partisi EFI mesin Anda saat ini mungkin tidak berisi bootloader yang tepat. Karena itu perlu untukAnda kemudian harus dapat memilih OS mana yang di-boot dengan hanya mengubah urutan boot di BIOS. Di laptop saya, menekan F12memunculkan menu untuk memilih bootloader mana yang akan dimuat.
Untuk langkah-langkah ini, saya akan menggunakan
efibootmgr
dan mengikuti langkah-langkah dari tutorial ini :Anda harus menyalin file terkait
bootmgfw.efi
ke partisi EFI di\EFI\Microsoft\Boot\bootmgfw.efi
, atau/boot/efi/Microsoft/Boot/bootmgfw.efi
saat menggunakan Linux:di mana
Microsoft
folder berisi file EFI asli untuk versi Windows Anda.Maka Anda perlu menambahkan
.efi
file ke entri boot UEFI menggunakan:di mana tentu saja Anda perlu mengubah
/dev/sda
dan-p 1
ke nilai yang benar untuk perangkat disk Anda dan nomor partisi.Perhatikan ini jika Anda memiliki laptop Lenovo:
Mulai PC Anda kemudian harus menunjukkan sesuatu seperti ini (jika Anda menahan tombol yang sesuai selama proses boot):
dan
bcdedit
pada Windows menunjukkan ini:sumber
\EFI\Boot\Microsoft
folder untuk pengujian (ada beberapa file di sana)?inherit {bootloadersettings}
arti sebenarnya dari toko BCD?Anda dapat melakukan instalasi dalam urutan apa pun, yaitu Instalasi GNU / Linux dan kemudian Windows atau sebaliknya.
Lakukan saja yang berikut ini setelah Anda menginstal semua sistem operasi Anda.
Dapatkan "Boot Repair Disk" dari sini. http://sourceforge.net/projects/boot-repair-cd/
Buat Live USB Drive Pen bootable-nya (Petunjuk di pendrivelinux.com)
Atau bakar file ISO ke CD.
Boot melalui ini dan ikuti petunjuk di layar. Anda akan memiliki GRUB yang diinstal ulang yang berisi semua sistem operasi yang Anda instal.
Semua yang terbaik.
sumber