Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Активные темы » Загрузка Windows 7 из RAMDisk Grub4Dos (VHD)

Модерирует : KLASS, IFkO

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6

Открыть новую тему     Написать ответ в эту тему

sukanegoni



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Загрузка Windows 7 (и других NT 6.x ОС) из RAMDisk Grub4Dos

(fixed-size VHD + Grub4Dos + FiraDisk)



Обновленная инструкция с исправлениями и уточнениями на моем сайте (рекомендуется) (англ.)
 
--- тыц ---






Изначально применимо к следующим версиям Windows:

Windows 7
Windows Server 2008 R2
Windows Embedded (7) (NT 6.x)

Суть метода:

 
Установка Windows в fixed-size VHD (считайте RAW)
Установка драйвера FiraDisk
Загрузка VHD в RAMDisk Grub4Dos
 
Преимущества:

Простота эксплуатации и обслуживания используемой инфраструктуры
Полученный образ с ОС можно в любой момент загрузить с жесткого диска
родной логикой Windows для внесения необходимых изменеий.
Легко перемещать, копировать и удалять образы.
 
Требования к объему доступной оперативной памяти:

У вас должно быть достаточно памяти для загрузки в нее VHD диска с установленной Windows.
Объем памяти используемый под RAMDisk должен быть в виде
непрерывного последовательного диапазона адресного пространства.

Об этом подробнее написано в инструкции
Определение объема памяти доступной Grub4Dos
Помимо этого еще должно остаться достаточно памяти для работы ОС и приложений.
 


Ход работы:







Всего записей: 273 | Зарегистр. 23-11-2009 | Отправлено: 16:05 26-03-2012 | Исправлено: sukanegoni, 10:58 17-12-2013
temp776

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1. Можно ли таким образом работать с Windows 8.1, а не семеркой? Заведется ли этот FiraDisk driver с новой ОС? Ведь он [драйвер] довольно старый. Кто-нибудь пробовал?
2. Можно ли поставить уже имеющийся образ системы (в виде wim-файла, или переконвертировав его в VHDX)? А то система есть, настроена и работает + максимально усечена в объеме. Переустаналивать неохота.  
3. Как со стабильностью работы в целом?
4. TEST SIGNING, как я понимаю, должен быть обязательно включен для работы неподписанного драйвера. А можно ли будет убрать неприятный watermark?

Всего записей: 27 | Зарегистр. 10-09-2012 | Отправлено: 15:28 16-05-2014 | Исправлено: temp776, 15:29 16-05-2014
sukanegoni



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1. Быстро нагуглить ничего не получилось, надо попробовать, я более чем уверен что заработает. Вин 8 и Вин 7 очень похожие ОС внутренне.
2. Можно. Нужно или раздел скопировать на смонтированный VHD программами для работы с дисками, или имеющийся WIM применить штатными средствами к опять же таки смонтированному VHD.
Только потом нужно не забыть сконфигурить и добавить загрузчик внутрь этого VHD.
3. Все зависит и от железа и от винды и ее настроек. Короче говоря от прямоты всего и всея задействованного в процессе. Каких-то общих нареканий на работу этой системы не было.
4. Да, должен быть включен. Убрать вотермарк думаю можно, надо погуглить.

Всего записей: 273 | Зарегистр. 23-11-2009 | Отправлено: 13:20 30-05-2014
174bpm



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не совсем понимаю назначение и основной use case данной технологии. но спрошу здесь
 
 
Помогите пожалуйста - куда смотреть и что читать  
 для контейнерезации Windows 7/8  
 
 У меня есть опыт с kvm, lxc и docker, там всё довольно просто, быстро и изящно.  
 
 Есть ли аналоги в мире Windows?  
 
 Задача:  
 1) очень быстро  
 2) с минимальными накладными расходами  
 3) создать немного отличающиеся виртуалки/контейнеры (с разным набором библиотек, обновлений, плагинов)  
 4) запускать их в произвольном порядке, в т.ч. параллельно на мощном железе или в облаке  
 5) чтобы это всё можно было заскриптовать и автоматизировать  
 
 т.е. мне нужен DevOps подход к автоматизированному тестированию сборок (build-ов, release-ов) программы на .NET/ASP/Win/IIS  
 
 а я работал в основном с Apache/NGINX/PHP/Ruby/Linux
 
 английским владею свободно - подскажи куда копать, ПОЖАЛУЙСТА  
 
 тупо в лоб альтернатив линукс-контейнерам и снапшотам не нагугливается

Всего записей: 885 | Зарегистр. 12-01-2006 | Отправлено: 19:39 09-09-2014
trajan40

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Выскажу крамольную мысль.
 1.Если взять маленький LiveLinux, состоящий из х64 ядра (3.2 и выше, понимает UEFI), USB3 драйвера и рамдиска, запускаем его из флешки в RAM, тот создает рамдиск С:, на который ставим с помощю, например CloneHD, заранее установленный со всеми причендалами на той же системе, но HDD/SSD. При окончании работы Windows сохраняется на флешку, откуда берется следующий раз.  
2. Вшить и запускать рамдиск из UEFI, и где-то достать RAM с акумулятором на борту. В принципе такие есть.

Всего записей: 167 | Зарегистр. 03-10-2011 | Отправлено: 17:55 13-09-2014 | Исправлено: trajan40, 17:57 13-09-2014
etoan

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Искал в инете  "Установка ОС на RAM DISK"-вышел на эту тему. На дворе 2016г., на сегодняшний день выпущены материнские платы  max ram до 128 GB (Quad Channel Memory Architecture):
X79 Deluxe (DDR3 2800)
Rampage IV Black Edition (DDR3 2800)
P9X79 Deluxe (DDR3 2800)
P9X79 Pro (DDR3 2400)
P9X79 LE (DDR3 2400)
P9X79 (DDR3 2400)
Sabertooth X79 (DDR3 1866)
и, возможно, др.
 
В связи с этим  тема получает новое дыхание на установку последних версий Windows полностью(!) и необозримую перспективу достижения максимального быстродействия ПК.
 
Аппаратурные условия есть, остается усовершенствовать программные средства и методы.
Прошу sukanegoni и других энтузиастов принять участие в получении самого быстрого компьютера в мире.
 
PS: Родственные темы в инете:
http://geektimes.ru/post/185172/
 

Всего записей: 184 | Зарегистр. 03-02-2011 | Отправлено: 10:23 08-02-2016 | Исправлено: etoan, 12:16 08-12-2017
niknik49

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
etoan  

Цитата:
...и необозримую перспективу достижения максимального быстродействия ПК.  

 
Глупости все это. Если бы у Вас был Рамдиск с внешним питанием, то скорость загрузки в таком случае несколько возрастет, а вот сама производительность после загрузки останется прежней, так как она в основном зависит от частоты процессора и количества ядер, в меньшей степени еще от памяти.  
У меня стоят 2 SSD RevoDrive 3 по 240 Гб, их скорость сопоставима с Рамдиском, но я не замечаю ни какой производительности.  Еще стоят 2 SSD Вектор такой же емкости, на которых стоят Windows 8.1 и Windows 10.  
 
Вы можете попробовать запустить Офис с SSD, а потом с Рамдиска. Разницы не заметите, только во втором случае мы сделали лишнюю операцию копирования офиса на Рамдиск. В дальнейшем Офис после запуска постранично разместится в ОЗУ и будет работать как обычно, система не станет больше обращаться к Офису на Рамдиске.

Всего записей: 74 | Зарегистр. 02-01-2008 | Отправлено: 05:10 09-02-2016
etoan

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
niknik49
Сравните быстродействие ОЗУ и дисковых накопителей, затем присмотритесь повнимательнее к тому, что  работа ОС со всем прикладным софтом на ОЗУ будет быстрее по определению, замечаете вы это или нет.

