Создание дистрибутивов с помощью InstallShield Express. Как создать свой Linux-дистрибутив? этап. Выбор задач

Причин, побуждающих создать собственный дистрибутив операционной системы Windows 10, может быть много, и они не являются темой этой статьи. Важно то, что потребность в собственном варианте дистрибутива есть, а мы расскажем, как его создать, пользуясь только Windows ADK (Комплект средств для развертывания Windows) и командной строкой, иными словами, обойдемся без стороннего софта, используя только встроенные в ОС средства.

Итак, настроенный дистрибутив может понадобиться, например, в том случае, если у вас планируется увеличение количества компьютеров. Вы решили обзавестись еще одной машиной, в дополнение к ноутбуку решили заказать сборку компьютера более производительного, но набор софта на нем будет примерно такой же, что и на лэптопе.

Можно, конечно, установить ОС на новую машину, а потом инсталлировать и настраивать оставшееся ПО. Можно поступить по-другому: ту конфигурацию Windows 10, в комплекте со всем установленными программами, которая работает на одном из компьютеров, превратить в дистрибутив. Останется только проинсталлировать систему на новую машину, и весь нужный софт установится автоматически. Останется только установить драйвера под то «железо», которое будет в новом компьютере.

Для работы понадобятся два компьютера, в крайнем случае, для экспериментов можно обойтись и одним, но установить виртуальную машину. Предположим, что на одном из них проинсталлирована Windows 10 и весь необходимый софт.

Подготовка

Понадобится дистрибутив ОС, который можно скачать на сайте Microsoft.

Создаем загрузочную флешку, используя этот дистрибутив, и запускаем встроенную в систему утилиту «sysprep». Задача этой утилиты – подготовка образа системы, в который входят все настройки и установленные программы, к переносу на другой компьютер.

Командную строку надо запустить и ввести команду:

C:\Windows\System32\Sysprep\Sysprep.exe

В открывшемся окне все параметры выставляются так, как показано на скриншоте:

Немного объясним, что означают некоторые пункты:

  • Перевод системы в режим OOBE – при следующем запуске система перейдет в режим переноса ОС.
  • Подготовка к использованию – будет удалена лишняя информация, не предназначенная к копированию, например, данные об активации и т. п., при этом все установленные программы, утилиты должны быть включены в копирование.

Утилита «sysprep» будет работать несколько минут, продолжительность зависит от объема данных, которые будут переноситься на новый компьютер.

После завершения компьютер выключится.

Создание образа в формате ESD

Теперь надо подключить внешний диск, вставить подготовленную ранее загрузочную флешку, и загрузиться с нее. Когда появится окно установки Windows 10, надо нажать комбинацию клавиш «Shift+10».

  1. «Diskpart» (утилита, позволяющая работать с разделами жесткого диска),
  2. «lisvol» (просмотр разделов дисков, так, Windows 10 установлена в раздел C:, а подключенный USB-диск получил букву I:),
  3. «еxit» (выходим из утилиты. Мы узнали данные о разделах).

Теперь надо запустить процесс сохранения диска C:, где находится установленная ОС Windows 10, в файл-образ в формате ESD на подключенный USB-диск. Команда выглядит так:

Dism /Capture-Image /ImageFile:I:\install.esd /CaptureDir:C:\ /Name:Windows

Поясним команду:

  • Install.esd – имя создаваемого файла с образом системы,
  • I: — диск, на котором будет создаваться этот файл В нашем случае это переносной диск I:),
  • C:\ — диск, на котором установлена исходная ОС Windows 10.

Можно еще указать степень сжатия получаемого файла. В данной строке этот параметр не указан и будет использоваться значение «по умолчанию» — fast. Если нужен иной режим работы, то можно использовать другое значение. Следует помнить, что чем сильнее сжатие, тем больше времени надо на работу.

По завершении работы на съемном диске появится готовый файл с образом.

Теперь можно выключить тот компьютер, на котором была установлена ОС Windows 10, и который использовался для создания образа. Остальная работа будет производиться на втором компьютере.

Дополнительное сжатие файла-образа

Данный раздел не обязателен к выполнению. Полученный на прошлом этапе файл «Install.esd» можно сжать еще больше, уменьшив его размер. Проверяем наличие файла на съемном диске.

Вводим команду:

DISM /Export-Image /SourceImageFile:I:\install.esd /SourceIndex:1 /DestinationImageFile:I:\install2.esd /Compress:recovery

Это командой мы создаем второй файл с именем «Install2.esd», который должен отличаться от исходного только размером. При этом используем новый тип сжатия — Compress:recovery.

После завершения операции на диске будут 2 файла, отличающиеся размером. Теперь можно удалить исходный файл с образом («Install.esd»), а новый переименовать из «Install2.esd» в «Install.esd».

В результате опять остается только один файл с прежним именем «Install.esd», но уменьшенного размера.

Редактирование ISO-образа Windows 10

Теперь настало время заняться созданием нужного нам варианта образа ОС. Для этого берем скачанный ранее с сайта Microsoft дистрибутив и копируем его содержимое в папку, которую создаем на переносном диске, где уже находится наш файл. Назовем папку «10».



После того как копирование закончится, в подпапке «sources» можно увидеть файл с таким же именем, как и созданный нами при создании образа ОС файл исходного компьютера. Наша задача – заменить этот файл своим. Для этого копируем наш файл «Install.esd».

