Apakah ada cara untuk mem-boot Windows 7/8 menggunakan BIOS pada GPT?

21

Saya ingin tahu apakah ada metode untuk mendapatkan Pratinjau Pengembang Windows 7 atau Windows 8 untuk diinstal ke disk GPT pada pengaturan IBM PC BIOS tradisional saya. Windows 7, tentu saja, menolak partisi GPT saya, karena saya tidak punya UEFI. Nah, Debian dan Grub 2 sepertinya berfungsi dengan baik ... Jadi saya ingin tahu apakah ada cara untuk memaksa Windows bekerja juga.

Saya akan serius lebih memilih menghindari hybrid MBR / GPT, karena cukup rapuh dan terasa hackish, tapi tidak bekerja. Saya akan menganggap pemblokir utama adalah bahwa Microsoft tidak menambahkan dukungan di bootloader BIOS mereka untuk GPT, yang dapat dimengerti, saya kira. Apakah ada jalan lain?

Cara saya melihatnya, ada beberapa solusi potensial:

  1. Memiliki bootloader alternatif untuk kernel Windows. BUKAN chainloader. Sejauh yang saya tahu, tidak ada. Itu memalukan.
  2. Menyimpan sesedikit mungkin pada disk berbasis MBR alternatif. Tidak menyukai ide ini, tetapi itu bisa dilakukan. Saya tidak yakin saya akan menyebut ini solusi untuk masalah sebanyak solusi.
  3. Meniru cukup EFI untuk membuat bootloader EFI berfungsi ... Saya ingat pernah mendengar sedikit tentang emulator UEFI-on-BIOS, tetapi saya tidak dapat menemukan apa pun tentang itu sekarang. Saya menganggap ini bisa dilakukan, tapi mungkin belum banyak permintaan untuk itu, dan mungkin tidak menyenangkan sama sekali untuk pengaturan. GRUB 2 tampaknya dapat mem-boot hackintosh dengan emulasi EFI yang diperlukan, tetapi saya kira tidak ada minat / UEFI 2 lebih sulit untuk didekati (dan saya akan menganggap emulator EFI lain yang digunakan untuk hackintosh berada di kapal yang sama.)
  4. Coreboot dengan TainoCore. Coreboot tidak berfungsi pada motherboard saya (sejauh yang saya tahu,) dan saya cukup yakin upaya terakhir untuk melakukan ini selama GSoC gagal. Saya benar-benar menyukai solusi ini, jika berhasil, meskipun.

Apakah saya kehilangan sesuatu?

John Chadwick
sumber
1
Tidak terlalu. Saya tahu itu bisa berjalan pada MBR / GPT hybrid dan saya tidak takut untuk menggunakannya. Terlebih lagi, saya tidak puas dengan solusi itu dan ingin tahu apakah ada cara lain yang lebih baik. Saya masih mengerjakan masalah ini, dan saya mungkin menemukan solusi saya sendiri.
John Chadwick
1
Aku cukup yakin itu pertanyaan adalah duplikat yang satu ini, mengingat 2 tahun kesenjangan. Selain itu, benar-benar tidak ada jawaban untuk pertanyaan di sana, atau setidaknya tidak ada jawaban langsung, sedangkan pertanyaan ini memiliki jawaban langsung.
John Chadwick
Apakah Anda memeriksa jawaban saya? Ini baru, dan tidak ada orang lain yang melakukannya dengan cara ini. Ingin beberapa pengujian di atasnya. Dijamin non hacky.
Milind R
Ini benar-benar tidak akan berfungsi pada laptop. Tetapi sekali lagi, saya merasa sangat aneh untuk menandai pertanyaan ini sebagai duplikat setelah dijawab hampir 2 tahun sebelum pertanyaan itu diajukan. Saya tidak menemukan menjalankan implementasi UEFI sebagai peretasan; hanya aneh, tetapi memiliki keuntungan karena tidak memerlukan disk drive tambahan.
John Chadwick
Ada implementasi disk tunggal dalam karya, akan diperbarui ketika diuji ... Juga, ini adalah retasan dalam arti bahwa Anda berbohong kepada windows tentang sistem: dalam MBR hibrida, berbohong tentang jenis partisi, dalam DUET, berbohong tentang firmware.
Milind R