Цитата:
а вот сама производительность ... в основном зависит от частоты процессора и количества ядер, в меньшей степени еще от памяти.  
-подкорректируйте свои исходные знания
 
Быстродействие показывают тесты (CrystalDiskMark), а, не субъективное восприятие.
Быстродействие человеческого восприятия лежит в пределах 0,1 сек, т.е. 10 Гц))

Всего записей: 184 | Зарегистр. 03-02-2011 | Отправлено: 22:12 14-02-2016 | Исправлено: etoan, 11:49 28-04-2016
cdrom2

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть вопрос.
Загрузка одной системы из нескольких VHD одновременно.  
1.Основной грузиться с HD, а динамический подгружается полностью в ОЗУ. Читаем с жесткого диска, а пишем в ОЗУ.  
Случай - когда не планируется сохранение изменений.
 
2.Основной и дифференциальный работают с разных физических носителей или с разных разделов одного накопителя.
Случай для сохранения изменений.
 
Для первого случая вопрос. Возможен ли backup для динамического VHD после выгрузки системы. Т.е. существует ли "оболочка" (загрузчик+комплект драйверов), которая позволит "заморозить" в ОЗУ динамический VHD до отключения питания.
Спасибо.

Всего записей: 2393 | Зарегистр. 17-02-2006 | Отправлено: 12:48 16-06-2016
Irtex



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как же все-таки победить это сообщение об установке драйвера firadisk после загрузки системы в оперативную память из vhd и предложение перезагрузиться?
Пробовал загружаться с жесткого диска. При этом сообщение об установке драйвера не появляется. Система - Windows 7 Максимальная x64 SP1.

Всего записей: 1002 | Зарегистр. 11-02-2009 | Отправлено: 22:15 04-08-2016
Romul81



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Irtex
Загрузитесь с жёсткого, но при загрузке создайте RAM-диск с помощью firadisk (любого размера). Драйвер установится и всё. При загрузке в RAM установка больше выскакивать не будет.

Всего записей: 1326 | Зарегистр. 03-03-2008 | Отправлено: 23:07 29-09-2016
ZXD

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
я правильно понял, что фирадиск подключает образ только из памяти? т.е. образ должен умещаться в озу?
какой есть другой способ подключения образ диска в винде смонтированного прямым мапингом?

Всего записей: 399 | Зарегистр. 15-04-2013 | Отправлено: 15:12 30-09-2016
Romul81



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
я правильно понял, что фирадиск подключает образ только из памяти?

Не просто из памяти, а созданный средствами Grub.

Цитата:
т.е. образ должен умещаться в озу?

Очевидно же. Причём памяти должно быть столько, чтоб помещался сам образ + память, занимаемая ОС + некоторое кол-во свободной памяти.

Цитата:
какой есть другой способ подключения образ диска в винде смонтированного прямым мапингом?

Если для "монтирования прямым мапингом" подразумевается map --mem из grub, то fira как раз и является тем драйвером, с помощью которого винда монтирует созданный на этапе загрузки диск. Других инструментов, вроде нет.

Всего записей: 1326 | Зарегистр. 03-03-2008 | Отправлено: 13:16 28-10-2016
pikkipi

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Идея конечно весёлая, если не забывать смысл того для чего это всё делается. Если смысл – запихать ОС в оперативку, то да. Но если смысл – получить ускорение, то…
 
Представим операционную систему общим весом в 10 Гб со всеми программами, которые мы хотим сделать мгновенно загружаемыми. По этому, мы создадим RAM-диск размером в 10 Гб и запишем на него всё это добро и получим мгновенный доступ ко всему что надо. Но, немного поработав, включим монитор ресурсов и отследим, к чему чаще всего обращается наша система. И, о чудо, увидим что система в 90% работы шерстит одни и те же файлы: кэши, свопы, логии, обновы и темпы от силы тянущие на 200 Мб. По сути мы запихнули в RAM то, чем даже и не пользуемся. Это как выволочь на центр комнаты все вещи из гардероба, но не надевать их, потому что валенки летом не нужны.
 