Затем вставляем его в папку «sources» дистрибутива Windows 10.

Необходимо заменить оригинальный файл нашим.

Создание ISO-образа

Осталось сделать немного. Из папки, в которую скопировали содержимое оригинального дистрибутива Windows 10, и где произвели замену одного файла своим, опять создать ISO-образ. Для этого воспользуемся Windows ADK (Комплектом средств для развертывания Windows). Обычно он устанавливается вместе с ОС. Если же его нет, то можно скачать с сайта Microsoft и установить.

Запускаем среду средств развёртывания и работы с образами.

В открывшемся окне вводим команду:

Oscdimg /u2 /m /bootdata:2#p0,e,bI:\10\boot\Etfsboot.com#pef,e,bI:\10\efi\microsoft\boot\Efisys.bin I:\10 I:\Windows.iso

Поясним команду:

    • u2 — файловая система UDF,
    • m – образ не имеет ограничений по размеру,
    • b загрузочный сектор записать etfsboot.com , путь к файлу etfsboot.com при указании b(boot) пишется без пробела: bI:\10\boot\etfsboot.com,
    • I:\10 –указываем папку, в которой находятся файлы для создания образа,
    • I:\Windows.iso – указываем, что итоговый файл образа должен иметь имя Windows.iso и располагаться на диске I:.

После завершения операции на диске появится файл-образ дистрибутива Windows.iso.

Создаем загрузочный носитель

Дистрибутив создан, теперь нужно записать его на носитель, с которого будет производиться инсталляция системы на другой компьютер. Можно использовать флешку. Как создавать загрузочную флешку, можно найти в интернете. Это не сложно. Если вы справились с созданием собственного дистрибутива, не прибегая к посторонней помощи, не беспокоя друзей, знакомых или системного администратора на вашей работе, не обращались в ремонт ноутбуков у метро Отрадное , где, например, живете или работаете, то уж с этой задачей справитесь.

В результате получим носитель, с которого можно установить систему с интегрированным набором необходимого софта, причем инсталлировать можно на любой компьютер как с биосом UEFI, так и с обычным.

Установка ОС Windows 10

Если вы уже инсталлировали эту версию ОС, то знакомы с процедурой. Отличий при использовании самостоятельного созданного дистрибутива нет. В крайнем случае, процесс установки продлится чуть дольше.

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

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

Все что пишется в Visual Basic должно выполняться вне среды разработчика Visual Basic, требут файла Msvbvm.dll. Этот файл содержит все подпрограммы поддержки и существенные элементы управления, которые необходимы Visual Basic, чтобы выполнять все что угодно. Это довольно большой файл (1,3 М). Но, к счастью, не имеет значения, сколько приложений Visual Basic выполняет пользователь в одно и тоже время, все равно в памяти необходима только одна копия этого файла.

Для каждого пользовательского элемента управления в приложении и для того, что является частью вашего элемента управления, необходим файл пользовательского элемента управления. Эти файлы относительно малы- часто менне 30К каждый. В результате то, что оказывается необходимым для инсталляции исполняемых файлов не находится на машине, куда производится инсталляция, то даже простейший исполняемый файл Visual Basic, даже подвергнутый сжатию при помощи мастера установки потребует 2 или более дисков.

Примечание: Разработчику действительно нужно убедиться, что пользователи его проекта или элемента управления не имеют файла Msvbvm50.dll и других файлов поддержки, т.к. многие пользователи Windows 95 и Windows NT уже будут иметь на своих машинах эти файлы. Например, большинство пользоваптелей Internet Explorer уже будут их иметь, и можно предположить, что вскоре Microsoft будет просто инсталлировать этот файл вместе с инсталляцией файлов операционной системы. Это сильно уменьшит дисковое пространство, необходимое джля создания дистрибутивов проектов Visual Basic.

И, наконец, когда выполняет исполняемый файл, который содержит пользовательский элемент управления, .ocx-файл должен находиться в системном каталоге или в одном каталоге с.exe-файлом. Мастер установки автоматически размещает файлы в соотвествующем месте. (Если соотвествующий.ocx файлне может быть найден, то виртуальная машина Visual Basic выведет сообщение об ошибке и завершит выполнение.)

Создание исполняемого файла

Тот, кто перед покупкой своей копии Visual Basic читал какую либо рекламу о нем, возможно, слышал, что Visual Basic 5-первая версия Visual Basic, которая позволяет создавать действительно исполняемые файлы. Кто-то возможно, удивится, что же это значит. Прежде всего, предыдущие версии Visual Basic всегда транслировали код Visual Basic в некий р-код. Это промежуточный язык, который отличается от машинного кода микропроцессора Intel. А затем полученный р-код построчно интерпретировался в машинный код Intel. Но это не эффективно. Например, для циклов явно легче выполнить перобразование в машинный код один раз и не преобразовывать код каждый раз при выполнении тела цикла.


Рисунок 23-1. Диалоговое окно Make Project. .

Только версии Professional и Enterprise имеют возможность создавать действительно исполняемые файлы. Этого можно достичь выбором пунктов File|Make Exe или File|Make осх и последующим нажатием кнопки Options в диалоговой панели Make Project, показанной на рис. 23-1.



Рисунок 23-2. Cтраница Make.