Jawaban:

8

Ya, banyak hal telah berubah sejak saya pertama kali menanyakan pertanyaan ini. Pertama, PC saya sekarang berbasis UEFI, jadi saya tidak memiliki masalah ini lagi. Yah, semacam itu. Saya tertarik untuk menarik setup yang serupa pada laptop saya (partisi GPT, dll.) Saya akhirnya berhasil mendapatkan setup DUET Tianocore UEFI yang berfungsi, dan itu sesederhana yang didapat!

Ini mengasumsikan Anda menginginkan semua pengaturan baru yang mengkilap. Jika Anda ingin benar-benar mengonversi pengaturan lama Anda, semoga berhasil . Sebenarnya, semoga berhasil, karena ini adalah operasi yang rumit dalam situasi apa pun.

Kata peringatan: Jika Anda penggemar waktu booting cepat, Anda mungkin ingin memikirkan kembali keputusan ini. Bukan berarti UEFI DUET lambat, tetapi menambah tahap lain pada proses booting Anda, jadi jika BIOS / POST Anda tidak cepat, Anda mungkin tidak suka ini.

Tanpa basa-basi:

  1. Anda akan menginginkan pengaturan Linux. Saya menggunakan Fedora 16 dari stik USB (dengan UNetBootin) dan saya sangat merekomendasikannya karena praktis tidak berfungsi. Anda tetap memerlukan USB drive, jadi jangan berencana untuk melanjutkan tanpa drive USB.

  2. Raih beberapa build UEFI DUET. Tanpa pertanyaan, tempat terbaik untuk mendapatkan ini ada di sini . Tarbal build sebenarnya berada di bawah cabang master dari repositori pertama, di sini . Berikan yang lama tar -xf.

  3. Siapkan partisi Anda. Anda harus memesan 200 MB di suatu tempat di disk (lebih disukai awal, dan partisi pertama.) Anda dapat memformatnya dengan FAT32, tapi kami memformatnya nanti. Pastikan itu muncul sebagai partisi. Anda harus menggunakan GPT di sini.

  4. Sekarang instal perangkat lunak tambahan yang mungkin Anda butuhkan. Pada distribusi Fedora Live, saya merasa perlu yum install gdisk. Saya pikir itu dia.

  5. Sekarang masuk ke direktori build diekstraksi. chmod +x ./duet-installdan ./duet-install -64 -F -m /dev/sda1(di mana /dev/sda1partisi sistem EFI yang Anda inginkan.)

  6. Silangkan jari Anda dan mulai ulang. Dengan sedikit keberuntungan, Anda akan melihat logo TianoCore hanya dalam beberapa saat. Jika demikian, Anda mungkin baik! Anda harus mengatur file instalasi OS Anda pada drive USB - Tianocore tidak mendukung drive CD-ROM / DVD-ROM di luar kotak (dan saya tidak tahu ada driver untuk itu.)

Anda juga mungkin menginginkan beberapa biner shell UEFI untuk dimainkan. Saya menemukan beberapa di sini . Namun, belum menguji dengan Tianocore.

Bagaimanapun, terima kasih untuk semua yang mencoba membantu.

John Chadwick
sumber
Ini bekerja dengan instalasi Windows?
Moab
Saya berhasil menggunakannya dengan Windows 8 pada tahun 2012. Saya tidak membutuhkannya lagi karena semua yang dibuat dalam beberapa tahun terakhir menggunakan UEFI, karena Windows 8+ membutuhkan produsen perangkat keras untuk mendukungnya. Mungkin masih akan bekerja hari ini, tetapi saya tidak tahu apakah saya akan merekomendasikannya.
John Chadwick
2
Tautan UEFI DUET sekarang seharusnya ada di sini , tetapi tidak lagi dipertahankan; situs mengatakan untuk menggunakan Clover EFI sebagai gantinya.
kirbyfan64sos
1
dan Anda dapat menginstal Clover ke HDD untuk menghapus kebutuhan drive yang terpisah
phuclv
6

