Я использую двойную загрузку Windows и Linux на моем SSD и часто переключаюсь между двумя ОС. SSD работает очень быстро, и обе ОС загружаются примерно за 3 секунды после выбора в GRUB. Однако инициализация моего BIOS, RAID и второго контроллера SATA занимает около 30 секунд, прежде чем я, наконец, в GRUB.
Поэтому мне было интересно, можно ли пропустить эти инициализации и просто «вернуться» в GRUB после загрузки Linux. В идеале я также мог бы сделать то же самое из Windows, но моя надежда там не очень высока :)
Я немного поискал в Интернете и не нашел ничего, кроме устаревшего загрузчика linux - loadlin.exe, который можно было запустить из Dos или Windows 95/98 для загрузки Linux. Так что, по крайней мере, концепция переключения ОС без перезагрузки не нова. Кто-нибудь знает о текущем инструменте, который делает это?
Если нет, то есть ли техническая проблема, которая мешает нам написать такую программу, или просто не хватает спроса?
ОБНОВЛЕНИЕ: мой друг только что рассказал мне о Kexec . Используя это, кажется возможным запустить другое ядро Linux из работающего ядра, но возможно ли вернуться к GRUB или запустить установку Windows напрямую?
Ответы:
Используя kexec, вы можете решить проблему. Нет необходимости привлекать GRUB. Вы можете использовать kexec-loader для загрузки непосредственно в различные операционные системы из Linux. (Убедитесь, что поддержка kexec скомпилирована в ваше ядро.)
источник
kexec_load()
системный вызов предназначен только для загрузки ядра Linux. Похоже, инструмент kexec-loader, который вы связали, поддерживает только ядра Linux. --- Возможно загрузить, например, memtest86, но я никогда не видел, чтобы кто-нибудь загружал Windows напрямую, используя механизм kexec, но это возможно через GRUB : Как загрузить напрямую в Windows из kexec + Grub4DOS .Проверьте, есть ли у вас поддержка UEFI. Это может ДРАГОЦЕННО улучшить скорость загрузки.
источник
Короче говоря, не с тем, как все работает сейчас. Лучшим подходом может быть выяснение того, почему ваш контроллер BIOS / RAID / SATA занимает так много времени. Возможно, доступны обновления BIOS и, возможно, обновления микропрограммы для контроллера raid.
источник
Нет. Если в вашем BIOS нет специальной опции установки для пропуска POST во время перезагрузки (я видел это однажды), этого не было со времен Windows 98 / ME (трюк быстрой перезагрузки, который действительно только перезагружал Windows).
Может быть, кто-то, у кого достаточно времени для взлома загрузки, мог бы воспроизвести это и перезагрузить GRUB, но это должно было бы изменить способ перезапуска системы INIT.
источник
Если вы не можете найти обновления, предложенные Zeroedout, вы можете запустить хост-систему на виртуальных машинах, поэтому перезагрузка практически бесплатна.
Кроме того, некоторые системы имеют режим быстрой / быстрой загрузки, где некоторые проверки не допускаются. Вы можете проверить это.
источник