То, что будет видно, показано на рис. 23-2. На этой странице диалоговой панели можно добавить информацию о версии элемента управления и о защите прав. Здесь также устанавливается значок для проекта, который пользователь увидит представления исполняемого файла, и информацию командной строки, если такая предусматривается.

Если есть версия Professional или Enterprise, щелкнем на закладке Compile. Покажется экран, приведенный на рис. 23-3. Пройдемся поочередно по всем опциям в этой важной диалоговой панели.

Compile to P-Code . Позволяет скомпилировать проект в р-код. Хотя он выполняется медленнее, но необходимое дисковое пространство может быть значительно меньшим по сравнению с кодом, скомпилированным в машинный код микропроцессора.

Compile to Native Code. Позволяет скомпилировать проект, используя родной код с оптимизациями того, что выбирается посредством оставшихся кнопок. Они описаны в следующей таблице.

Кнопка Описание
Optimize for Fast Code Максимально увеличивает скоростьвыполнения.
Optimize for small Size Минимизирует размер. Вероятно, этим значительного преимущества перед простым использованием р-кода достигнуто не будет.
No Optimize Компилирует без оптимизации.
Favor Pentium Pro Оптимизирует код таким образом, что он лучше всего работает на процессоре Pentium Pro. Код, сгенерированный с этой опцией, будет работать и с более ранними процессорами, но на процессорах 486 и Pentium (даже если они используют MMX), будет работать медленнее, чем тот код, но сгенерированный без этой опции.
Create symbolic Debug Info Используется, когда надо запустить свой VB-код на отдельном отладчике, такой как один из отладчиков фирмы NuMega или тех, что поставляются с компонентами Microsoft DevStudio.

Примечание: Программа, которая выполняет большое количество циклов, такая, как, например, стандартные тесты, покажет поразительное ускорение - часто даже десятикратное по сравнению с программами на Visual Basic 4. На практике, однако, ускорение, вероятно, будет значительно меньше (часто менее 50 процентов, иногда даже около 20 процентов).

Advanced Optimizations. Нажатие этой кнопки выведет на экран диалоговую панель Advanced Optimizations, показанную справа. Не рекомендуется изменять какие-либо опции в этой панели, установленные по умолчанию - они только для больших знатоков VB.

Мастер установки

Мастер установки - это действительно отличный инструмент, который позволяет создавать дистрибутивы приложений и элементов управления практически без усилий. Это действительно автономная программа, которая называется Application Setup Wizard. Можно запустить ее, к примеру, посредством подменю Visual Basic 5 в меню Start. (Предположим, что используется стандартная установка, тогда программа мастера установки будет называться VB\setupkit\kitfil32\Setupwiz.exe).

Примечание: Перед тем как использовать мастер установки, следует по крайней мере хотя бы раз откомпилировать код, а также сохранить проектный файл.

Когда запускается мастер установки, мы попадаем на начальный экран мастера установки, который выглядит, как рис. 23-4.

Разберемся с пунктами в основной панели. Прежде всего, здесь есть кнопка помощи Help, которая выведет файл справки для мастера. Кнопка выхода Exit в верхнем правом углу панели закрывает мастер установки. Кнопка движения вперед Next перемещает к следующему шагу мастера, а кнопка Back возвращает к предыдущему. Щелкнем на кнопке Next, чтобы перейти к первому реальному экрану мастера.

Project File Text Box. Файлом проекта является имя файла с расширением.vbp. Можно щелкнуть на кнопке Browse, для того чтобы открыть стандартную диалоговую панель, которая позволяет осуществить поиск файла.vbp или.ctl (для элемента управления).

Rebuild the Protect. Файлы, дистрибутивы которых создаются, являются автономно выполняемыми. Если необходимо создать, отдельный продукт заново, надо пометить эту опцию. Мастер будет автоматически создавать новый.ехе-файл, или.осх -если.ехе не найден.

Options. Возможные опции описаны в следующей таблице.

Использование мастера

Для наглядности предположим, что надо создать дистрибутивы двух различных приложении:

  • калькулятора, поставляемого с Visual Basic;
  • элемента управления числового поля ввода NumericTextBox.

Создание дистрибутива для проекта калькулятора



Рисунок 23-3. Страница Compile.

Начнем с простого проекта калькулятора, который можно найти в подкаталоге \samples\PGuide\calc каталога VB. Сначала придется скомпилировать этот проект, так как он не поставляется в исполняемой форме. Итак, загрузим VB и затем скомпилируем проект Calc.vbp. После этого введем имя и путь к файлу Calc.vbp и щелкнем на кнопке Next (которая сейчас доступна). После некоторого промежутка времени, необходимого для обработки файлов, перейдем к экрану шага 3 мастера установки.



Рисунок 23-4. Начальный экран мастера установки.

В этом экране надо сообщить мастеру, где сохранять дистрибутив. Например, выберем гибкие диски. Для этого щелкнем на опции Floppy Disk. Щелкнем по кнопке Next и попадем на экран, где сообщим мастеру о типе используемых дискет.

Щелкнем по кнопке Next. Получающийся экран, используется только для серверов ActiveX - это более сложная тема, которую мы не рассматривали в этой книге. Щелкнем по кнопке Next, чтобы пропустить этот экран.

После небольшой задержки появится экран File Summary. Если выбрать любой из этих файлов и щелкнуть по кнопке File Details, мастер выведет на экран диалоговую панель. Она содержит подробную информацию о выбранном файле. Если щелкнуть на Summary Details в экране File Summary, увидим диалоговую панель с информацией.