Saya berhasil mem-boot Windows 8.1 pada disk GPT di bawah pengaturan BIOS TANPA disk MBR kedua.

Ceritanya adalah: Laptop saya berada di bawah pengaturan BIOS + GPT, dengan hanya Arch Linux yang diinstal. Baru-baru ini saya perlu menyelesaikan beberapa tugas di Windows (yang mesin virtual tidak bisa) jadi saya berjuang untuk menginstal Windows di bawah pengaturan BIOS + GPT yang ada. Menurut jawaban Milind , saya berhasil menginstal file boot Windows (Boot, bootmgr, dll) ke drive USB MBR (kecil). Dan setiap kali saya menyalakan laptop saya dengan drive USB yang dicolokkan, saya bisa boot ke Windows 8.1, setelah itu drive dapat dicolokkan dengan aman.

Kekurangannya jelas: Saya perlu membawa drive USB untuk mem-boot Windows. Jadi saya selalu berusaha menyingkirkannya.

Setelah mencoba dengan metode yang berbeda, saya akhirnya menemukan modul memdisk dari proyek syslinux bekerja.

  • Anda harus melepaskan boot manager Windows.
  • Anda tidak perlu menginstal syslinux. Hanya modul memdisk (file 26 kB) yang diperlukan.
  • Anda dapat menggunakan banyak bootloader untuk memuat modul ini, dalam kasus saya, bootloader favorit saya GRUB (versi 2).

Berikut ini garis besar caranya:

  • Partisi disk GPT Anda untuk memenuhi kebutuhan GRUB, artinya, partisi kecil untuk embed core.img. Tautan terperinci
  • Instal GRUB ke partisi kecil itu.
  • Instal Windows dengan imagex.Dan gunakan bootsectdan bcdbootuntuk menginstal file boot Windows ke disk USB MBR kecil..
  • Gunakan ddatau dd_rescueuntuk mengkloning disk USB kecil Anda menjadi image disk. (Disk USB Anda telah menyelesaikan tugasnya.) Gambar mungkin terlalu besar untuk memuat, Anda dapat memasang dan mengecilkan sistem file / partisi di dalamnya.
  • Menurut pengujian saya, Anda tidak memerlukan disk MBR fisik untuk menginstal file boot Windows. Anda dapat membuat file vhd dan memperlakukannya sebagai disk fisik.Setelah menginstal file boot Windows ke vhd, Anda dapat mengubahnya menjadi disk image mentah (gaya dd) menggunakan alat yang disediakan oleh VirtualBox atau QEUM.Ketika dibuat dengan type=fixed, file vhd hanyalah gambar disk mentah biasa (gaya dd) dengan footer 512 Bytes. Footer akan dikenali sebagai "ruang tidak berpartisi" dan akan diabaikan, sehingga type=fixedfile vhd dapat langsung dimasukkan ke MEMDISK tanpa mengonversi dan dengan demikian mem-boot Windows.
  • Konfigurasikan GRUB untuk menggunakan memdisk untuk memuat gambar disk ini.
  • Windows akan boot.

Cara mendetail dapat ditemukan di balasan reboot.pro saya untuk utas Milind.

Zhuoyun Wei
sumber
1
@ wzboy Saya menggunakan Arch linux dan saya berhasil mendapatkan setelah menginstal windows (dengan wimlib-imagex). Sekarang saya tidak yakin bagaimana untuk melanjutkan. Apakah Anda dapat menguraikan cara membuat file VHD dari dalam distribusi linux?
Mihai Bişog
@ MihaiBişog Anda memerlukan Windows PE untuk membuat vhd itu. Ada banyak cara untuk boot ke Windows PE. GRUB dan syslinux dapat boot ke file iso, misalnya.
Zhuoyun Wei
Bukankah ini akan merusak pembaruan windows? Maksud saya, jika Microsoft akan merilis pembaruan yang harus memodifikasi file boot / bootmgr ini yang Anda masukkan ke dalam image disk virtual - mereka tidak akan diperbarui dan Anda bahkan tidak pernah melihat ini. Juga saya kira ini dapat merusak beberapa operasi perbaikan windows. Apakah ada kelemahan lainnya?
Powerman
Bahkan, BCD / Bootmgr tidak akan pernah ditemukan oleh Windows, karena ia berada di dalam gambar floppy / disk. Jadi tidak perlu memperbarui secara otomatis. Perbaikan otomatis tidak akan berfungsi. Apa pun yang terkait dengan alat microsoft yang terkait dengan bootup Anda kemungkinan tidak akan berfungsi.
Milind R
1
Ya, apa pun yang terkait dengan bootmgr tidak akan berfungsi, karena mereka "hilang" setelah membantu Windows Anda untuk boot. Bahkan, ketika Anda menjalankan "bcdedit" di cmd.exe, ia akan memberi tahu Anda bahwa ia tidak dapat menemukan file boot. :-)
Zhuoyun Wei
5