В итоге: в 90% времени тот, кто выделил на RAM-диск 10 Гб запихнув ОС, и тот кто 200 Мб, под файлы частого обращения, получат одинаковое «ускорение», но второй сэкономит ещё и уйму оперативной памяти.
 
Данная практика лишь для тех, кто хочет действительно получить выгоду от скорости работы оперативной памяти, и сократить количество обращений к накопителям, а не добиться факта того что вся его ОС в оперативке.
 
Помните чего хотите добиться, что бы не потратить время и средства на раскладывание валенок на полу.
 
P.S.: Да и высказывание на счёт того, что ОС грузящаяся с образа более устойчива к вирусам немного наивна. Такое ощущение, что вирусы кушают только то, что есть на диске C:, перезагрузился - и всё как новое. Ума скушать документы на флешке, или модифицировать exe-шники с игрушками на других дисках и по сети, не дожидаясь перезагрузки, им видимо не судьба.

Всего записей: 3 | Зарегистр. 15-10-2012 | Отправлено: 14:42 28-10-2016
Dimsoft

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
более устойчива к вирусам немного наивна

pikkipi
grub умеет грузить область из скрытого не форматированного раздела

Всего записей: 2750 | Зарегистр. 17-11-2003 | Отправлено: 21:50 28-10-2016
etoan

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
pikkipi
свопы: hiberfil.sys и pagefile.sys занимают далеко не 200 МБ...

Всего записей: 184 | Зарегистр. 03-02-2011 | Отправлено: 14:15 30-11-2016 | Исправлено: etoan, 14:19 30-11-2016
graffixer

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо. Интересная тема.
 
Установил Win10x64Pro... тестирую пока...

Всего записей: 1 | Зарегистр. 23-08-2016 | Отправлено: 18:01 12-12-2016 | Исправлено: graffixer, 13:14 13-12-2016
Irtex



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
при загрузке создайте RAM-диск с помощью firadisk

Пожалуйста, опишите подробнее, как это сделать. Очень достает каждый раз откладывать перезагрузку.

Всего записей: 1002 | Зарегистр. 11-02-2009 | Отправлено: 19:26 09-04-2017
Romul81



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Irtex

Цитата:
создать рамдиск грабом, любого размера, загрузиться с винта с VHD, винда установит драйвер на этот рамдиск и все  

 
 
Добавлено:

Код:
 
title    --- Attach RAM + Boot From HD:
map --mem (hd0,1)/VHDs/RAM.vhd.gz (hd1)
map --hook
root (hd0,0)
rootnoverify
chainloader /bootmgr

 
В качестве образа подойдёт любой формат, поддерживаемый fira.
В gz упаковывать не обязательно.
Загрузка произойдёт с жесткого диска, поэтому в соответствующем BCD должен быть прописан VHD.
Подправьте пути и номера дисков/партиций, согласно своей конфигурации.
Для поиска bootmgr можно использовать, также, следующую команду:

Код:
find --set-root --ignore-floppies --ignore-cd /bootmgr

Всего записей: 1326 | Зарегистр. 03-03-2008 | Отправлено: 15:28 10-04-2017
Irtex



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Romul81
Все равно не понимаю. RAM.vhd.gz - это пустой диск, подготовленный заранее средствами Windows? И с помощью указанного выше кода мы пытаемся загрузить этот пустой диск в память?
Или на RAM.vhd.gz установлена Windows с firadisk? Но тогда система просто загрузится в память, и окончательной установки драйвера не произойдет.  
Я пытался загрузить VHD с установленной Windows с использованием firadisk по способу, указанному в известной статье на geektimes "Windows на RAM-диске".  
Код такой:

Код:
 
