Я лично считаю, что это может быть очень сложно... но, возможно, есть такая возможность:
возможно ли установить ОС (например, Windows 7) на компьютер, пока запущена другая ОС (например, Linux)? Как будто вы запускаете виртуальную машину Hypervisor, которая позволяет установщику получить доступ ко всему необходимому и позволяет виртуальной работающей ОС видеть все необходимое оборудование (например, материнскую плату, ...)
Я знаю, что это может быть очень сложно, потому что вам нужно каким-то образом сделать так, чтобы одна операционная система не собирала блокировки для аппаратного обеспечения, что заблокирует гипервизор... Но виртуальное оборудование (такое как VirtualBox или VMWare) также может привести к проблемам, потому что тогда вы не сможете запустить Windows после установки...
может быть, кто-то думал об этом раньше?
решение1
Да,безвиртуализация; но только до первой фазы.
Версии Windows NT 3 и 4 для x86 раньше можно было установить из MS-DOS, запустив программу DOS под названием winnt.exe
. (В более поздних версиях это было исключено. MS-DOS больше не выполняет функцию «предзагрузочной» среды восстановления/установки. В настоящее время используется урезанная версия самой Windows NT, Windows PE, начиная с Windows NT 5.1.)
Это была обычная программа DOS, которая начинала первую фазу установки. Конечно, последующие фазы процесса установки требовали загрузки в частично установленную операционную систему, поэтому невсепроцедуры установки выполнялась во время работы другой операционной системы.
Для любой операционной системы это теоретическивозможныйнаписать программу-установщик, которая будет работать поверх другой (общего назначения) операционной системы, для выполнения по крайней мере начальной фазы установки (выбор загрузочного тома и размещение на нем системных файлов и программы-установщика второго этапа). Однако почти никто не создает такие программы-установщики для текущих операционных систем. Большинство программ-установщиков работают поверх самой целевой операционной системы, обычно как загруженные со съемного DASD.
решение2
Это можно легко сделать в Linux:
1 — Создайте точку монтирования для вашего раздела (в этом примере я буду использовать /mnt/fs).
2 - Смонтируйте ваш раздел: mount /dev/[device] /mnt/fs
.
3 — Переместите базовую структуру каталогов в точку монтирования (она должна содержать binutils и оболочку).
4 - Если у вас есть /var, /boot или любой другой каталог, отделенный от вашего раздела /, смонтируйте их в вашу точку монтирования. Пример: mount --rbind /var /mnt/fs/var
.
5 - Смонтируйте файловые /proc
системы /dev
: mount -t proc none /mnt/fs/proc
и mount --rbind /dev /mnt/fs/dev
.
6 - Выполните chroot в файловую систему и настройте новую установку: chroot /mnt/fs <here goes your shell, ex: /bin/bash>
.
Подробнее о процессе можно прочитать вСправочник Gentoo.
EDIT: Это, вероятно, невозможно сделать для установок Windows или Mac.
решение3
Вы можете использовать LiveCD, который предоставит вам виртуализированную ОС в окне внутри другой ОС, или вы можете использовать программу виртуальной машины для настольного компьютера, например VirtualBox, чтобы сделать то же самое, и если первая ОС уже виртуализирована на оборудовании, вы можете создать еще одну виртуальную машину и установить на нее ОС, поскольку хост виртуализации управляет доступом к оборудованию и не позволяет одной из ОС виртуальной машины блокировать оборудование.
Но вы не можете запустить невиртуализированную ОС, а затем использовать фреймворк виртуализации, чтобы обеспечить прямой доступ к тому же оборудованию для установки другой ОС в конфигурацию, которая по сути будет двойной загрузкой.