Jika Anda bahkan memiliki drive cadangan kecil , Anda dapat mem-boot Windows (baik 32 atau 64 bit) dari GPT di BIOS. Floppy akan berhasil.

Boot ke disk instalasi / perbaikan Windows.

Buat drive sistem pada disk kecil / floppy, dan gunakan bcdbootuntuk meletakkan file boot Anda pada drive yang baru dibuat pada disk kecil. Tambahkan bootsector dengan bootsect. Ubah {bootmgr} deviceke boot. Boot dari disk kecil.

Langkah-langkahnya dirinci di sini .

Milind R
sumber
2
Mencoba itu dan itu berhasil. Sekarang saya memiliki Windows 8.1 yang berfungsi pada disk GPT di bawah pengaturan BIOS. Yang harus saya lakukan adalah memasukkan USB flash drive untuk mem-boot-nya. Setelah proses booting, drive USB dapat dihapus. Sama seperti masa lalu, maksud saya floppy MS-DOS ...
Zhuoyun Wei
Lol. Saya sedang mengerjakan solusi yang tidak memerlukan disk lain. Bisakah Anda memberi tahu saya seberapa lambat / cepatnya itu?
Milind R
1
Saya pikir menempatkan bootmgr pada disk lain tidak membuat boot Windows lebih lama, setidaknya saya tidak merasakannya.
Zhuoyun Wei
2
OHHHH YA. Permintaan maaf karena terlalu bersemangat. Saya menghabiskan sepanjang sore dan akhirnya berhasil mem-boot Windows 8.1 pada disk GPT di bawah BIOS setupt TANPA disk MBR kedua (kecil) - dengan menggunakan modul syslinux memdisk yang mampu memuat gambar harddisk.
Zhuoyun Wei
1
Inilah posting saya: reboot.pro/topic/…
Zhuoyun Wei
3

Terima kasih banyak untuk wzyboy.

Saya menghadapi masalah ini ketika mencoba menginstal Windows 2012 ke Dell PowerEdge 2950 dengan 6Tb RAID. Itu belum UEFI.

Saya melakukan beberapa percobaan. Pertama saya membuat HDD virtual 32Mb, seperti yang dikatakan wzyboy, dan cukup menyalin semua hal dari partisi yang disediakan Microsoft. Windows dimulai dengan normal. Tetapi dengan solusi ini, layanan Hyper-V tidak dapat memulai.

Seperti yang dikatakan wiki memdisk, ia secara otomatis memutuskan berdasarkan ukuran gambar, jenis media apa yang harus ditiru. Jadi, saya membuat disket 720K virtual di lingkungan WMware, dan menyalin bootmgr, BCD, dan bootstat.dat di dalamnya (untuk berjaga-jaga, hapus submenu memtest yang dihapus dari toko BCD). Ukuran floppy saya pilih sesedikit mungkin, jadi mungkin lebih besar atau bahkan lebih kecil, saya tidak mencoba.

Sekarang boot dari drive GPT dan Hyper-V berfungsi dengan baik.

PS dapat membantu perangkat lunak pihak ketiga. Adakah yang menggunakan sesuatu seperti ini? https://www.terabyteunlimited.com/bootit-bare-metal.htm

Nikolai Vakulenko
sumber
Baru-baru ini, setelah saya menghabiskan berjam-jam pada trik gambar, saya menemukan RAID-controller Perc5-i mampu mengiris array yang lebih kecil daripada kapasitas hard drive fisik. Jadi, pada perangkat keras profesional, booting GPT tidak menjadi masalah.
Nikolai Vakulenko
Bisakah Anda ceritakan skenario Anda dan perbaikannya untuk Anda, di utas dev ini ? Saya mencoba untuk menjaga semua detail bersama.
Milind R
2

Artikel A BIOS to UEFI Transformation menjelaskan secara rinci cara menggunakan TainoCore UEFI DUET.

Saya mengerti bahwa Anda memiliki masalah dalam menggunakan TainoCore, tetapi mungkin artikel ini akan bekerja untuk Anda.

Artikel itu mengatakan:

Beberapa komputer tidak bekerja dengan UEFI DUET. Yang paling penting, ini benar-benar hanya berguna pada komputer 64-bit x86-64, terutama dalam bentuk biner. Bahkan, itu tidak memulai dengan benar bahkan pada beberapa komputer x86-64. Dalam pengujian pada lima sistem x86-64, saya berhasil membuat satu atau kedua versi hanya bekerja pada tiga komputer — tingkat keberhasilan yang cukup suram, sungguh. Ini mungkin hanya kebetulan, tetapi dua komputer yang bekerja paling baik untuk saya menggunakan CPU Intel, sedangkan dua yang bekerja paling buruk dan yang bekerja dengan versi 2.1 tetapi tidak versi 2.3 semuanya memiliki CPU AMD.

Ini sepertinya menyiratkan bahwa seseorang harus mencoba beberapa versi UEFI DUET sebelum menyerah.

Akan sangat membantu untuk mengetahui model komputer Anda.

harrymc
sumber
Karena saya terakhir memperbarui pertanyaan ini, saya benar-benar mendapatkan UEFI DUET untuk berhasil boot di komputer saya. Sayangnya, kurangnya driver DVD-ROM membunuh saya, karena saya tidak punya drive USB untuk menyimpan Windows. Setelah harddisk utama saya gagal secara acak, saya memutuskan untuk beristirahat dan menggunakan partisi BIOS pada cadangan. Namun, artikel ini benar-benar membantu, dan saya masih tertarik untuk mengerjakannya sendiri. Saya akan mencoba mengingat untuk mengambil flash drive dalam waktu dekat.
John Chadwick
@JohnChadwick Anda dapat menggunakan Clover dan menginstalnya ke HDD sehingga Anda tidak perlu lagi boot drive terpisah
phuclv
@ phuclv: Apakah Anda memperhatikan bahwa komentar oleh John Chadwick berasal dari 2011 dan bahwa ia telah memberikan jawaban sendiri untuk posting ini?
harrymc
@harrymc tentu saja saya tahu. Info itu untuk pembaca masa depan
phuclv
0

Orang-orang perlu diingat bahwa tidak semua firmware BIOS dapat menangani drive GPT. Saya memiliki drive USB Seagate 4 Tb yang merupakan GPT dari pabrik dan tidak satu pun dari dua komputer saya yang mau boot dengan drive yang dicolokkan ke port USB.

Mesin akan membeku di layar menu F2 Enter Setup F10 Boot dan satu-satunya hal yang dapat dilakukan pada saat itu adalah mematikan daya dan menyalakannya kembali.

Setelah saya mengkonversi drive ke MBR yang membunuh sekitar 2 Tb ruang drive, kedua sistem akan mulai dan boot ke OS seperti biasa dengan drive terhubung.

Saya mencari patch BIOS untuk memperbaiki masalah ini.

Scott Tovey
sumber
BIOS tidak tahu apa-apa tentang drive , apakah GPT atau MBR, atau bahkan label BSD atau APM ... Hanya memuat sektor pertama (yaitu MBR) dan menjalankannya. Pada saat itu pekerjaan BIOS dapat dianggap "selesai". Jika drive Anda tidak bisa boot, itu artinya tidak ada sektor boot yang valid di drive
phuclv