Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Отправить PM | Цитировать


Как должна выглядеть хорошая статья по созданию Live CD. Замечу, что это не просто мое пожелание, а некий идеал, к которому нужно стремиться. Как говорит Никлаус Вирт, современные программисты программируют без царя в голове, поэтому из программистов они давно превратились в хакеров.

Начать нужно с того, что такое файл и что такое папка. Здесь сразу надо заметить, что файл и информация, которая содержится в файле - строго говоря, не одно и тоже. Файл - это информационный носитель. Собственно, все эти названия (файл/папка) пришли из офисного делопроизводства, где бумажки с информацией раскладываются по файликам, а затем группируются по папкам.

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

Здесь нужно заметить, что файлом тем не менее для удобства часто называют как сам файл, так и его содержимое. Примерно так же, как под отрезком в геометрии подразумевают как само ГМТ отрезка, так и его длину. (Что интересно, с площадью такого не происходит, поскольку одной и той же площадью могут обладать разные фигуры). Также будем поступать и мы.

Далее нужно рассказать о том, что такое CD-привод (дисковод). Это специальное устройство для чтения компакт-дисков (Compact Disc или CD). Компакт-диск - это физический носитель информации, так же, как и жесткий диск или винчестер. Отличие заключается в том, что файлы и папки с него можно только прочитать, но не переписать и не добавить.

В какой-то момент начали появляться программы (типа Alcohol 120, Daemon tools, Ultra ISO и т.д.), эмулирующие поведение CD-привода. А точнее создающие виртуальный дисковод. Суть в том, что они могли поместить файлы с реального компакт-диска, вставленного в реальный дисковод, внутрь специального файла-образа на жестком диске с названием типа image_name.iso. Этот файл содержит в себе т.н. образ компакт-диска. Точно также для удобства часто будем считать, что образ компакт-диска и файл, в котором этот образ находится, - практически одно и то же.

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

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

Однако затем, когда дисководы научились прожигать комакт-диски, т.е. однократно записывать на пустую болванку какую-либо информацию (а позже - и дописывать), это научились делать и программы-эмуляторы дисководов. Ну понятно, что напрямую работать с дисководом невозможно (можно только положить в него CD и нажать кнопочку) - это нужно всегда делать из какой-то программы, запускаемой в операционной системе (ОС). Образы дисков теперь стало возможно записывать на болванку простым обладателям пишущего дисковода. Еще позже образы разворачивались уже на флешки (когда появилась флеш-память достаточного объема).

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

Компакт-диски бывают загрузочные и незагрузочные. А среди загрузочных дисков встречаются установочные. Разница между загрузочным и установочным диском не велика, но все же она есть. Установочный диск ОС - это диск, который вставляется в дисковод до загрузки ОС, компьютер его распознает как диск с установкой ОС, и дальше эту установку можно провести на жесткий диск компьютера. Загрузочный же диск - это диск, который компьютер распознает (тоже до загрузки ОС) как что-то, с чего можно загрузиться. Если вставить незагрузочный диск, компьютер скажет "вставлен незагрузочный диск, не могу загрузиться, вставьте загрузочный диск".

Как прожечь установочный диск с операционной системой? Здесь могут возникнуть некоторые проблемы.
Дело в том, что можно, конечно, переписать установочные файлы ОС с соответствующего CD на жесткий диск, затем собрать (скомпилировать, скомпоновать) их в образ и прожечь этот образ на болванку. Но в результате у нас не получится установочный диск с ОС - получится диск, содержащий установочные файлы ОС, с которого нельзя загрузиться, чтобы затем установить ОС. Конечно, эти файлы можно будет прочитать, если загрузить уже установленную ОС и вставить этот компакт-диск в дисковод. Но это явно не то, что мы хотели получить. Аналогично нельзя просто записать установочные файлы на флешку - загрузочной флешки не получится.

Видимо, все дело в том, что образ не является просто набором или совокупностью файлов и папок. Одни и те же файлы могут размещаться на физическом носителе по-разному (особенно, если сравнить винчестер до и после дефрагментации). Возможно, что образ - более "низкоуровневая" вещь, чем просто файл. Может быть, образ предписывает информации, как она должна располагаться на физическом носителе (где какой байт должен находиться). Но утверждать ничего не буду, поскольку точно не знаю.

Есть несколько выходов. Во-первых, можно не переписывать файлы с компакт-диска на жесткий диск, а сразу сделать его образ. Тогда полученный образ будет загрузочным: если его прожечь на болванку, то болванка станет загрузочным CD. Но здесь проблема: если мы просто копируем образ, мы уже не можем ничего в нем изменить. Поэтому появилось огромное количество программ, просто напросто "превращающих" существующий образ в загрузочный на стадии записи их на CD/флешку (помечающих их как загрузочный). А для этого всего лишь нужно сделать на болванке/флешке загрузочный сектор.

Когда в интернете кто-то пишет инструкцию о том, как сделать загрузочную флешку, в большинстве случаев он рассказывает о том, как записать загрузочный (или даже незагрузочный) образ на флешку. И вся инструкция в итоге сводится к мануалу по пользованию одной из программ, которые это делают. Этих программ огромное количество, например: MS Windows Installation Media Creation Tool, WinSetupFromUSB, SARDU, Easy2Boot, Boutler, XBoot, MS Windows 7 USB/DVD Download Tool, WiNToBootic, WinToFlash, rufus и даже Ultra ISO. Причем, если многие из этих программ все-таки проверяют, что именно они записывают на флешку, то Ultra ISO (являясь эмулятором виртуального CD-привода) не делает даже этого. Конечно, если принципиально незагрузочный образ (содержащий, например, только книги) пометить в программе как загрузочный, он от этого все-таки не станет загрузочным: компьютер все равно не сможет с него загрузиться.

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



Теперь мы уже можем переходить непосредственно к обсуждению LiveCD.

LiveCD - это компакт диск с операционной системой (а точнее, со специальной версией ОС), которую можно загрузить прямо с этого CD еще до установки какой-либо ОС на компьютер. Такая версия ОС может понадобиться, чтобы починить основную версию ОС, если последняя "сломалась".
Здесь идет историческая вставка о том, что первой такой ОС была Win PE от Майкрософт, где PE расшифровывается как Preinstallation Environment, что переводится как предустановочная среда (а иногда расшифровывается как portable executable, что переводится как переносимая/исполняемая). Win PE была обрезанным вариантом Win XP SP2, которая могла загрузиться с компакт-диска. Легально получить такую версию ОС могли только какие-то специальные подписчики. Потом появились хакеры типа Барта Лагервея и создали свои собственные предустановочные среды. Но для более поздних версий Windows такая среда уже была доступна любому законному владельцу windows. Кстати говоря, в Википедии рассказывается совсем другая история появления PE: что первые LiveCD начали изготавливать линуксоиды.

Здесь важно остановиться и понять, что дальше наша задача сводится к конструированию собственного ОБРАЗА такой среды с добавлением своих собственных программ. Потому что дальнейшая запись образа на флешку/болванку - это дело десятое, и не представляет трудностей. При желании в этом всегда можно разобраться. Но то, что нас дальше интересует (образ), не имеет отношения к физическому носителю этого образа - это вещь более абстрактная.

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

Сконструировать образ можно с помощью специальной программы-конструктора. Сразу отмечу, что в исходной статье ни слова не говорится о том, что такое конструктор, какие бывают конструкторы (официальные/неофициальные), чем конструктор отличается от, собственно, PE, как сделать свой конструктор, и т.д. Сразу, с места в карьер предлагается скачать некий конструктор reatogo и дальше начать что-то там херачить с помощью него. И вот до сих пор сюда приходят люди в поисках мифического reatogo, которого давно уже нет (официально не поддерживается).

Нужно рассказать обязательно, что все PE обязательно базируются на некоторых непортируемых версиях популярных операционных систем: GNU/Linux, FreeBSD, OpenBSD, NetBSD, OpenSolaris. - По крайней мере, так написано в Википедии (про windows, заметьте, ничего не сказано). Впрочем, здесь у меня есть сомнения: чтобы сделать загрузочную флешку с victoria, необходим только некий sv ghost. Какая там используется ОС, мне не известно. Возможно, что разработчики антивирусов используют для своих Live CD операционные системы своей собственной разработки - я не знаю. На все эти вопросы должен ответить специалист.

Дальше идет рассказ о том, как ПРАВИЛЬНО создать свой образ LiveCD. Важно понять, что прежде чем ходить короткими путями, всякими срезами и прочими shortcutами, нужно знать основной, главный путь. Хорошо иронизирует только тот, кто знает, как оно должно быть на самом деле, т.е. в идеале. Иными словами, хорошо иронизирует философ - тот, кто понимает сам принцип. Потому что вопрос, ЧТО мы делаем, важнее вопроса КАК мы это сделаем. Способов может быть много.

Да, конечно, можно скачать Aoemi PE Builder, который и образ может сконструировать (но только на базе Win10), и автоматически добавить в него выбранные файлы, и даже записать все это на флешку. Но вот я, например, сейчас сижу и не могу понять, нужно ли мне иметь на компе установленную Win 7, чтобы создать на ее основе (на ее базе) LiveCD. Причем, не могу понять этого даже из официальной инструкции Майкрософт. И существуют ли какие-нибудь официальные конструкторы от Майкрософт для добавления своих программ в образ LiveCD.

PS

Несколько замечаний напоследок.

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

Аналогично, если внутри какого-то конкретного файла (с вполне конкретным путем) нужно заменить одну строчку на другую, нужно так и писать: заменить в этом файле эту строчку на ту. Не нужно писать

а)откройте total commander
б)наберите в поиске file_name.sys
в)нажмите F4
и т.д. Если кто-то не знаком с элементарными действиями над файлами, лучше отправить его к соответствующей статье.

2) По-хорошему, в обсуждении статьи нужно обсуждать саму статью. Поэтому если кто-то приходит с левыми вопросами, типа как мне из моей сборки виндовс собрать LiveCD, нужно заставить его еще раз перечитать статью. Если же в статье ничего об этом не говорится, нужно сразу слать его лесом, потому что статья НЕ ОБ ЭТОМ.
В идеале вопросов вообще не должно возникать. Если же постоянно возникает один и тот же вопрос - это говорит о том, что в статье что-то не очень хорошо написано. Нужно или подправить ее, или составить FAQ.
В некоторых особо исключительных случаях читатель может иногда спросить что-то такое интересное, о чем в статье не сказано. И автор даже может заинтересоваться и ответить на вопрос или даже написать дополнительную статью. Но опять же если статья написана достаточно абстрактно, обо многих вещах (как их можно сделать) можно просто догадаться, даже если в статье конкретно об этом не говориться.


3)Постарайтесь первую часть статьи посвятить расшифровке вашего компьютерного сленга. Если понятия будут хорошо определены, дальше будет проще изъясняться на полученном языке.

Отправлено: 00:26, 26-11-2017 | #1052