Щелкнем по кнопке Next, при нахождении в экране FileSummary и перейдем к экрану Finished.

Если сейчас щелкнуть по кнопке Finished, мастер начнет выводить информационные панели с сообщениями о выполняемых им действиях (сжатие файлов, вычисление файлов, которые необходимо скопировать, и так далее). Когда это будет выполнено, на экране появится информационная панель, похожая на ту, что приведена справа. Она попросит вставить первый (из двух в данном случае) дисков.

А сейчас пользователи могут инсталлировать приложение, просто помещая первый диск дистрибутива в дисковод и запуская из Windows программу Setup.exe, содержащуюся на нем.

Программа инсталляции, созданная мастером установки, соответствует всем стандартам Windows. Пользователи могут изменить каталог установки; они могут наблюдать за ходом выполнения процесса инсталляции по диаграмме; и им также будет сообщаться, когда вставлять очередной диск. (К тому же, посредством функции AddRemove в Windows95/Windows NT возможна деинсталляция приложения.) Создание дистрибутива элемента управления

Создание дистрибутива элемента управления в мастере установки для использования на отдельной системе по существу аналогично созданию дистрибутива приложения. Так что в этом разделе сосредоточимся на использовании мастера для создания файла установки Internet Download Setup таким образом, чтобы элемент управления мог быть использован в Internet Explorer.

Запустим мастер. Необходимо заметить, что мы хотим создать дистрибутив элемента управления таким образом, чтобы он мог быть загружен из Internet или в интрасеть. После принятия решения сделать Interenet-установку щелкнем по кнопке Next и перейдем к следующему экрану.

Щелкнем по кнопке Next. Появится следующий экран. Microsoft предоставляет опцию, которая позволяет пользователю загружать только определенные стандартные файлы, как, например, огромный файл виртуальной машины Visual Basic, необходимый для элемента управления, прямо с сайта Microsoft при первом использовании элемента управления в Internet Explorer. Это действительно очень полезная опция, так как если пользователи уже имеют какие-либо из необходимых файлов на своей машине, то Internet Explorer достаточно разумен для того, чтобы не загружать их заново.

В основном это все. Оставшиеся экраны мастера подобны тем, что мы уже обсуждали.

Практически с каждым днем в сети появляется все больше и больше новых дистрибутивов Linux, которые в большинстве своем базируются на самом известном дистрибутиве - Ubuntu. Конечно, не все они слишком отличаются от своего родителя, однако, например, тот же форк Ubuntu - Linux Mint - на мой взгляд, просто превосходен. А что, если собрать свой дистрибутив? Конечно, не такой отличительный, как Mint от Ubuntu, но все же свой, подстроенный под себя и свои нужды? Попробуем?

Novo Builder - это простой инструмент Debian GNU/Linux, позволяющий на базе существующего дистрибутива построить полнофункциональную и готовую для установки систему, не требуя от вас предварительного изучения всех аспектов сборки дистрибутивов.

Установка

Для установки Novo Builder введите в консоли следующие команды от прав root"а (предварительно авторизовавшись с помощью команды su):

wget -O - http://www.cyvoc.net/novo-repo/Cyvoc.key | apt-key add -
echo deb http://www.cyvoc.net/novo-repo stable main non-free > /etc/apt/sources.list.d/cyvoc.list
apt-get update && apt-get install novo-builder novo-preset-lastos

После установки запустите Novo Builder из меню приложений, потребуется ввести пароль пользователя.

Работа с программой

Теперь можно либо выбрать уже настроенный preset, либо создать собственный вариант на основе существующего дистрибутива. Легче, конечно, воспользоваться готовой предустановкой, для этого в главном окне программы выберите в списке «Preset» базовый дистрибутив.

Если же вы хотите обойтись без предустановок, собрав собственный дистрибутив на основе существующего, заполните остальные настройки. После чего нажмите на кнопку «Prepare» («Подготовить»), сразу замечу, что это не быстрый процесс.

После подготовки станут доступными пункты меню из раздела «Edit/View». В нем вы можете отредактировать файл sources.list , включив в него нужные вам репозитории, добавить скрипты, и даже изменить ядро, оформление и приложения по умолчанию.

После того, как дистрибутив будет готов к сборке, нажмите кнопку «Build Base» в разделе «Build», это создаст базовую систему. Процесс тоже весьма не быстрый.

По окончанию сборки базовой системы станет доступен раздел «Post Build». Теперь можно открыть менеджер Synaptic и устанавливать/удалять приложения в зависимости от ваших предпочтений.

После того, как вы закончите выбор пакетов, вы сможете посмотреть на работу своего дистрибутива перед его окончательной сборкой, для этого просто нажмите кнопку «Chroot GUI».

Если все работает так, как надо, жмем заветную кнопку «Build ISO» для сборки окончательного образа дистрибутива. Забрать его вы сможете в директории /home .

При работе с программой может понадобиться до 30-40 GB свободного места на жестком диске, обратите на это внимание. Чтобы освободить место на диске после работы с программой, нажмите кнопку «Unmount/Del», это отмонтирует и удалит созданный вами образ дистрибутива.

С помощью Novo Builder вы сможете собрать собственный дистрибутив, включив в него только лучшие бесплатные программы, а самое главное - нужные вам, а также исключить те, которыми вы никогда не пользуетесь.

Удачных экспериментов! ;)

Если приходится часто заниматься установкой операционной системы Windows 7, или просто хотелось бы иметь актуальный дистрибутив этой ОС с интегрированным SP1 и обновлениями, то такой инсталляционный диск можно поискать в интернете, либо создать самому. В первом случае есть риск, что в состав дистрибутива будет входить некий набор постороннего ПО, которое посчитали полезным включить в состав этого диска, но который может совершенно вас не интересовать.

Если создать дистрибутив самому, то это будет диск, наиболее полно отвечающий вашим требованиям и содержащий все необходимое. Можно обратиться с такой просьбой — создать дистрибутив — к специалистам-компьютерщикам. Например, выполняющей компьютерную помощь в Подольске работают очень квалифицированные мастера. Далее мы подробно расскажем, как все сделать самостоятельно.

Создаем дистрибутив Windows 7 с включенными в него обновлениями

Чтобы выполнить эту работу, понадобится компьютер с установленной «чистой» ОС Windows 7. Можно воспользоваться виртуальной машиной, чем мы и воспользуемся. Создадим ее в VirtualBox, для чего сначала проинсталлируем ее.

Теперь надо создать виртуальную машину, содержащую Windows 7. Понадобится виртуальный диск формата VHD.

Теперь надо проинсталлировать Windows 7 на созданную виртуальную машину.

После успешной установки надо в созданной системе создать раздел «D», на котором впоследствии мы создадим install.wim – файл-образ системы. Для этого следует воспользоваться «Управлением дисками».

После инсталляции системы, надо установить MicrosoftFixit50123, важное исправление, которое будет следить за состоянием компьютера и обеспечит последующую установку других обновлений.


Теперь надо перезагрузить установленную систему и установить еще одно обновление — Windows6.1-KB3102810. В зависимости от того, какая система была проинсталлирована, 32-х или 64-х разрядная, надо скачать соответствующее обновление.



Теперь надо опять перезагрузить систему. При запуске появится сообщение о процессе установки обновлений.

.

После того, как система, наконец, загрузится, надо открыть «Панель управления».

Затем зайти в раздел «Система и безопасность».

Если режим обновления был выключен, то следует нажать кнопку «Включить автоматическую установку обновлений». Запустится процесс поиска на сайте Microsoft обновлений для установленной версии Windows, и скачивание их.

Если скорость вашего интернет-канала стабильная и высокая, то процесс загрузки не должен занять много времени. Наверняка не более 20-30 минут. После загрузки всех обновлений надо нажать кнопку «Установить обновления».

Появится окно с требованием ознакомиться с лицензионным соглашением. Соглашаемся и нажимаем кнопку «Готово».

Теперь начнется процесс установки обновлений.

После завершения этой операции, на которую вполне может понадобиться несколько часов, надо нажать кнопку «Перезагрузить компьютер».

Запустится уже знакомый процесс установки обновлений, окончания которого надо дождаться.

Когда все будет выполнено, система перезагрузится.

Теперь Windows содержит все обновления. Чтобы убедиться в этом, можно заглянуть в журнал обновлений. Его найти можно по адресу «Панель управления»->«Система и безопасность»->«Центр обновления Windows»->«Просмотр журнала обновлений.

Теперь необходимо правильно вычистить папку C:\Windows\WinSxS, в которой хранятся резервные копии системных файлов системы. Очистка этой папки позволит сделать компактным дистрибутив системы, исключив из него лишнее.

Выполнить это можно, например, использовав встроенное средство «Очистка диска». Делать это следует только после установки пакета SP1 и обновления KB2852386. Последовательность действий такова: нажать «Пуск»->«Компьютер». Затем надо выделить диск «С», нажать на нем правую кнопку мыши, в появившемся меню выбрать раздел «Свойства».

В открывшемся окне на вкладке «Общие» нажать кнопку «Очистка диска».

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

После завершения анализа нажать на кнопку «Очистить системные файлы».

Теперь последовательно нажать кнопки «Ок» и «Удалить файлы».

Следующий шаг – включение пользователя «Администратор», неактивного по умолчанию, и удаление текущего профиля пользователя.

Надо открыть командную строку с правами администратора.

В открывшемся окне ввести «net user Администратор /active:yes».

Теперь надо выйти из нашего текущего профиля, выполнив выход из системы.

В окне выбора пользователя надо нажать на иконку, принадлежащую пользователю «Администратор».


После того, как загрузится профиль и появится привычный рабочий стол, необходимо пройти по адресу «Панель управления»->«Учётные записи и семейная безопасность»->«Учётные записи пользователей».



В открывшемся окне со списком пользователей выделить тот профиль, под которым устанавливали все обновления.

Теперь надо эту четную запись удалить, для чего нажать ссылку «Удаление учётной записи».

Система поинтересуется, надо ли удалять все файлы из профиля этого пользователя, с рабочего стола и т. п. Подтверждаем, что надо все удалить, нажав на кнопку «Удалить файлы».

В ответ на подтверждение нажать «Удаление учётной записи».

Профиль удалится, и в списке останутся только «Администратор» и гостевая учетная запись.


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

Надо ввести команды:

  1. cd \Windows\system32\sysprep
  2. sysprep

Откроется окно «Программа подготовки системы», где надо поставить галочку в пункте «Подготовка к использованию», в параметрах завершения работы выбрать «Завершение работы» и нажать кнопку «ОК».

При этом система завершит работу.

Теперь можно загрузить виртуальную машину, используя дистрибутив какой-либо другой версии ОС. Воспользуемся Windows 8.1. Необходимо нажать «Shift» + «F10» когда появится начальное окно, чтобы вызвать командную строку. Надо точно знать букву диска, на котором установлена ОС, т. к. в процессе предустановки маркировка диска может отличаться от «С». В командной строке ввести команду «notepad» и затем нажать «Enter». Откроется «Блокнот». Выбрать пункт меню «Файл» и затем «Открыть».

Откроется окно, в котором нажать на значок «Компьютер». Можно увидеть, что диск «C» занят служебным разделом. Тогда следует зайти на диск «D». В нем увидим файлы ОС Windows 7.

Надо зайти в папку «Пользователи», чтобы быть уверенным, что никаких пользователей, кроме «Администратора», там нет.


Теперь надо вернуться к командной строке и ввести:

Dism /Capture-Image /ImageFile:E:\install.wim /Capturedir:D: /name:7update /compress max

С помощью этой команды произойдет архивация Windows 7 в файл-образ WIM, расположенный на диске «E».


Размер получившегося файла составляет примерно 4.74 Гб. Уменьшить его можно, если использовать установочный образ, например, Windows 8.1. Понадобится такая полезная функция, как сжатие в формат ESD.

Теперь надо выключить виртуальную машину, которую до сих пор использовали. Т. к. мы использовали виртуальный диск VHD, то теперь надо смонтировать его в основной ОС, воспользовавшись оснасткой «Управление дисками». Открыв это окно, нажать «Действие»-> «Присоединить виртуальный жёсткий диск».

Затем нажать «Обзор».

Воспользовавшись «проводником», найти виртуальный диск VHD, выделить его и нажать «Открыть».

Затем нажать «Ок».

В списке дисков появится новая запись. Этому разделу надо присвоить букву, любую из свободных. Мы присвоим «F».

Теперь в проводнике можно зайти на диск «F». В нем должен находится файл с образом системы Windows 7.

Теперь на этом диске надо создать папку с любым именем, например, «7».

В эту новую папку надо поместить необходимые установочные файлы.

После завершения копирований из папки «F:\7\sources» надо удалить файл «install.wim».

На его место поместим наш собственный файл с таким же именем, расположенный в корне того же диска «F».

Проверяем, что в папке «F:\7\sources» этот файл теперь есть.

Теперь надо скачать программу «WinToolkit 1.5», разархивироваться и запустить. Для работы программы необходимо наличие пакета «NET Framework 3.5». Если он не установлен, то программа предложит сделать это.

Когда программа проинсталлировалась, то запустить ее, нажать «Basic» в главном окне, и после этого «ISO Maker».

Программа попросит указать путь к дистрибутиву. Указываем «F:\7».

Откроется «Проводник», в нем выделить папку «7» и нажать «Выбор папки».

Теперь надо указать место, где будет храниться созданный дистрибутив в виде ISO-образа.

В окне открывшегося «Проводника» выбрать нужный диск. Пусть это будет тот же диск «F», а самому образу можно дать любое название, например, «Windows7».

Теперь осталось нажать на кнопку «Create ISO».

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


После завершения появится окно, уведомляющее об успешном создании образа. Нажать «Ок».

Осталось совсем немного. Для начала убедимся, что образ действительно существует, открыв диск «F».

Последнее, что надо сделать, это создать загрузочный носитель с дистрибутивом ОС, например, флешку, сделав ее загрузочной. Все, теперь у нас есть созданный собственными силами дистрибутив ОС Windows 7, который можно использовать при инсталляции системы на любой компьютер. В журнале обновлений будет информация о том, что система уже имеет все обновления.

Рано или поздно каждый пользователь Линукса задумывается над созданием собственного дистрибутива. Некоторые аргументируют это тем, что можно «все настроить под себя». Другие сетуют на то, что среди уже представленных дистрибутивов в Ветке нет идеального. А у них, якобы, есть суперконцептуальные идеи для собственной системы. Зачем я всю эту психологию затеял? Для того, чтобы сразу перекрыть кислород играющимся с Линуксом новичкам, которым делать нечего. Если уж задумались над созданием ОС, думайте до конца. Итак,

Я хочу создать ОС на базе Linux.
Сразу предупреждаю: был бы XVIII век, всех тех, кто для основы своей будущей системы выбирает другой развитый дистрибутив (и, не дай Бог, популярный...) ждала бы виселица. Пост именно про создание системы с нуля, а значит, всякие Slax и Linux Mint мы трогать не будем.

Шаг 1. Выбор носителя
Вариантов немного: либо ваша ОС запускается с LiveCD, либо с жесткого диска, либо с флеш-устройства. Сразу оговорюсь: не скажу в посте ни слова про жесткий диск, потому что гораздо удобнее создавать гибкий дистрибутив из серии «все свое ношу с собой», либо залоченный дистрибутив на оптическом диске. Если вы научитесь создавать LiveCD или LiveUSB систему, с установкой на жесткий диск проблем не будет.

На всякий случай, приготовьте чистую флешку, CD-диск, и установите, наконец, Virtualbox.

Шаг 2. Компиляция ядра
По поводу выхода третьего ядра Linux, этот шаг воодушевляет на дальнейшие разработки… Итак, нам нужны исходники ядра. Каждый пользователь знает, что их можно достать на сайте kernel.org. Ни в коем случае, слышите?, никогда не прикручивайте к своей системе постороннее ядро, скомпилированное не вами!

Поскольку лень моя зашкаливала, я создал папку /linuxkernel и распаковал туда архив с исходниками. Залогинившись под рутом, я сделал следующее:

Cd /linuxkernel
make menuconfig

В принципе, ядро можно конфигурировать тремя способами: make config (диалоговая конфигурация), make menuconfig (псевдографическая конфигурация через ncurses), а также make xconfig (графическая конфигурация). Суть в том, что make config испортит вам настроение надолго, т.к. он задаст все возможные вопросы по всем аспектам всех тем. Проблема с make xconfig встречается не у всех, но вот у меня встречалась и встречается. Если приспичило сделать через X, разбирайтесь сами. Оптимальный вариант - make menuconfig. Эта штука откроет вам псевдографический интерфейс, через который вы сможете настроить ядро на свой лад. Штука требует библиотеки ncurses, которая легко устанавливается.

В принципе, если ваш мозг хоть сколько понимает Линукс, вы разберетесь с конфигурированием. Процесс это интересный, вариантов действительно много, а справка, хоть и на английском языке, но все же радует своей доступностью и простотой.

Однако, направить вас все же придется. Перейдите по адресу File Systems ---> и поставьте необходимые звездочки. Буква M означает, что поддержка того или иного драйвера осуществляется с помощью подключения к ядру внешнего модуля (ненавижу их!). Нам понадобится также поддержка isofs, для чтения дисков. File Systems ---> CD-ROM/DVD Filesystems ---> ISO 9660 CDROM file system support. Можно еще поддержать древнедосовские системы.

Чмошные разработчики Mandriva забыли разрешить File systems ---> DOS/FAT/NT Filesystems ---> NTFS write support, и на одном из их дистрибутивов я мучился с доступом к древневиндовскому разделу.

Посмотрите Processor type and features ---> Processor family, мне порекомендовали выбрать Pentium-MMX.

Еще поройтесь в Device Drivers, полезно. Можете шутки ради понавыбирать там все и скомпилировать ядро весом > 50 Мб.

Далее. Ядро после загрузки себя должно загружать, собственно, систему. Либо из скомпилированных в себе файлов (используются во встраиваемых системах), либо из CPIO архива, сжатого чем-нибудь, либо из Initrd. Здесь вам не DOS, здесь не получится сразу сослаться на какой-нибудь init"овый файл в корневом каталоге диска или флешки. На самом деле получится, не слушайте дядю Анникса! Неправильно это, хоть в Интернете по этому поводу уже нехилая полемика ведется. В своей системе мы будем использовать initrd, т.к. это удобно, и не вызовет нецензурных выражений от сторонних разработчиков, в отличие от CPIO архива.

Ах, да, скомпилируйте ядро командой

Если у вас x86, найдете его по адресу /linuxkernel/arch/x86/boot/bzImage.

Для суровых челябинских программистов можно использовать Кросс-компайлинг…

Создание Ramdisk.

Теперь нам нужен initrd с установленной там простейшей оболочкой. Мы будем использовать busybox, потому что эта няша может все. Способ мы украдем у Роберто де Лео, создателя Movix (я бы даже уважать его начал, если бы не запредельная любовь к Perl):

Dd if=/dev/zero of=/dev/ram0 bs=1k count=5000 - Создаем Ramdisk в оперативной памяти нашего компьютера.
mke2fs -m0 /dev/ram0 5000 - Форматируем Ramdisk в системе Ext2
mkdir /distro - Создаем папку
mount /dev/ram0 /distro - Монтируем в папку /distro

Все, теперь у нас есть Ramdisk, емкостью в 5 Мб. Можно и больше, только не нужно. В отличие от Томаса Матеджисека, я не собираюсь пичкать initrd модулями в Squashfs, сжатыми LZMA. Все, что необходимо, будет скомпилировано вместе с ядром. Да, это не очень логично и правильно, но мороки в сто раз меньше. А специально для тех, кто осуждает такой подход, можно разрешить опцию модульности в ядре: Enable loadable module support.

В нашем Ramdisk"е, смонтированном в /distro, есть такая папка, lost+found. Это потому, что мы отформатировали его в ext2. Ни в коем случае нельзя ее удалять, хоть она здесь вряд ли поможет, образ-то фиксированный. Нам бы busybox сначала поставить…

Установка Busybox
Вот почему у таких классных проектов такие отстойные сайты? Хотя… это уже не суть важно, если исходники скачаны и успешно распакованы в папку /busybox.

Сконфигурировать busybox можно так же:

Cd /busybox
make menuconfig

Если вы еще не поняли, что это, объясню. Busybox заменяет тонны UNIX приложений, хранящихся в папках /bin, /sbin, /usr/bin, /usr/sbin. Вместо этого, создается только одно приложение: /bin/busybox, а на него создается куча ссылок в указанных выше папках. Установим busybox следующей командой:

Make CONFIG_PREFIX=/distro install

Еще Busybox создаст файлы /sbin/init и зачем-то /linuxrc, чтобы ваша система корректно запустилась. Но не все необходимые папки были созданы. Так что завершаем все руками и создаем:

/distro/etc
/distro/lib
/distro/dev
/distro/mnt
distro/proc
/distro/root
/distro/tmp
/distro/root

Если что забыл - вспомните, т.к. директории эти забыть сложно.

Все бы хорошо, вот только busybox для работы требует библиотеки, которые нужно скопировать в наш дистрибутив. Очень легко узнать, какие:

Ldd /distro/bin/busybox

Программа покажет нам библиотеки, требуемые для нашей оболочки. Сразу говорю: linux gate создается ядром и скопирован быть не может.

При копировании библиотек можно отсекать отладочную информацию (так Роберто советует):

Objcopy --strip-debug откуда куда

Делаем из Линукса Линукс

Надо создать несколько системных текстовых файлов:

Нам нужен /etc/inittab. Удивлю вас: в начале жизни система даже не знает, что такое Root. У нас даже пользователь безымянный, но вот файл общесистемных низкоуровневых фич (ОНФ) должен присутствовать. Пилотное содержание файла следующее:

::sysinit:/etc/rc.d/rc.S

# Запустить оболочку в консоли.
::respawn:-/bin/sh

# Команды, выполняемые перед выключением и перезагрузкой.
::shutdown:/sbin/swapoff -a >/dev/null 2>&1
::shutdown:/bin/umount -a -r >/dev/null 2>&1

Следующий файл - /etc/fstab. Это таблица, в которой описано, что и куда монтировать при загрузке. Вещь бесполезная! Нам нужно обязательно смонтировать proc, иначе вообще ничего работать не будет, так что в файле пишем:

None /proc proc defaults 0 0

Для mount нужен также файл /etc/mtab. Создайте его и оставьте пустым.

Но mount сделает все необходимое только тогда, когда мы явно его об этом попросим. А просить мы будем в том самом первозагрузочном файле /etc/rc.d/rc.S (rc.d - папка). Вежливо попросим:

/bin/mount -av -t nonfs

Еще нам необходим файл профиля (b)(a)sh, тут вообще раздолье для фантазии. Создаем файл /etc/profile и заполняем следующим:

PATH="$PATH:/bin:/sbin:/usr/bin:/usr/sbin:"
LESS=-MM
TERM=linux
HOME=/root
PS1="> "
PS2="> "
ignoreeof=10
export PATH DISPLAY LESS TERM PS1 PS2 HOME ignoreeof

Понадобится также файл /etc/shell, в котором указано, что есть оболочка:

/bin/sh
/bin/ash
/bin/bash

Вот собственно и все. Можно записывать наш Ramdisk в файл.

Mkdir /os - папка для "готового".
umount /dev/ram0 - размонтируем кусочек оперативной памяти.
dd if=/dev/ram0 of=/os/initrd bs=1k count=5000 - создаем файл.
gzip /os/initrd - сжимаем файл initrd

Создание загрузочной флешки

«Финишная прямая» нашей маленькой разработки. Берем флешку, вставляем, форматируем в vfat (можно и в ext, но не забывайте, что еще не все пользователи Windows застрелились).

На флешке создаем папку boot, в ней папки initrd и kernel.

Из папки /os копируем сжатый Ramdisk в папку boot/initrd на флешке, называем «main.gz». Из папки с исходниками ядра копируем bzImage в папку boot/kernel на флешке, называем «main.lk». Достаем файлы загрузчика Syslinux (в Интернете, либо из другого дистрибутива: тут не принципиально), а именно syslinux.bin, syslinux.boot, syslinux.cfg. Копируем их в корневой каталог нашей флешки. В файле syslinux.cfg пишем что-то подобное:

Default mm
prompt 1
timeout 100
label mm
kernel /boot/kernel/main.lk

label mc
kernel /boot/kernel/main.lk

label cm

append initrd=/boot/initrd/main.gz load_ramdisk=1 ramdisk_size=5000 rw root=/dev/ram0
label cc
kernel /boot/kernel/custom.lk
append initrd=/boot/initrd/custom.gz load_ramdisk=1 ramdisk_size=5000 rw root=/dev/ram0
label hd
localboot 0x80

Тем самым мы поддержали кастомные initrd и ядро, которые, эксперимента ради, можно подключить к нашему дистрибутиву.

Узнаем, каким девайсом в системе является наша флешка (можно запустить mount без параметров и посмотреть). Это либо /dev/sdb1, либо /dev/sdc1, либо /dev/sdd1. Стоит отмонтировать флешку перед началом установки.

Устанавливаем syslinux (если пакета в системе нет, apt-get install syslinux):

Syslinux -d путь_к_устройству

В корневом каталоге флешки должен появиться файл ldlinux.sys. Если он есть, значит syslinux.bin, syslinux.boot больше не нужны.

Как настроить BIOS на загрузку из флешки, я вам рассказывать не буду - это легко. Скажу только, что очень удобно создать папку /boot/initrd/init, в которую можно будет смонтировать /boot/initrd/main, для последующей работы с ним. Только не забудьте разжимать и сжимать его gzip"ом.

Ну вот и все.

Как-бы я только что рассказал вам, как создать с нуля систему на Linux. Легко, не правда ли? Далее вы можете редактировать скрипт /sbin/init, ведь у вас еще много работы! Вы должны будете написать скрипт для монтирования флешки, который делает chroot в корневой каталог. В противном случае, вы вынуждены будете работать с ReadOnly разделом, величиной в 5 Мб. Но это уже совсем другая история.