Apakah mungkin untuk "kembali" ke GRUB setelah mem-boot Linux tanpa memulai ulang

21

Saya dual-boot Windows dan Linux pada SSD saya dan sering berpindah antara dua OS. SSD sangat cepat dan kedua OS boot dalam waktu sekitar 3 detik setelah dipilih dalam GRUB. Namun, butuh selamanya (sekitar 30 detik) untuk BIOS, RAID dan pengontrol SATA kedua saya untuk menginisialisasi sebelum akhirnya saya di GRUB.

Jadi saya bertanya-tanya apakah mungkin untuk melewatkan inisialisasi ini dan hanya "kembali" ke GRUB setelah saya mem-boot Linux. Idealnya saya juga bisa melakukan hal yang sama dari dalam Windows tetapi harapan saya tidak terlalu tinggi di sana :)

Saya melakukan sedikit pencarian online dan tidak menemukan apa pun kecuali loader linux yang agak ketinggalan zaman - loadlin.exe, yang dapat dijalankan dari dalam Dos atau Windows 95/98 untuk mem-boot Linux. Jadi setidaknya konsep beralih OS tanpa me-reboot bukanlah hal baru. Adakah yang tahu alat terkini yang melakukan ini?

Jika tidak, apakah ada masalah teknis yang mencegah kami menulis program seperti itu atau apakah tidak ada cukup permintaan?

PEMBARUAN: Seorang teman saya baru saja memberi tahu saya tentang Kexec . Menggunakannya tampaknya memungkinkan untuk memulai kernel Linux yang berbeda dari dalam kernel yang sedang berjalan, tetapi apakah mungkin untuk kembali ke GRUB atau memulai instalasi windows secara langsung?

Dimitar Asenov
sumber
4
Pertanyaan menarik. Salah satu alasan yang dapat saya pikirkan karena tidak ada banyak minat dalam hal ini adalah bahwa VM telah meningkat baru-baru ini. Kebanyakan orang hanya menjalankan OS sekunder mereka di dalam VM pada yang utama alih-alih dual boot.
Noufal Ibrahim
Saya juga mempertimbangkan untuk menggunakan VM tetapi saya membutuhkan kinerja grafik yang cepat dan sejauh ini VM tidak memberikan kinerja yang memuaskan. Mungkin segalanya akan berubah sekarang bahwa Xen (dan yang lainnya segera) memiliki opsi passthrough lengkap untuk kartu grafis. Namun demikian tetap menarik untuk melihat apakah ada cara untuk beralih cepat. Berkenaan dengan komentar kedua, saya sebenarnya tidak mengetahui unix.stackexchange.com. Saya pasti akan melihat dan mungkin memposting di sana jika saya tidak mendapatkan jawaban terlebih dahulu. Terima kasih untuk sarannya.
1
30 detik ? Saya pikir pada server ibm seperti 5 menit.
Sirex
1
Seharusnya dimungkinkan dengan bootloader EFI (tidak tahu caranya). Agak sulit dengan yang MBR, karena mereka diharapkan akan dimulai dalam mode nyata 16-bit dan mengatur semuanya sendiri, yang mungkin tidak dapat dilakukan setelah sistem diinisialisasi sekali.
grawity
@ Sirex: Tapi siapa yang dualboot server IBM? :)
grawity

Jawaban:

6

Menggunakan kexec Anda bisa menyelesaikan masalah. Tidak perlu melibatkan GRUB. Anda dapat menggunakan kexec-loader untuk mem-boot langsung ke sistem operasi yang berbeda dari dalam Linux. (Pastikan dukungan kexec dikompilasi ke dalam kernel Anda.)

Fabel
sumber
1
Sejauh yang saya tahu kexec_load()syscall hanya ditujukan untuk memuat kernel Linux. Alat kexec-loader yang Anda tautkan tampaknya hanya mendukung kernel Linux juga. --- Dimungkinkan untuk mem-boot misalnya memtest86 tetapi saya belum pernah melihat ada orang yang mem-boot Windows secara langsung menggunakan mekanisme kexec tetapi dimungkinkan melalui GRUB : Cara mem-boot langsung ke Windows dari kexec + Grub4DOS .
pabouk
2

Periksa apakah Anda memiliki dukungan UEFI. Itu secara DRASTIS dapat meningkatkan kecepatan booting.

Milind R
sumber
Ini tidak memberikan jawaban untuk pertanyaan itu. Untuk mengkritik atau meminta klarifikasi dari penulis, tinggalkan komentar di bawah posting mereka.
Jawa
1
@Jawa OP mengalami masalah karena POST-nya memakan waktu lama. UEFI pasti memotong waktu ini: tujuan penciptaannya.
Milind R
2
Dua hal di sini: 1) Pertanyaannya bukan "bagaimana saya bisa boot lebih cepat" tetapi "bagaimana saya kembali ke GRUB setelah booting?" 2) Jawaban satu baris mungkin paling baik sebagai komentar.
Kevin Panko
Terima kasih untuk sarannya. Sejak saya memposting pertanyaan asli, saya telah mengubah konfigurasi hard disk saya dan baru saja, saya mengoptimalkan beberapa pengaturan di bios untuk meningkatkan waktu boot. Intinya saya bisa menonaktifkan hal-hal yang berkaitan dengan RAID (yang saya tidak perlu lagi) dan juga mengaktifkan boot EFI. Efek keseluruhannya adalah boot yang jauh lebih cepat. Namun demikian, pertanyaan aslinya masih menarik bagi saya dan sejauh ini saya belum menemukan solusi yang dapat diandalkan.
Dimitar Asenov
1

Singkat cerita, tidak dengan cara kerja sekarang. Pendekatan yang lebih baik mungkin untuk menemukan mengapa pengontrol BIOS / RAID / SATA Anda begitu lama. Mungkin ada pembaruan BIOS yang tersedia, dan mungkin pembaruan firmware untuk pengontrol serangan.

Zeroedout
sumber
Salah satu alasan yang mungkin untuk POST yang lambat adalah Anda memiliki pengontrol HDD yang dikonfigurasikan untuk mendeteksi drive yang tidak ada di BIOS secara otomatis. Jika Anda memiliki satu HDD dan satu CD / DVD tidak ada gunanya mencoba mendeteksi secara otomatis untuk 2 (atau 4) slot lainnya, tes ini harus time out dan dapat memakan waktu.
Haqa
1

Tidak. Kecuali jika BIOS Anda memiliki opsi pengaturan khusus untuk melewati POST saat reboot (saya pernah melihatnya sekali) ini belum ada sejak Windows 98 / ME (trik Fast Reboot yang benar-benar hanya memuat ulang Windows.)

Mungkin seseorang dengan waktu boot hacking yang cukup dapat mereproduksi dan memuat ulang GRUB, tetapi itu harus mengubah cara INIT me-restart sistem.

Nakarti
sumber
0

Jika Anda tidak dapat menemukan pembaruan seperti yang disarankan Zeroedout, Anda mungkin ingin menjalankan sistem host Anda di mesin virtual, jadi reboot hampir gratis.

Juga, beberapa sistem memiliki mode boot cepat / cepat di mana beberapa pemeriksaan ditentukan. Anda mungkin ingin memeriksanya.

billc.cn
sumber