Windows на RAM-диске или компьютер без жёсткого диска…
Martin,
martin_martin@inbox.ru
Следующая информация для тех, кто имел опыт установок Windows, знает про реестр, умеет работать с программным обеспечением для CD-RW. В основе "исследований" лежала идея использования среды Windows для просмотра фильмов DivX с компакт дисков, при этом для минимизации стоимости компьютера из распространённой конфигурации были исключены монитор, флоппи дисковод и жёсткий диск. В итоге экспериментов удалось загрузить Windows98 и посмотреть фильм с выводом изображения и звука на телевизор, используя системный блок, собранный из таких комплектующих (указаны цены нашего города):
Case MiniTower ATX 250 W $26,00
MB Acorp 7KTA1 (VIA KT133A) (ATX) (socketA) (+SB) $66,00
CPU AMD Duron 800 SocketA 200MHz $45,00
SDRAM 128Mb 133MHz $38,00
SVGA AGP GeForce 2MX-200 32Mb TVout $51,00
Cooler for socketA (45mm) $2,40
CD-ROM 52x Acer (OEM) $32,00
Keyboard PS/2 $5,80
Mouse A4 OK-720 (520dpi, 2 button) $2,40
Итого: $268,60
Истратив позднее ещё около $300 (монитор, HDD, FDD), можно получить полноценный мультимедийный аппарат, а в данном случае использовать такого "монстра" можно только для просмотра видео через телевизор и проигрывания звука MP3 через внешний усилитель.
Стоит заметить, что для создания загрузочного компакт диска с облегчённой версией Windows понадобится, как минимум уже установленный Windows с необходимым ПО для записи CD болванок (как и сам CD-RW). Созданный boot CD, конечно будет корректно загружать систему только под конкретную конфигурацию компьютера.
Сама идея следующая - система должна грузится с загрузочного CD (режим эмуляции флоппи диска), затем создаётся RAM-диск (электронный диск в памяти, размером не более 85 мб при общем объёме 128 мб), потом настроенный и "обрезанный" Windows с установленным софтом для Divx и драйверами распаковывается (или копируется) с CD на RAM-диск, и уже с RAM-диска собственно сам Windows и загружается. В итоге винчестер не нужен, сам boot CD после запуска Windows можно вынуть из лотка, если стоит видеокарта nvidia с видеовыходом, то изображение наблюдаем не на мониторе, а на телевизоре.
Немало информации для реализации идеи я почерпнул на http://www.slawwwa.boom.ru/ в статье с похожим названием, но сделал всё несколько иначе.
Итак, исходные ингредиенты для нашего коктейля (основным критерием отбора является размер после инсталляции, чем меньше - тем лучше):
a) Дистрибутив Windows98SE
b) Кастратор Windows 98lite желательно версии Pro 4.5 (при установке Windows позволяет получить продукт весом около 50 мб (!) в чистом виде)
c) Программа для изменения разделов жёсткого диска PARTITION MAGIC 7 под ДОС (надеюсь вы умеете с ней обращаться)
d) XMS Disk - Альтернативный драйвер RAM-диска, которому можно букву задать (один из лучших, понимает длинные имена, позволяет запускаться Windows)
e) Drive Load - Программулина для загрузки .SYS - драйверов из командной строки.
f) CD-ROM - драйвер - желательно, чтоб цеплял, по возможности все IDE-CD приводы.
g) Дистрибутив Windows Commander (не представляю как жить без него)
h) Проигрыватель Divx фильмов Zoom Player 2.5 (другие просто не работают под DirectX 6, почему такая версия Direct? Смотрите сами: 6-ой весит 8мб, 7-ой 45 мб, 8-ой 65 мб), который ещё и поддерживает плэй листы для MP3.
i) Для владельцев карт nvidia с TV-out драйверы Detonator 6.5 (небольшие по размеру и имеют поддержку TwinView), а также утилита TvTool 5.5 (для отображения рабочего стола на телевизоре, если не подключен монитор)
j) Двоичный редактор Hiew или Edit.com из набора Windows.
Перед тем как начать, делаем резервные копии родных IO.SYS, MSDOS.SYS, AUTOEXEC.BAT и CONFIG.SYS, создаём резервную копию реестра. А ещё лучше всё это проделать (безопасности ради) на отдельно взятом (у друга) винчестере.
Далее в следующем порядке:
1. При помощи Partition Magic создаём логические диски. К примеру последний в системе был С:\, создаём D:\ и E:\ для видимости (минимального размера, для того чтобы создать F:\), создаём F:\ 200 мб (сюда и будем устанавливать наш огрызок Windows)
2. Копируем дистрибутив Windows на диск C:\, при помощи утилиты 98LitePro запускаем процесс установки, выбираем минимальную конфигурацию, устанавливаем на диск F:\, при выборочной установке оставляем только компоненты DitectX и DirectX шоу
3. После завершения установки Windows, ставим драйвер звука (в нашем случае это звук встроенный в материнскую плату). Устанавливаем и настраиваем Detonator, Windows Commander (прописываем автозагрузку в реестре в разделе Run), TvTool (прописываем автозагрузку в реестре в разделе Run), Zoom Player.
4. Запускаем Windows\System\msconfig.exe и убираем из автозагрузки scanregw.exe
5. Тестируем работу системы, конфигурируем её и напоследок загружаемся в ДОС. Теперь подчищаем систему (удаляем все длинные имена папок и файлов, например директория Program files нам всё равно не нужна), в папке Windows оставляем все файлы (за исключением ShellIconCache и Win386.swp, которые удаляем), оставляем только папки Config, Fonts, System, System32, остальное удаляем. Переименовываем файл реестра System.dat в System.cdr Двоичным редактором находим в io.sys значение system.dat и меняем на system.cdr (иначе при последующей загрузке с CD и уже установленной системе на c:\ получим большой глюк, система начнёт использовать информацию реестра из C:\WINDOWS\system.dat)
6. Сжимаем с диска F:\ папки Windows, Wincmd, Tvtool, ZoomPlay в SFX-архив (самораспаковывающийся файл, например назовём его winlite.exe). Я использовал архиватор ACE под ДОС (можно RAR под ДОС)
7. Командой sys f:\ a:\ создаём загрузочную дискету, заменяем на ней msdos.sys на такой же с диска С:\. Находим и копируем на неё файлы (например они есть в полноценной системе на C:\) Command.com, Country.sys, Display.sys, Drvload.com, Ega3.cpi, Himem.sys, Ifshlp.sys, Keyb.com, Keybrd3.sys, Mode.com, Xmsdsk.exe.
8. Создаём SFX-архив (например copycd.exe) с файлами Command.com, Mscdex.exe, Smartdrv.exe, Uniidecd.sys и копируем его на дискету
9. Создаём на дискете autoexec.bat примерно следующего содержания:
@ECHO OFF
SET DIRCMD=/O:N
set RAMD=f
set cdrom=g
xmsdsk 85000 %RAMD%: /y /t /c1
set temp=%RAMD%:\
set tmp=%RAMD%:\
path=%RAMD%:\;%CDROM%:\
copycd %ramd%:\
set comspec=%RAMD%:\command.com
set shell=%RAMD%:\command.com
drvload %RAMD%:\uniidecd.sys /D:MSCD001
%RAMD%:\MSCDEX.EXE /D:mscd001 /L:%CDROM%
%RAMD%:\SMARTDRV.EXE 512
%cdrom%:\winlite %ramd%:\
SET PATH=%RAMD%:\WINDOWS
cd %RAMD%:\windows
set cmdline=%RAMD%:\
%RAMD%:\
10. Создаём на дискете config.sys примерно следующего содержания:
dos=high,umb,noauto
AccDate = a- b- c- d- e- f- g- h-
Switches = /F
NumLock = On
device=himem.sys /testmem:off
lastdrive=z
device=display.sys con=(ega,,1)
device=Ifshlp.sys
country=007,866,country.sys
install=mode.com con cp prepare=((866) ega3.cpi)
install=mode.com con cp select=866
install=keyb.com ru,,keybrd3.sys
files=10
buffers=10
stacks=9,256
11. Итак, мы имеем загрузочную дискету и архив winlite.exe, т.е. всё готово для записи болванки. Теперь восстанавливаем систему (см. пункт 0), при помощи Partition Magic удаляем созданные логические диски, т.е. всё приводим к тому, что было вначале.
12. Теперь грузим наш полноценный Windows с диска с:\, и например в Nero записываем загрузочную (указав в качестве загрузочного сектора нашу дискету) болванку (для пробы лучше на перезаписываемую), куда помещаем архив winlite.exe.
13. Последний шаг - проверяем продукт, грузимся с созданного CD. Windows должен оказаться на F:\ и загрузится с него (дополнительно можно отключить жёсткий диск, всё должно работать)
Ну вот и всё, надеюсь это вам поможет.
|