Kami memiliki server UEFI dan telah menemukan situasi di mana kami harus memaksa Windows Server 2008 untuk melakukan booting melalui metode BIOS lama alih-alih melalui UEFI.
Apakah ada cara untuk memberitahu Windows Server 2008 (baik saat menginstal atau pasca-instal) untuk mengabaikan fakta bahwa itu menginstal ke mesin EFI dan bukannya menginstal dan menggunakan bootloader BIOS lama?
Saya sudah mencoba beberapa saran yang tidak membantu:
Memformat disk sebagai partisi MBR sebelum menginstal Windows
Tidak, Windows menolak untuk menginstal:
Instal Windows, migrasi partisi ke disk MBR, perbaikan sistem
Tidak, konsol perbaikan sistem tidak mau memuat. Ia mengeluh bahwa ia tidak mengenali versi Windows yang saya coba perbaiki.
Nonaktifkan UEFI
Jika saya dapat menonaktifkan UEFI dan membuat sistem hanya legacy, saya akan melakukannya. Namun, sistem tertentu yang saya gunakan (IBM HS22, x3690X5) hanya UEFI dengan dukungan legacy. Anda tidak bisa menonaktifkan UEFI saja. Itu akan membutuhkan implementasi BIOS yang lengkap.
Solusinya!
Seperti yang ditunjukkan JdeBP, metode tunggal yang digunakan Windows untuk menentukan apakah akan menggunakan bootloader EFI / GPT atau BIOS / MBR adalah metode yang digunakan untuk mem-boot CD instal.
Menggabungkan ini dengan saran Weaver untuk membuat gambar .iso tanpa entri katalog boot 0xEF (jauh lebih mudah dilakukan dengan hex-editing daripada remastering gambar, omong-omong) membawa kita ke jawaban yang bagus dan ringkas:
Paksa media instal untuk boot melalui BIOS, bukan melalui UEFI karena ini adalah satu-satunya pembeda yang digunakan Pemasang Windows untuk menentukan skema boot mana yang akan digunakan.
sumber
Jawaban:
Microsoft tidak akan membiarkan Anda mencapai langkah Anda; jadi alamat tujuan Anda sebagai gantinya.
Microsoft keliru mengkonfigurasi memiliki cakram keras yang dipartisi EFI dengan memiliki firmware EFI . Tentu saja ini salah. Sangat mungkin - dan memang semakin diminati akhir-akhir ini - untuk memiliki cakram dipartisi EFI pada mesin yang memiliki firmware lama non-EFI. Anda sebenarnya - walaupun butuh lebih dari dua minggu untuk orang-orang di sini untuk memeras tujuan Anda daripada langkah - ingin yang sebaliknya. Anda ingin memiliki disk yang dipartisi PC / AT-style MBR lama pada mesin yang memiliki firmware EFI. (Firmware EFI sendiri tidak memiliki masalah dengan format tabel partisi mana pun, dan memang diperlukan oleh spesifikasi EFI untuk memahami keduanya. Microsoft yang membuat kesalahan ini.) Dan Anda menginginkan ini karena perangkat lunak orang lain tidak dapat memahami tabel partisi EFI.
Salah satu dari beberapa konsekuensi kesalahan Microsoft adalah bahwa penginstal Windows NT 6.1 harus dipanggil dari media penginstalan yang pada gilirannya telah di-bootstrap dari firmware PC98 lama, agar dapat menerima gagasan menginstal Windows NT 6.1 ke disk. dipartisi dengan skema partisi PC / AT MBR lama. Sayangnya, jika cakram instalasi Windows NT di-bootstrap dengan cara EFI baru, penginstal akan berpikir bahwa ada firmware EFI, dan karenanya menyatakan bahwa cakram tersebut tidak dapat diinstal ke cakram keras non-EFI yang dipartisi.
Seperti yang ditunjukkan oleh Weaver, dan seperti yang dijelaskan oleh dokumentasi Microsoft , CD-ROM instalasi sebenarnya adalah dual-boot. Seperti dijelaskan Rod Smith lebih lanjut , oleh karena itu seseorang dapat secara manual membuat disk instalasi Windows NT 6.1 yang bootstraps dengan cara PC98 lama. Penginstal Windows NT 6.1 akan memungkinkan penginstalan ke hard disk yang dipartisi PC / AT MBR.
Namun, pada sistem yang tidak memiliki modul dukungan kompatibilitas , seperti yang Anda katakan sistem Anda lakukan, ini tidak akan membantu sedikit pun . Sistem Anda akan memerlukan versi Boot Manager Microsoft versi EFI, yang diinstal pada Partisi Sistem EFI, karena begitulah firmware Anda akan mencoba mem-bootstrap sistem operasi. Tetapi ketika penginstal Windows NT 6.1 dimulai pada firmware non-EFI, itu menginstal versi Boot Manager Microsoft non-EFI dan tidak akan membuat Partisi Sistem EFI. Instalasi semacam itu tidak akan benar-benar bootstrap pada mesin Anda, dan Anda bahkan tidak akan dapat menyelesaikan prosedur instalasi. Memang, karena Anda tidak memiliki CSM, Anda bahkan tidak akan dapat memulaiprosedur instalasi, karena Anda bahkan tidak dapat melakukan bootstrap disk instalasi dengan cara PC98 lama. Microsoft tidak akan membiarkan Anda mencapai langkah Anda, dua kali lipat.
Jadi, fokuslah pada tujuan Anda. Tujuan Anda adalah memungkinkan pelanggan Anda untuk menggunakan Windows Server 2008 ke mesin yang memiliki firmware EFI dari gambar sistem. Oleh karena itu pertanyaan yang benar yang harus Anda tanyakan - dari vendor perangkat lunak - adalah bagaimana cara memperbaiki perangkat lunak pencitraan disk lama / rusak sehingga tidak ada masalah dengan tabel partisi EFI.
sumber
Singkatnya, ya dan tidak karena beberapa alasan berbeda. Jika Windows mem-boot dari disk GPT, itu harus dari UEFI. Manajer boot dan loader Windows tidak dapat boot ke disk MBR dari UEFI asli . Namun, jika UEFI dikonfigurasi untuk mode boot BIOS lama maka disk MBR dapat digunakan untuk booting. Ini berasal dari mode boot Windows (BIOS dengan MBR atau UEFI dengan GPT) yang bergantung pada lingkungan di mana ia dilibatkan.
Baca terus untuk sedikit teknologi -
Perangkat keras fisik (atau perangkat keras virtual, namun perangkat keras) firmware (BIOS / UEFI) menyediakan lingkungan pengoperasian awal (struktur dan konvensi data terkait boot) dan layanan firmware yang tersedia untuk tahapan selanjutnya dari proses boot sistem operasi.
BIOS / MBR
Dalam hal BIOS / MBR boot sektor pertama dari disk bootable pertama - master boot record (LBA 0) berisi segelintir perakitan x86 (16 bit 8088), kemudian tabel partisi, lalu tanda tangan). BIOS memuat sektor ini ke dalam memori dan mulai mengeksekusi - BIOS melepaskan kontrol kode programnya sendiri begitu MBR terlibat.
http://mbr.adamsatoms.com/
http://www.ata-atapi.com/hiwmbr.html
rakitan x86 (Intel 8088 di sebagian besar MBR) di MBR mem-parsing tabel partisi, mencari partisi yang aktif, dan melompat ke sektor pertama di partisi itu - disebut catatan boot volume. Catatan boot volume berisi x86 rakitan jmp, blok parameter BIOS (tidak digunakan sama sekali oleh BIOS sistem, jadi nama yang membingungkan), dan lebih banyak rakitan x86 yang pada akhirnya memuat boot loader sistem operasi (NTLDR atau BOOTMGR di lingkungan Windows ) dari volume boot / partisi itu sendiri.
NTLDR atau BOOTMGR membalik CPU ke mode terproteksi, lihat konfigurasi waktu boot mereka (masing-masing boot.ini atau BCD, baik pada volume / partisi boot), dan muat NTOSKRNL di mana sisanya adalah sejarah.
http://technet.microsoft.com/en-us/library/cc781134%28WS.10%29.aspx
http://en.wikipedia.org/wiki/Windows_NT_startup_process
http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/bios-parameter-block.html
UEFI / GPT
Pertama izinkan saya menyatakan bahwa saya tidak memiliki banyak pengalaman aktif dengan UEFI / GPT. Namun, karena saya telah menggunakannya dan memahaminya untuk beroperasi - perbedaan besar (yang berkaitan dengan percakapan kami) adalah bahwa kontrol yang dapat dieksekusi tidak ditransfer ke MBR.
Sebaliknya firmware UEFI berisi boot manager sendiri. Boot manager ini memindai disk dan media, - menyoroti MBR pelindung dari disk yang diformat GPT, tiba di header GPT, dan kemudian menyelam ke Partisi Sistem EFI (ESP) di mana ia mencari program yang dapat dieksekusi EFI - yang seharusnya menjadi pemuat boot sistem operasi yang mem- boot OS secara langsung, namun seperti yang telah kita lihat dengan MS dan Apple EFI executable terbaru, mereka sebenarnya boot manager menambahkan lapisan lain ke proses dan kompleksitas.
http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/efi-boot-process.html
http://msdn.microsoft.com/en-us/windows/hardware/gg463525#X-201104111922443
Kesimpulan / TL; DR
Poin yang perlu diambil dari hal ini adalah bahwa ada lingkungan yang diharapkan di mana boot manager dan boot loader sistem operasi diharapkan untuk berjalan. Dari layanan level firmware yang tersedia (BIOS / UEFI interrupts), struktur data (variabel, konvensi stack, dll), dan bahkan konvensi pemformatan disk. Tidak dapat diubah saat runtime - setidaknya bukan cara saya memahaminya.
Opsi Anda?
Pra-instal Anda dapat mengontrol instal dengan menggunakan BIOS / MBR atau UEFI di boot BIOS lama dengan MBR atau UEFI dengan GPT.
Pasca-instal - mungkin ada beberapa kemungkinan menarik dengan mengubah format disk (MBR ke GPT dan GPT ke MBR) secara offline, kemudian boot ke konsol pemulihan (dalam mode UEFI atau BIOS yang sesuai) dan bekerja dengan bcdboot dan bcdedit untuk mendapatkan Windows boot manager diluruskan.
Perbarui 2011.09.09
@MikeyB
Cantumkan opsi seperti yang saya pahami, tidak benar-benar membuat saran formal.
Namun demikian, setelah melakukan sedikit penelitian lebih lanjut tentang UEFI (ingat bahwa saya tidak memiliki banyak pengalaman aktif dengannya), saya telah menemukan beberapa informasi menarik tentang UEFI boot manager dan dukungan untuk boot CD / DVD.
Spesifikasi Boot El Torito, mulai '95 masih ada sampai sekarang dan digunakan dengan CD / DVD bootable. Sebuah CD / DVD tunggal mungkin harus boot pada beberapa arsitektur - dan sementara ISO 9660 agak independen terhadap platform, kode yang dapat dieksekusi tidak. Dengan demikian, Spesifikasi Boot El Torito memungkinkan untuk beberapa entri / gambar boot.
Entri / gambar ini berisi ID Platform , yang dimaksudkan untuk menunjukkan apakah entri untuk PC, PowerPC, dan arsitektur lainnya sehingga BIOS (atau firmware) arsitektur dapat memilih entri boot yang tepat.
PC x86 standar dengan BIOS memiliki ID Platform El Torito 0x00. ID Platform berkemampuan UEFI adalah 0xEF - agak kreatif.
Standar x86 PC BIOS mengabaikan semua entri lain kecuali 0x00. Firmware UEFI yang memiliki dukungan BIOS lama (dikenal sebagai Compatibility Support Module (CSM)) - walaupun dapat melakukan booting 0x00, akan lebih memilih entri boot asli 0xEF dari katalog.
Media Windows 2008, 2008 R2, dan 7 DVD berisi beberapa gambar katalog El Torito dengan 0x00 dan 0xEF. 0x00 adalah default, tetapi UEFI akan mengabaikannya jika 0xEF ada dan memilih entri 0xEF - karena itu asli.
Apa yang mungkin - adalah membuat media yang hanya berisi ID Platform yang disukai dalam katalog boot El Torito. Alih-alih katalog multi-entri, buat katalog entri tunggal dengan ID Platform 0x00. Ini harus memaksa firmware UEFI, jika sebenarnya mendukung boot BIOS lama, untuk memilih ID Platform 0x00 dan boot entri boot lama BIOS pada media Windows.
Bagaimana cara melakukannya?
Menggunakan Oscdimg dimungkinkan. Di bawah ini adalah beberapa contoh orang yang membuat media UEFI hanya untuk mengatasi keterbatasan dalam implementasi UEFI Apple. Perhatikan bahwa ini adalah kebalikan dari apa yang kami coba lakukan - kami hanya ingin membuat BIOS, meninggalkan entri boot UEFI dari katalog.
Hanya UEFI (Seberang) 1
Hanya UEFI (Seberang) 2
Proses untuk membuat media khusus BIOS mirip dengan perubahan pada
-b
dan-p
argumen berikut iniSumber daya yang hebat yang memberi penerangan luar biasa tentang kegilaan Microsoft yang dipilih pada media instalasi Windows adalah dokumen Dukungan dan Persyaratan UEFI untuk Sistem Operasi Windows .
sumber
Salah satu metode sederhana adalah dengan melakukan instalasi basis Windows pada mesin yang tidak mendukung EFI, menangkapnya dengan perangkat lunak gambar Anda dan mengembalikannya ke perangkat keras yang sebenarnya.
Pilihan yang baik mungkin untuk membangun instalasi basis Anda di VM. Dalam versi sebelumnya (ver <6) Windows tidak beradaptasi dengan baik untuk dipindahkan dari satu jenis perangkat keras ke yang lain. Dengan versi terbaru Windows selama pengontrol penyimpanan didukung pada gambar, Windows akan melakukan pekerjaan yang cukup baik untuk beradaptasi dengan perangkat keras baru.
Disk Windows install (ver> = 6) pada dasarnya biasanya menyertakan file wim yang pada dasarnya hanyalah gambar dari sistem operasi.
sumber