title Boot Win7 from VHD (Firadisk)
find --set-root --ignore-floppies /1.vhd
map /1.vhd (hd0)
map --heads=2 --sectors-per-track=18 --mem (md)0x800+4 (99)
map --hook
write (99) [FiraDisk]\nStartOptions=disk,vmem=find:/1.vhd,boot;\n\0
rootnoverify (hd0,0)
chainloader /bootmgr
 

Это приводит к установке драйвера в систему. В диспетчере задач появляется VirtualMem Disk.
При загрузке системы в оперативную память со следующим кодом:

Код:
 
title Win7 VHD RAM
map --mem (hd0,0)/1.vhd (hd0)
map --hook  
root (hd0,0)
rootnoverify
chainloader /bootmgr
 

в диспетчере задач появляется RAM Disk. И система все равно требует окончания установки драйвера и перезагрузки.
 
Так вот вопрос. Как сделать так, чтобы при загрузке с жесткого диска появился именно RAM Disk? Тогда я думаю, что драйвера наконец доустановятся.
 
Я пробовал еще разные варианты с одновременной загрузкой в память образа диска и загрузкой с жесткого диска, но все равно появляется именно VirtualMem Disk.
Может быть, я что-то не понимаю и не знаю. Прошу отнестись ко мне с терпением и пониманием.

Всего записей: 1002 | Зарегистр. 11-02-2009 | Отправлено: 19:08 12-04-2017
Romul81



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Irtex

Цитата:
RAM.vhd.gz - это пустой диск, подготовленный заранее средствами Windows? И с помощью указанного выше кода мы пытаемся загрузить этот пустой диск в память?

Именно так. Это фиксированный vhd любого размера, отформатированный в NTFS. Если он большого объёма (гагабайты) есть смысл сжать его в gz, с помощью 7zip, например, для экономии места на HDD и ускорения загрузки.
 
Просто "слепую" инструкцию, типа как в шапке, я вам не напишу. Но могу попытаться объяснить в чём смысл всех манипуляций, чтоб вы всё правильно сделали на своей конкретной конфигурации.
 
Предполагается, что у вас есть физический ЖД с которого происходит загрузка. Если он разделён на партиции, то одна из них является активной, и именно с неё стартует загрузчик. grldr (хотя может иметь и другое имя) - загрузчик GRUB. Опции загрузки прописываются в menu.lst, откуда он их считывает. bootmgr - виндовый загрузчик. Опции прописаны в буква диска:\boot\BCD. Вариантов последовательности загрузки может быть много, в зависимости от вашей конкретной конфигурации - кол-во дисков, партиций, "перекрёстные" опции в параметрах загрузки, и т.д. Как это устроено в вашем конкретном случае - я не знаю.
 
Идея заключается в том, что:
 
1) Обычная (на в RAM) загрузка для вашего VHD с виндой должна быть прописана в BCD, расположенном на физическом диске. Если этой записи по какой-то причине нет, то её можно добавить с помощью EasyBCD (в шапке).
2) В menu.lst для GRUB должна быть прописана опция загрузки "пустого" RAM.vhd (что создаст RAM-диск) с последующей загрузкой виндового bootmgr.
3) Далее bootmgr считывает опции из BCD и выводит вам меню, в котором присутствует запись для загрузки WINRAM.vhd не в память, а в "обычном" режиме.
4) После загрузки в WINRAM.vhd в "обычном" режиме происходит установка драйвера fira, для определившегося RAM-диска (который соответствует нашему пустому RAM.vhd). Для верности эту загрузку можно повторить, чтоб убедиться, что установка драйвера больше не вылазит.
5) Всё. Можно грузить WINRAM.vhd в память и установка драйвера больше беспокоить не будет.

Всего записей: 1326 | Зарегистр. 03-03-2008 | Отправлено: 10:54 13-04-2017
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Активные темы » Загрузка Windows 7 из RAMDisk Grub4Dos (VHD)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru