78RePack (утилита для конвертации архивов Wim/Esd/Swm/Rwm)Утилита - это GUI для WimLib (альтернативный @MS набор библиотек для работы с wim-архивами). Автор WimLib бывает тут. GUI сделан с помощью скрипта PECMD2012. Возможности утилиты: преобразование архивов Wim/Esd/Swm/Rwm, просмотр информации выбранного архива, проверка архива на целостность, распаковка архива в выбранную папку. Работает независимо от Dism/Imagex, поддерживаются все ходовые ОС Windows (XP/2003/Vista/7/8/8.1).Назначение кнопочек:1. Информация об архиве. Если выбран, откроется блокнот с текстовой информацией об архиве. 2. Проверка целостности архива. Откроется DOS-окно, в котором отображается лог проверки. 3. Распаковка архива. Позволяет выбрать папку (диск), на который будет извлечено содержимое архива. При этом в указанной папке (или на диске) будет создана папка с именем архива и расширением Unp. Т.е., папка будет называться Boot.Unp, если работа ведется с архивом Boot.wim. В эту папку будет распаковано полное содержимое архива. Рекомендуется выбирать папку на быстром носителе, NTFS-раздел (извлечение на других файловых системах не гарантируется, хотя и возможно). Максимальная скорость извлечения будет, если архив и папка для его извлечения находятся на разных накопителях. 4. Расписание. Можно назначить действия 78RePack после выполнения задания: ничего не делать (по-умолчанию), выйти из программы, перезагрузить или выключить ПК. Есть индикация установленного режима (п.11). При прерывании процесса упаковки настройка расписания "сбрасывается". При удачном завершении перепаковки выводится таймер обратного отсчета (10 мин.), и можно отменить выключение/перезагрузку (Cancel либо нажатие на клавиатуре Enter или Space)... либо применить её немедленно. Изменить режим расписания можно как до начала операции, так и во время её выполнения (возможно подтормаживание). Расписание применяется только для операций перепаковки (из нижней панели). 5. Выбор архива, откроется диалог выбора (отображает только файлы с масками *.wim, *.esd, *.swm, *.rwm). Есть возможность автоподхвата архива при запуске утилиты. Для этого на диске с %Темр% (априори, это должен быть самый ёмкий и быстрый раздел) в корне должна быть папка 78RePack. При запуске эта папка будет проверена на наличие файлов *.wim, *.esd, *.swm, и первый найденный будет выбран автоматически. 6. Отображение папки, в которой находится выбранный архив. Эта же папка будет использована при конвертации как рабочая. 7. Отображение имени и расширения выбранного архива. 8. Размер оригинального файла в байтах (если операции не производились - тогда "-"). 9. Размер текущего (обработанного) файла в байтах. 10. Соотношение размеров текущего (обработанного) файла к оригинальному (если операции не производились - тогда "-"). 11. Индикация установленного режима расписания (при настройке по-умолчанию отсутствует). 12. Индикация времени от начала операции. 13. Индикация расчетного времени выполнения операции (появляется при выполнении операции более чем на 0%). 14. Выбор конечного типа архива (неподдерживаемые варианты блокируются автоматически): а) Конвертация обычных архивов любого поддерживаемого типа в оптимизированные wim (алгоритм сжатия LZX). Оптимизация позволяет уменьшить размер архива как минимум на 2-3% (а для многократно перепакованных с помощью DISM/Imagex/GImagex и больше). При этом новые архивы остаются совместимыми с системой загрузки для Wim-ядер от @MS (как для NT5.х, так и для NT6.х - т.е., для всех имеющихся RAM-сборок). Режим рекомендуется использовать для установочных архивов (install.wim). б) Конвертация обычных архивов любого поддерживаемого типа в оптимизированные с максимально возможной упаковкой (в пределах совместимости с Wim-загрузкой). Позволяет получить дополнительный выигрыш при упаковке (до 1-2% по сравнению с оптимизированными архивами). Режим рекомендуется использовать для загрузочных архивов (типа boot.wim). Также можно использовать для установочных архивов (install.wim), но учитываем, что время обработки по сравнению с а) больше примерно в полтора раза, также больше загрузка процессора при конвертации. в) Конвертация в esd-формат. Этот формат (алгоритм сжатия LZMS) поддерживается исключительно в ОС/РЕ на базе 8.1 и выше (точнее, обязательна поддержка DISM 6.3 и выше). Конвертировать в этот формат можно только установочные архивы (install.esd), при условии, что установка будет производиться из РЕ-установщиков на базе 8.1 и выше (либо в РЕ включен DISM 6.3 и выше). Загрузка из esd невозможна (имеющиеся версии загрузчиков NTLDR/BOOTMGR не поддерживают сжатие LZMS). г) Разделение архива любого поддерживаемого типа на части по 1000Мб или преобразование его в SWM. Размер частей по 1000Мб позволяет без проблем записывать такие архивы как на FAT32 раздел, так и на компакт-диск с файловой системой CDFS. Уточню, что SWM - это не отдельный вид архива, а простая разбивка большого архива на тома. Разбивать можно исключительно wim-архивы. * Возможна обратная операция - "склейка" томов SWM (или RWM) в монолитный архив. Для этого нужно выбрать первый том (он обычно без номера, для остальных добавляются цифры в имя) и нажать "Start". 15. Индикация прогресса конвертации (также в п.17 в виде циферок). 16. Кнопка просмотра лога операции. Позволяет в любой момент просмотреть текущий лог операции перепаковки. Если лог отсутствует, заблокирована. 17. Цифровая индикация прогресса перепаковки. 18. Совмещенная кнопка "Start/Cancel". Позволяет запустить перепаковку, после чего изменяется на "Cancel" (кнопка отмены операции). Нажатие на "Cancel" позволяет прервать процесс перепаковки/проверки/извлечения (если запущено несколько копий 78RePack, будут прерваны операции во всех окнах!). Примечание *1 Если архив не выбран, бОльшая часть кнопок заблокирована. Также кнопки блокируются при выполнении операций. *2 Если операция завершилась неудачно (например, поврежден входной архив или сторонней программой был прерван процесс WLImagex.exe), то получим сообщение об ошибке "The original is damaged. Please verify it...". Исключение - склейка/резка WIM<>SWM, проверка целостности архива в этих режимах не производится (проверяется только полное завершение операции). *3 Если процесс успешно завершен, расширение входного файла будет изменено на новое (wim/esd/swm), и программа переключится на работу с новым файлом. *4 Если операция была прервана (по Cancel), то программа продолжить работать с последним выбранным файлом, а неудачные результаты преобразования будут удалены. *5 При запуске разбивки на тома WIM>SWM или склейки SWM>WIM откроется окно выбора целевой папки для нового файла(файлов). Если отменить, новые файлы будут созданы в папке с оригиналом. При разбиении/склейке оригиналы не удаляются. Если операция завершилась неудачей, новые файлы будут удалены. *6 После успешного завершения операции в папке %Temp% будет создан лог последней операции (файл 78RePack.log) /добавлено в 1.4/. *7 Не конвертируйте оригиналы, а проделывайте операции на копиях. Рекомендуется после конвертации проверить новый архив (Verify).
Нюансы при использовании:
1. При делении архивов (WIM->SWM) или склейке (SWM->WIM) проверка целостности оригинала не производится. Поэтому рекомендуется проверить оригинал или результат (Verify). 2. При перепаковке в WIM (из WIM или ESD) оригинал будет заменен (особенность работы WimLib при конвертации). 3. При склейке/резке или при конвертации WIM->ESD оригинал не затрагивается.
Утилиту можно распространять без ограничения. Желательно указывать ссылку на эту страничку (мало ли - вдруг обновление утилиты или глюки будут). Скачать: v1.4 / v1.5 / v1.6 / v1.7 / v1.8 / v1.9 / v1.9.1 / v1.9.2 / v1.9.3 / v1.9.4
Last edited by Guest on 2020-07-25 11:27; edited 70 times in total
Sergey.del, нет, редактирование не предусмотрено. Слишком сложно организовать это в GUI (по крайней мере, на уровне моих знаний) - как и что... Хотя, в принципе, нужно будет подумать. Утиль не претендует на всеобъемность и универсальность. Началось все с маленького пива экспериментов по уменьшению wim-загрузочных ядер, который был воплощен в последние сборки 2k10 и Strelec (в нескольких последних версиях ядра сборок упакованы в wim "Ultra Pack", и проблем с ними не обнаружено). Для сравнения: обычный boot.wim 173Мб после использования оптимизации уменьшается до 169Мб, а после ультраупаковки - до 167Мб. Выигрыш небольшой (3,5%)... но, если учесть что он: а)экономит место на флешке б)уменьшает время загрузки в)уменьшает потребление памяти сборкой,- то игра стоит свеч.
Last edited by Guest on 2015-01-18 12:17; edited 2 times in total
Мои тесты на AntiWinBock^ 1. Original 2. Optimize 3 . UltraPack Не так уж и много сэкономлено... А есть какой то вариант защитить Wim от распаковки? Мне попадался такой, что ни в какую ни чем не смог.. Не 7zip открыть не мог не dism не imagex...
Joker-2013, в комплекте с WimLib идут готовые батники для всех поддерживаемых опций. Также а архиве имеется документация. Лично для меня большое преимущество WimLib в том, что можно отвязаться от Dism и конвертировать архивы даже под 2003/ХР. Если при этом можно добиться чуть лучшего результата - это тоже неплохо. Можно WimLib использовать и под глобальные задачи, но, как и с Dism - понадобится изучение команд. Либо полноценный Gui. Невысокий "экономический эффект" в твоем случае объясняется тем, что ядро собрано "с нуля" и изначально хорошо упаковано. По поводу "защиты" - если собрать архив на FAT32-разделе (с помощью imagex), то потом его бывает невозможно просмотреть, хотя оно и работает.
Проверил у себя конвертацию install.esd из сборки "Windows 8.1 SevenMod RUS-ENG x86-x64 -20in1- Activated (AIO)". Размер входного файла 6.046.271.370 байт (дата сборки 22.09.2014), размер на выходе (Optimized) 7.834.744.763 байт. Операция длилась 36мин (Celeron G1820 2,7GHz / RAM 3,46Gb). Отработало правильно. Возможно, у MrEagle антивирус (Avira/AVG/Norton довольно агрессивны в этом плане) блокирует изменение расширения на новое (install.esd>install.wim) после завершения конвертации. Обновил утиль (v1.4), добавлено создание лога последней операции (файл %Temp%\78RePack.log). Лог создается при корректном завершении операции. При запуске новой операции лог удаляется. Других изменений нет.
Last edited by Guest on 2015-01-26 10:54; edited 1 time in total
Что же такое, уже и антивирус совсем вырубил, а все равно на 100% только Cancel и доступна. Даже когда wim в wim пережимаю просто, т.е. расширение не меняется. И лога нет в %Temp% :(
Провел тестирование. В качестве исходника использовал install.esd из образа "Windows 7 SP1 x86-x64 Ru 9in1 Orig Upd 09.2014 by OVGorskiy.iso". Оригинал размером 3,364Гб. Результаты: 1. Перепаковка wimlib 1.7.4 (78RePack 1.4), размер 3,523Гб или 104,7% от оригинала. Время перепаковки 53 мин. 2. Перепаковка wimlib 1.8.0 (78RePack 1.5), размер 3,301Гб или 98% от оригинала. Время перепаковки 77 мин. Итог: по качеству упаковки лучше Dism 6.3 (хоть и немного, но результат достойный). По времени - думаю, хуже (дольше пакует). За всё нужно платить... Самый интересный вопрос - можно ли из такой перепаковки установить ОС? Потому как, судя по отзывам, установка из упакованного wimlib 1.7.4 ESD архива прерывалась ошибкой.
Интегрировал обновления в сборку Windows 7 от Монкруса: конвертировал его install.esd в install.wim - запустил классическую установку (через boot64.wim и setup.exe встроенный) из этого wim - всё работает, ошибок нет. Интегрировал обновления в install.wim с помощью UpdatePack7R2 от Simplix, а затем еще при помощи dism.exe добавил недостающих обновлений. Размер install.wim получился 7180Мб. Далее конвертнул эти 7180Мб в install.esd с помощью 78Repack 1.5 - esd получился размером 3431Мб. Запустил классическую установку (через boot64.wim и setup.exe встроенный) из этого esd - после выбора редакции Windows, выскакивает ошибка, мол не найдено лицензионное соглашение. Ну ок, опять конвертнул тот же install.wim на 7180Мб в esd программой 78Repack 1.4 - получился размер 4281Мб и установщик Винды тоже выдаёт ошибку. Ок, опять конвертировал install.wim на 7180Мб в esd посредством dism.exe, получился esd размером 3923Мб и винда нормально установилась без ошибок. 7180Мб wim -> 4281Мб esd 78Repack1.4 (59% от оригинала) - Не работает с обновлениями 7180Мб wim -> 3923Мб esd dism6.3 (54% от оригинала) - Работает с обновлениями 7180Мб wim -> 3431Мб esd 78Repack1.5 (47% от оригинала) - Не работает с обновлениями 3923Мб esd -> 3851Мб esd 78Repack1.5 (53% от оригинала) - Не работает с обновлениями Разница между 1.4 и 1.5 - 850Мб в пользу 1.5. По серединке оказался dism.exe. Кто подскажет, почему если интегрировать обновления, то после пережатия dism-ом всё хорошо работает, а вот если пережать 78Repack что 1.4, что 1.5, то ошибка? Пережимать версией 78Repack без интеграции обновлений еще не пробовал - может и работает.
Last edited by Eagle123 on 2015-03-15 10:38; edited 3 times in total
MrEagle, спасибо за тестирование. Именно эту ошибку я и имел в виду. Причина её возникновения мне неизвестна. Возможно, и мой косяк - неправильная команда перепаковки в esd. Но других вариантов не видел в документации.
conty9, winntsetup ставит normalно wimlib-ом, только его там тоже надо апгрейдить. А установщик 7-ки такой esd и не распакует, только начиная с 8.1, и то надо проверять.
ivan petro, ну, winntsetup может использовать как Dism 6.3, так и wimlib для установки из ESD (если интегрирован wimlib, тогда будет работать в РЕ на базе 7/8... если нет - тогда только в PE 8.1 или в РЕ 8.0 с интегрированным Dism 6.3, так сделано в 2k10). Кстати, wimlib 1.7.4 без проблем распаковывает пожатое 1.8.0, т.е., совместимость "вниз" сохранилась.
SergeyZV, MrEagle, и все желающие - проверяйте. Обновил утилиту до v1.6. "Если повар нам не врёт" :) , тогда должна работать установка ОС после преобразования Wim->Esd. Теперь при конвертации Wim->Esd исходник (Wim) не удаляется. Если уже есть файл Исходник.Esd, то он будет заменен новым вариантом только в случае успешного окончания конвертации (промежуточный файл Исходник.Esd.New). При конвертации Esd->Wim по-прежнему: файл Исходник.Esd будет заменен на Исходник.Wim (только при успешном окончании).
:WIM2 cls echo =============================================================================== echo Exporting all WIM Indexes to a new install.esd file... echo =============================================================================== echo. echo *** This will require some time, high CPU and RAM usage, please be patient *** echo. "%wimlib%" export "%WIMFILE%" all install.esd --solid set ERRORTEMP=%ERRORLEVEL% IF %ERRORTEMP% NEQ 0 (echo.&echo Errors were reported during export.&PAUSE&GOTO :QUIT) echo. echo Done. echo. echo Press any key to exit. pause >nul GOTO :QUIT
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum