[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
Скрипт создает RamDisk и при возможности, переносит на него %Temp%
Совместимые версии win7-win10 x86/x64
Не требует дополнительных файлов и записей в реестре (если они уже есть, желательно их удалить)
==========================================================================
Формула расчета размера
X64
Size = (FreeMemory - 512) * .8
FreeMemory - свободная память
512 - зарезервировано под систему
Если Size < 64 то Size = 8
Если Size >= 64 то %Temp% создается на RamDisk, иначе на системном диске
X86
Под систему резервируется 384 Mb, больше отличий от X64 нет
==========================================================================
Создается динамический диск, после удаления с него файлов память автоматически освобождается !!! (на это требуется 5-10 секунд).
Вложение


Последний раз редактировалось: nikzzzz (2020-01-29 08:10), всего редактировалось 4 раз(а)

[Цитировать]

    loban_ser
  • 17796
  • Стаж: 6 лет 9 месяцев
  • Сообщений: 577
  • Репутация:24

    [+] [-]
sirob75, avalat,
rxprd.exe ls - узнать номер диска
rxprd.exe del %index% - где %index% номер диска

[Цитировать]

    dimo70
  • 17296
  • Стаж: 7 лет
  • Сообщений: 3784
  • Репутация:27

    [+] [-]
  • Откуда: BG
Windows 10 LTSC удаление никак не произходит. Пробовал все.
loban_ser, спасибо, сработало. aa
Хорошо бы комманду присоединить к утилиту для удаления.
rxprd.exe del 0
- у меня так сработало нормально

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    loban_ser
  • 17796
  • Стаж: 6 лет 9 месяцев
  • Сообщений: 577
  • Репутация:24

    [+] [-]
@Echo off
Color 17
cd /d "%~dp0"
Reg.exe add "HKLM\SYSTEM\Setup" /v "SystemSetupInProgress" /t REG_DWORD /d "1" /f
for /f "tokens=1 delims=# " %%a in ('rxprd.exe ls') do set "index=%%a"
echo Y| rxprd.exe del %index%
setx Temp %LOCALAPPDATA%\Temp&setx TMP %LOCALAPPDATA%\Temp
Reg.exe add "HKLM\SYSTEM\Setup" /v "SystemSetupInProgress" /t REG_DWORD /d "0" /f
Exit /B

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 10 месяцев
  • Сообщений: 3832
  • Репутация:127

    [+] [-]
А чем плох старый добрый ImDisk?

[Цитировать]

    dimo70
  • 17296
  • Стаж: 7 лет
  • Сообщений: 3784
  • Репутация:27

    [+] [-]
  • Откуда: BG
Ander_73, КМК так удобнее.
Нажимаешь на екзешник - подключается рам диск. Запускаеш батник - изчезает. aa
Еще не пробовал под WinPE, но на 10-ку вроде неплохо срабатывает. А и тут алгорифм вычисления место может лучше?

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    loban_ser
  • 17796
  • Стаж: 6 лет 9 месяцев
  • Сообщений: 577
  • Репутация:24

    [+] [-]
Не советую повторно запускать PrimoRamDisk_x64.exe или PrimoRamDisk.exe на ОС.
nikzzzz,
проверку бы какую прикрутить: установлен драйвер или нет ah


Последний раз редактировалось: loban_ser (2019-12-09 16:30), всего редактировалось 1 раз

[Цитировать]

    dimo70
  • 17296
  • Стаж: 7 лет
  • Сообщений: 3784
  • Репутация:27

    [+] [-]
  • Откуда: BG
loban_ser, я три раза запускал.
Потом сделал команд и удалил:
rxprd.exe del 0
rxprd.exe del 1
rxprd.exe del 2

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    loban_ser
  • 17796
  • Стаж: 6 лет 9 месяцев
  • Сообщений: 577
  • Репутация:24

    [+] [-]
dimo70,
Перезагружались?
Ну вот же:
rxprd add -n %size% -t SCSI -d B -v -dmm=COMPACT -f %fs% -c 4KB -l RAMDisk -X -N -T -s
@echo off
if exist B:\Temp exit
SETLOCAL ENABLEDELAYEDEXPANSION
set "vmem=0" & set "fmem=0"
for /f "tokens=6,7 delims=:/ " %%a in ('rxprd mem') do (
set "fmem=%%a" & set "vmem=%%b"
)
set "fs=ntfs"
set /a "size=%fmem%*7/10"
if %fmem% leq 1280 set /a "size=%fmem%-384"
if %fmem% leq 768 set /a "size=%fmem%*/2"
if %fmem% leq 320 set /a "size=1" & set "fs=fat" & md B:\Temp & setx Temp B:\Temp & setx Tmp B:\Temp
rxprd add -n %size% -t SCSI -d B -v -dmm=COMPACT -f %fs% -c 4KB -l RAMDisk -X -N -T -s
md B:\Downloads
pause
Exit
не мое, из ядер Xemom1

[Цитировать]

    Xemom1
  • 175
  • Стаж: 9 лет
  • Сообщений: 862
  • Репутация:88

    [+] [-]
72118А чем плох старый добрый ImDisk?
В "Управление дисками", его (imdisk) не видно.
Primodisk - можно использовать как SCSI диск.
Есть возможность использовать всю память для x86 систем.

[Цитировать]

    loban_ser
  • 17796
  • Стаж: 6 лет 9 месяцев
  • Сообщений: 577
  • Репутация:24

    [+] [-]
72126Есть возможность использовать всю память для x86 систем
Ждём!

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 10 месяцев
  • Сообщений: 3832
  • Репутация:127

    [+] [-]
Xemom1, понял.
---
Я просто "зациклился" на мессаге Вована и в толк не возьму, чем ImDisk хуже.
Сам, кстати, давно PrimoDisk использую: на ПК стоит 4Гб, ХР видит только 3Гб. В "теневой" памяти создан диск 1Гб и на него "повешен" swap. В целом, получилось весьма лихо по скорости.

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
Hunter23071985
У вас удивительная способность не искать инструмент под под задачу, а искать задачу под инструмент.
Скрипт сделан исключительно для использования в WinPe сборках и заточен именно под них , это его основная задача, вы же предлагаете плюнуть на нее, и переписать скрипт под ваши задачи, не имеющие никакого отношения к моей.
Пишите скрипты сами, не надейтесь на халяву.
vovan1982,
72100Уже оценил на живой системе, перепаковывал ядра в RAM'е.
Вообще-то для живой системы он не предназначен, могу выложить конструктор, там ничего сложного.
К стати, под драйвер есть GUI оболочка, но она по моему требует поддержки .net , хтя может и ошибаюсь.
loban_ser
72121Не советую повторно запускать PrimoRamDisk_x64.exe или PrimoRamDisk.exe
Некоторые проверки там есть, но в WinPe он запускается один раз при старте, так что это не актуально.
Ander_73,
72129в толк не возьму, чем ImDisk хуже.
Он позволяет эмулировать полноценный SCSI диск, при монтировании на него не возникает проблем, в отличии от диска, созданного ImDisk.
Диск динамический, он не резервирует память, пустой диск вообще не занимает память.
Именно поэтому в скрипте завышен размер RamDisk (коэффициент .8), его размер по сути фиктивный, это просто ограничение.
Диск самоочищающийся, при удалении с него файлов освободившаяся память возвращается системе.
PS забыл предупредить, при использовании скрипта используется DrvInst.exe, не забудьте проверить его наличие в System32 .

[Цитировать]

    qwea2005
  • 1759
  • Стаж: 9 лет 1 месяц
  • Сообщений: 75
  • Репутация:3

    [+] [-]
Ander_73, прочитав
72084Скрипт создает RamDisk и при возможности, переносит на него %Temp%
попробовал добавить несколько пунктов на флешку с Вашим проектом Mlf, единственно задумался над размером добавляемого, его то не видно в меню. Получилось удобно использовать не только для перепаковки ядер в RAM'е. bb aa

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 10 месяцев
  • Сообщений: 3832
  • Репутация:127

    [+] [-]
qwea2005, да, такое применение виртуального диска должно существенно ускорить процесс. Но, как Вы правильно отмечаете, заранее неизвестен размер объекта. На сегодня (насколько я сам ещё помню, конечно) самый крупный объект MLF - это сборка RusLive. Сама сборка + её распаковка ~ 15 Гиг. Именно столько я рекомендую (на сегодня) иметь свободного места под переменной %TMP% для работы с MLF.
---
Прошу прощения у nikzzzz за оффтоп.

[Цитировать]

    dimo70
  • 17296
  • Стаж: 7 лет
  • Сообщений: 3784
  • Репутация:27

    [+] [-]
  • Откуда: BG
nikzzzz, пока пробовал на рабочую систему и понравилась утилитка. ba
Для WinPE еще не пробовал, но уверен что и там все будет в лучшем виде.


Последний раз редактировалось: dimo70 (2019-12-09 22:14), всего редактировалось 1 раз

_________________
Подпись отключена за нарушение правил форума

Страница 2 из 5


Показать сообщения:    

Текущее время: 03-Дек 20:44

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы