- Как безопасно установить Linux на свой компьютер? Подробная инструкция. Часть вторая.
- Удаление старой ОС Windows
- Очумелые ручки: устанавливаем Linux и BSD удаленно
- Содержание статьи
- Хитрые трюки
- От Windows к Linux. Виртуальная машина
- От Windows к Linux. UNetbootin
- От Windows к Linux. Grub4dos
- Установка Grub4dos в Vista/Seven
- От Linux к FreeBSD. Путь джедая
- От FreeBSD к Linux. Путь наименьшего сопротивления.
- Заключение
- Warning
Как безопасно установить Linux на свой компьютер? Подробная инструкция. Часть вторая.
Удаление старой ОС Windows
Возникает резонный вопрос — «Где же мы возьмем Линукс, если только собираемся его устанавливать». Вопрос на засыпку, если мыслить в системе координат Windows. К счастью, мы переходим в другую систему координат, где существует понятие рекурсивности.
Что же такое рекурсия? Рекурсия — способ определения объекта или действия через самого себя, с использованием ранее заданных частных определений. Не очень понятно. Гораздо проще понять на примере: возьмем известную аббревиатуру GNU; это не только название смешной антилопы — эти три буквы давно стали символом свободного софта, «копилефта» (как антипода копирайта) и вообще всего, что противостоит империи Микрософт. Как же расшифровывается GNU? — GNU is Not Unix. (ГНУ не Есть Юникс). Это пример рекурсии, когда термин определяется через самого себя; вроде все стало понятно, но сам термин остался нерасшифрованным. В мире свободного софта рекурсия чрезвычайно распространена, как в названиях, так и в действиях. Например, если вы в Линуксе попытаетесь удалить каталог, в котором есть файлы, то система спросит вас — «Каталог не пуст. Удалить рекурсивно?» Что означает — «Удалить со всем содержимым?». Если вы наберете в поисковике Google слово «рекурсия», то получите ответ: «Возможно вы имели в виду рекурсия?» Это у них шутка такая.
Как же рекурсия поможет нам воспользоваться ОС Линукс, которая еще не установлена на наш компьютер? Дело в том, что добытый нами загрузочный диск Ubuntu одновременно является Live CD (живым диском). Для тех, кто не знаком с этими дисками, советую прочесть мою статью «LiveCD — обыкновенное чудо. Почему?» . Коротко поясню, что Live CD — это особенным образом упакованная операционная система, которая создает в оперативной памяти компьютера виртуальный диск, на котором и устанавливает себя, «на лету» распаковывая нужные программы. В этом процессе жесткий диск компьютера никак не участвует, его может просто не быть. Таким образом, мы получаем полноценную операционную систему, загружающуюся и работающую с компакт-диска. Это и будет дистрибутив Ubuntu, который мы только собираемся установить. И нам нет никакого дела до того, что он существует только в оперативной памяти компьютера, для нас важно, что он содержит абсолютно все те же программы, что и ОС, которая еще только будет установлена на винчестер с этого самого диска. Это типичный пример рекурсивного подхода: устанавливать дистрибутив Линукс при помощи самого дистрибутива Линукс.
Но перейдем от слов к делу.
Чтобы переустановить Windows, нужно сначала удалить старую ОС, а затем установить новую. Но прежде чем что-либо удалять, необходимо сохранить все ценное, что есть на жестком диске. Обычно это бывают: всевозможные наработки, результаты работ, нужные черновики, и тому подобное. Удобнее вдумчиво собрать их копии в какую-нибудь одну папку, назвав ее, скажем, Backup. Затем, полезно сохранить закладки веб браузера. Если это Internet Explorer, то следует в меню файл выбрать строку Импорт — Экспорт и, следуя указаниям мастера, экспортировать закладки (которые здесь называются «избранное») в файл. Этот файл — bookmarks.html лучше поместить поблизости от папки Backup.
Многие сохраняют еще свою переписку — советую не делать этого. Электронная почта — один из основных каналов распространения вирусов, и тащить старых вирусов в новую систему также неразумно, как перевозить диван с клопами на новую квартиру. Письма следует хранить на почтовом сервере, благо сервера бесплатны и их размер неограничен. Можно иметь «дома» копии самых личных писем, но в формате, отличном от почтового.
Фотографии следует скопировать на DVD или CD.
Но довольно лирики, дело не ждет! Не выключая Windows, вставляем в привод оптических дисков наш загрузочный CD Ubuntu Х.х. Автоматически на экране появится следующее окно:
Если оно почему-либо не появилось, то в файловом менеджере откройте CD и запустите файл umenu.exe. Теперь точно появится.
Внимательно прочтите все, что там написано. Я знаю, что вы никогда не читаете никаких инструкций, а действуете методом тыка, и что такая политика никогда вас не подводила. В Windows. Но теперь мы вступили в новый мир, где правят другие законы. Один из важнейших законов этого удивительного мира: «Делай только то, что понимаешь». А чтобы понимать, что ты делаешь, неплохо прочитать инструкцию. Если вы с первых шагов не приучите себя читать все предупреждения, инструкции, мануалы и прочее, то в мире Линукс вам делать нечего. Вы потеряете время и ничему не научитесь.
Первая сверху кнопка «Демо и полная установка». Несмотря на несколько корявый перевод поясняющего текста, можно понять, что предлагается именно запуск Ubuntu в режиме Live CD, без установки на жесткий диск. Впоследствии из этого режима можно будет запустить программу инсталляции. Это именно то, что нам сейчас нужно.
Однако посмотрим другие варианты.
«Установка из-под Windows». Предлагается установить Ubuntu внутри системы Windows без создания нового раздела. Казалось бы, вот решение нашей проблемы: не нужно создавать новых разделов, не надо переустанавливать Windows! Но я бы не советовал вам воспользоваться этой возможностью. В итоге Ubuntu будет работать медленно, а когда вы захотите убрать ее, то полностью удалить ее вы не сможете, регистр окажется засорен, что замедлит работу вашей системы Windows. А если вы захотите превратить эту внутреннюю инсталляцию в полноценную (на отдельном разделе), то все равно придется создавать раздел, то есть переустанавливать Windows.
И последняя кнопка «Узнать больше» приведет вас на домашнюю страницу Ubuntu в Интернете. Если есть желание, полюбопытствуйте. Вы узнаете много интересного.
Значит, мы нажимает верхнюю кнопку «Демо и полная установка». Последует приглашение перезагрузить компьютер, с которым нужно согласиться.
После перезагрузки компьютера вы увидите таблицу выбора языка:
У вас есть тридцать секунд, чтобы начать действовать, слева вы видите таймер, отсчитывающий секунды (21s). Если вы не притронулись ни к одной клавише, то по истечению этого времени будет запущена установка на английском языке. Но как только вы нажали любую клавишу, как таймер остановится и исчезнет с глаз долой. Теперь можно не спешить. Вам нужно стрелочками выбрать русский язык, который находится пятым в третьей колонке. Подсветив его, нажимайте ENTER. Можно также познакомится с различными опциями, предлагаемыми внизу экрана.
Если вместо таблицы выбора языка, вы видите логотип загружающейся Windows, значит ваш компьютер настроен на загрузку с жесткого диска в первую очередь, и проигнорировал загрузочный CD в приводе оптических дисков. Этой беде легко помочь — современные компьютеры имеют клавишу, вызывающую загрузочное меню. Нажимать ее нужно сразу после включения компьютера, и держать пока не раздастся звуковой сигнал. Часто это клавиша F12, однако может быть F2, F9, Esc, по-разному бывает. Если ваш компьютер загружается без картинки логотипа, то есть вы видите надписи, бегущие по экрану, то эта клавиша будет названа в начале загрузки, сразу после клавиши входа в БИОС. Если таковую клавишу обнаружить не удалось, то необходимо войти в БИОС (для этого тоже отведена специальная клавиша, как правило, DEL или F2, нажимать ее надо также немедленно после включения), в БИОСе найти раздел Boot (Загрузка) и установить очередность загрузки: первым CD-ROM, затем флешка, и уж потом жесткий диск. Поверьте, это удобно. Если первых двух типов носителей не окажется на местах, компьютер будет, как обычно, загружаться с жесткого диска. А загрузка с флешки может пригодиться для запуска различных дистрибутивов Линукса, установленных на флеш-носителях. Выставив очередность загрузки, нужно отыскать способ выйти из БИОСа с сохранением изменений. Как это сделать, написано по крайней мере в двух местах в окне БИОСа (правда, по-английски).
Предупреждение: При работе в БИОСе будьте предельно аккуратны, не меняйте никаких параметров, которых не знаете. Иначе у вас могут возникнуть проблемы с загрузкой и нормальной работой компьютера.
Теперь останется снова перезагрузиться, и вы увидите вожделенную языковую таблицу.
После того, как вы установили язык и нажали ENTER, появится новая картинка:
Здесь она на английском языке, а у вас будет на чистейшем русском, и верхняя белая строка будет гласить — «Запустить Ubuntu без установки на компьютер». Остается только нажать ENTER. Нажимайте!
Подождем немного, глядя на логотип Ubuntu и ездящий туда-сюда оранжевый прямоугольник. И вот перед нами Рабочий стол Gnome дистрибутива Ubuntu. Можно начинать работу.
Главная панель находится сверху экрана, а не снизу, как в Windows. Это где-то логично, ведь заглавие всегда вверху листа с текстом. Внизу экрана находится вспомогательная панель. Фон рабочего стола (обои) я нарочно изменил на белый, чтобы нас ничего не отвлекало, у вас будет какой-нибудь рисунок. Сейчас не время подробно расписывать устройство Рабочего стола Gnome, мы разберемся с ним, когда установим Ubuntu на жесткий диск и начнем работу. Нам важно скопировать то, что мы хотим сохранить из содержимого жесткого диска. Поэтому действуем, как показано на рисунке вверху.
Нажав кнопку «Компьютер», мы открываем следующее окно:
Это окно соответствует окну «Мой компьютер» в Windows. На нем перечислены все доступные носители: два привода оптических дисков, жесткий диск WIN-C, и виртуальный диск, в котором мы работаем, под именованием Filesystem. Смело кликаем мышкой на WIN-C и видим содержимое нашей системы Windows:
Находим нужную нам папку Backup и файл bookmarks.html, действуя как в обычном «Проводнике».
Теперь нам нужно подключить съемный носитель — удобнее всего флешку соответствующей вместимости. Втыкаем ее в USB порт, и она автоматически откроется в новом окне:
На этом скриншоте видны два окна: слева Рабочий стол Windows, справа — флешка, которая у меня носит имя Common. Все что пришлось сделать, это перетащить мышью папку Backup и файл bookmarks.html.
Примечание: Если флешка по каким-то причинам не открылась автоматически в отдельном окне, ее легко обнаружить в Меню Places на верхней панели, в строке Removable Media, как видно на следующем скриншоте:
По окончании «эвакуации» ценностей из старой системы Windows, закрываем все окна. Теперь нам предстоит уничтожить старую систему. Для этого воспользуемся программой Gparted, которую находим на верхней панели, в меню System —> Администрирование —> Partition Editor, как показано на скриншоте:
Запускаем программу Gparted, вот ее окно, в котором показана структура жесткого диска. В Windows этот диск назывался диском С:, в Ubuntu он имеет наименование /dev/sda, а его разделы будут называться /dev/sda1, /dev/sda2 и так далее.
Информация: Если у вас несколько жестких дисков, то мастер на первом канале IDE будет /dev/sda, слейв на первом канале — /dev/sdb, мастер на втором канале IDE — /dev/sdc, а слейв второго канала — /dev/sdd. Также будут именоваться и приводы оптических дисков, если они подключены к соответствующим каналам. (В других дистрибутивах Линукс, накопители могут называться не sda, а hda).
Подсветим наш единственный раздел /dev/sda1 при помощи щелчка мыши, и откроем меню Partition, чтобы удалить раздел. Мы увидим, что строка Delete недоступна (неактивна), о чем можно судить по ее бледно-серому цвету. Дело в том, что, когда мы занимались «эвакуацией» данных с этого раздела, раздел был автоматически примонтирован к файловой системе Ubuntu.
Информация: В Windows мы не сталкивались с понятием монтирования и отмонтирования разделов. Это не означает, что его там нет, просто монтирование всех доступных разделов и некоторых устройств (скажем CD-ROM) происходит автоматически, а отмонтирование при выключении системы. Именно поэтому при многих операциях система Windows просит перезагрузки. А в Линукс можно примонтировать и отмонтировать любой раздел или устройство вручную. Под Windows мы тоже вручную должны отмонтировать флешки и другие USB носители, помните зеленую стрелочку в системном трее и надпись «Безопасно извлечь устройство»? Вот это и есть отмонтировать — безопасно извлечь (или отключить).
На скриншоте возле слов «/dev/sda1» видны маленькие ключики (я пометил их черной стрелкой), которые напоминают нам, что прежде чем изменять данный раздел, его надо отмонтировать.
Отмонтировать очень просто — нажимаем строку Unmount в уже знакомом нам меню Partition (раздел). Через несколько секунд картинка в окне изменится, ключики исчезнут, а в меню Partition строка Delete нальется черным цветом.
Смело жмем на нее. Снизу появится информация о запланированной операции. Но чтобы эта операция совершилась, необходимо в меню Edit выбрать строку Apply All Operations. После нажатия на эту строку, выскочит окно, в котором нужно еще раз подтвердить применение операции удаления раздела. Подтвердим. И понаблюдаем некоторое время за ходом операции во вновь открывшемся окне. По окончании процесса, закроем окно хода операции, нажав кнопку Close. Подождем еще немного, пока программа просканирует диски, и, наконец, увидим вместо /dev/sda1 серое пространство с надписью unallocated (не размечено) и размером этого свободного пространства в гигабайтах.
Следующая наша задача — создать новые разделы.
Но об этом мы поговорим в третьей части.
Очумелые ручки: устанавливаем Linux и BSD удаленно
Содержание статьи
Мы все привыкли думать, что для установки новой ОС на машину требуются как
минимум две составляющие: сама машина и физический носитель, на котором записан
инсталлятор операционной системы. К счастью, это не всегда так. В тех ситуациях,
когда физический доступ к компу невозможен, вполне можно обойтись и без второго
компонента.
Традиционно, для установки операционной системы на комп принято использовать
специальные установочные диски или другие носители, которые умеют самостоятельно
загружаться и передавать управление записанному на них установщику. Это простой,
удобный и эффективный способ водрузить ОС на машину, однако он применим далеко
не всегда. Иногда мы оказываемся в такой ситуации, когда физический доступ к
машине просто невозможен. Это может быть удаленный сервер, машина друга,
живущего в другом городе, или что угодно еще. Главное в такой ситуации то, что
подопытный комп доступен только по сети, и на нем обычно уже установлена
какая-то операционка (например, Windows). А вопрос заключается в том, как
заменить ее на нечто другое (например, Linux), причем сделать это без участия
третьих лиц.
Хитрые трюки
Самый простой вариант установить ОС без использования физического носителя —
воспользоваться возможностями виртуальной машины. Практически любая из них
позволяет подсунуть в качестве виртуального настоящий жесткий диск, тем самым
открывая поистине безграничные возможности для экспериментов. Это абсолютно
безопасный и проверенный временем прием, который мы во всех подробностях
рассмотрим позднее.
Более предпочтительный сценарий — использовать инструменты быстрой установки
Linux, которые предоставляют возможность инсталлировать пингвина прямо из
Windows без какого-либо вмешательства со стороны пользователя. Наиболее
известный из таких инструментов носит имя
UNetbootin и
первоначально разработан для создания
загружаемых USB-флешек с пингвином на
борту, но позднее научился устанавливать полноценные дистрибутивы прямо на
жесткий диск. Подобные утилиты есть в арсенале таких дистрибутивов, как
Ubuntu и OpenSUSE,
но до возможностей UNetbootin им далеко (последний умеет ставить несколько
вариантов Linux, BSD, легко поддается настройке и может работать в Linux). Те,
кто любят все делать руками, могут воспользоваться grub4dos и ISO-образами
соответствующих дистрибутивов. Этот вариант мы тоже рассмотрим.
Еще проще все это проделать в том случае, когда на машине уже установлена
UNIX-подобная ОСь, а задача состоит в том, чтобы заменить ее другим
представителем семейства UNIX (например, установить BSD или другой
Linux-дистрибутив). Для этого подойдет все тот же UNetbootin, либо вариант с
загрузкой ISO-образа или минимального образа initrd-средствами Grub (его можно
установить из портов BSD).
От Windows к Linux. Виртуальная машина
Как я уже упоминал, самый простой и очевидный способ удаленной установки ОС
заключается в использовании виртуальной машины. Он сработает в любой ОС, где
может быть запущена ВМ, поэтому даже если на удаленной стороне стоит Solaris или
еще большая экзотика, выход есть. В своей работе мы будем использовать
прекрасную ВМ VirtualBox,
которую можно абсолютно бесплатно скачать из Сети. Нас интересует версия для
Windows, поэтому файлом для скачивания будет VirtualBox-3.2.10-66523-Win.exe.
Сразу после установки запускать виртуальную машину не нужно, сначала следует
подготовить псевдо-образ жесткого диска, который будет ссылаться на настоящий
диск. Сделать это можно только с помощью консольных утилит, поэтому открываем
командую строку и пишем:
> cd c:\Program Files\Oracle\VirtualBox
> VBoxManage internalcommands createrawvmdk -filename c:\realhd.vmdk -rawdisk
\\.\PhysicalDrive0 -register
Образ realhd.vmdk, расположенный в корне диска C:, будет ссылаться на
физический диск (\\.\PhysicalDrive0 в нотации Windows), опция ‘-register’
позволяет сразу добавить его в «Менеджер виртуальных носителей» VirtualBox.
Забегая вперед, скажу, что то же самое в Linux можно проделать с помощью похожей
команды:
$ sudo VBoxManage internalcommands createrawvmdk -filename
/realhd.vmdk
-rawdisk /dev/sda -register
Теперь можно скачать ISO-образ устанавливаемого Linux-дистрибутива и выделить
для него место на диске. Сделать это можно, уменьшив размер NTFS-раздела с
помощью Partition Magic в WinXP/Win2k3 или оснастки diskmgmt.msc в Vista/Seven.
После этого запускаем VirtualBox и создаем новую виртуальную машину, указав
подготовленный ранее образ в качестве первого жесткого диска. Далее открываем
свойства виртуальной машины, вкладку «Носители», и указываем в качестве CD-ROM
реальный привод компа. Запускаем ВМ и благополучно устанавливаем Linux в
свободную область диска. Предупрежу, что сразу перезагружать реальную машину не
стоит, иначе мы потеряем к ней сетевой доступ (сеть будет либо вообще не
настроена, либо настроена на подключение к виртуальной сети VirtualBox). Сначала
необходимо загрузить дистрибутив в виртуальной машине и настроить сеть так,
чтобы она была работоспособна после загрузки ОС на реальном железе (то есть
скопировать сетевые настройки из работающей в данный момент ОС). Делать это
нужно с предельной осторожностью, потому как одна ошибка навсегда отрежет машину
от интернета.
Большим плюсом будет работающий в локальной сети DHCP-сервер, раздающий
настройки для подключения к интернету, в этом случае ничего настраивать не
придется и достаточно будет установить SSH-сервер и завести пользователя, с
правами которого мы сможем попасть на машину (впрочем, последние две вещи
придется сделать в любом случае). Когда все это будет выполнено, машину можно
перезагрузить и минут через пять попытаться подключиться к ней по SSH.
От Windows к Linux. UNetbootin
UNetbootin (Universal Netboot Installer) — это графическая программа,
предназначенная для создания загружаемых USB-носителей с UNIX-подобными ОС на
борту или же установки UNIX на жесткий диск без использования физических
носителей. Она может работать как в Windows, так и в Linux, поддерживает
несколько десятков различных ОС (дистрибутивы Linux и ОС семейства BSD) и
невероятно проста в использовании. Далее мы рассмотрим, как с ее помощью
установить Ubuntu.
Для начала необходимо получить саму утилиту. Заходим на страницу
unetbootin.sf.net и
нажимаем большую синюю кнопку с надписью «Download» («for Windows» или «for
Linux»). Запускаем полученный файл (в случае с Linux-версией его сначала
необходимо сделать исполняемым). Появится окно UNetbootin, в котором можно
выбрать дистрибутив, его версию, тип установки (NetInstall для сетевой установки
или HdMedia для установки с заранее подготовленного образа), в самом нижнем поле
можно выбрать тип установки, в нашем случае — «Жесткий диск», нажать кнопку ОК и
перезагрузить комп.
В обычной ситуации всего этого достаточно для того, чтобы UNetbootin смог
установить на диск загрузчик и минимальный Linux-образ, который скачает
установочные файлы ОС на диск и запустит инсталлятор. Однако мы имеем дело с
удаленной машиной и поэтому не сможем получить доступ к ОС до того момента, пока
она не будет полностью установлена (не сможем отвечать на вопросы инсталлятора).
Все это приведет к тому, что после перезагрузки машина окажется застопоренной на
первом же вопросе. Чтобы побороть проблему, нам придется создать собственный
установочный ISO-образ Ubuntu, который сможет произвести инсталляцию ОС в
полностью автоматическом режиме. Для этого нам потребуется образ серверной
версии Ubuntu-10.10 (десктопный вариант не поддерживает автоматизацию
установки), немного смекалки и файл дефолтовых ответов на вопросы инсталлятора
(так называемый preseed-файл).
1. Скачиваем установочный образ Ubuntu 10.10 и распаковываем его в отдельный
каталог:
$ sudo mount -o loop ubuntu-10.10-server-i386.iso /cdrom
$ mkdir mycd
$ rsync -a /cdrom/ mycd
2. Добавляем в образ preseed-файл:
$ vi auto.seed
# Говорим по-русски
d-i debian-installer/locale string ru_RU
# Английскую раскладку, пожалуйста
# Можно сразу указать ru, чтобы потом не мучиться
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string us
# Пусть сам выберет дефолтовый сетевой интерфейс
d-i netcfg/choose_interface select auto
# Качаем пакеты по FTP
d-i mirror/protocol string ftp
# Ставим в самую большую неразмеченную область диска
d-i partman-auto/init_automatically_partition select biggest_free
# Все файлы в один раздел
d-i partman-auto/choose_recipe select atomic
# Ставим на Ext4
d-i partman/default_filesystem string ext4
# Соглашаемся со всем, что говорит программа разметки
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
# В системе один пользователь — user (пароль resu)
d-i passwd/user-fullname string Ubuntu User
d-i passwd/username string user
d-i passwd/user-password-crypted password 458c9bfe3b6716ad976383cf20a3dcf4
d-i user-setup/allow-password-weak boolean true
# Ставим десктопную редакцию дистрибутива
# Можно заменить на kubuntu-desktop или ubuntu-server, например
tasksel tasksel/first multiselect ubuntu-desktop
# Ставим SSH-сервер
d-i pkgsel/include string openssh-server
# Разрешаем загрузчику найти другие установленные ОС и добавить их в меню
d-i grub-installer/with_other_os boolean true
# Автодетект монитора (Ubuntu, как-никак)
xserver-xorg xserver-xorg/autodetect_monitor boolean true
$ sudo cp auto.seed mycd/preseed
В файле прописаны ответы на вопросы инсталлятора, по умолчанию будет выбран
русский язык и раскладка us, в качестве места дислокации новой ОС на диске будет
выбрана максимальная неразмеченная область, дополнительно будет установлен пакет
openssh-server и добавлен пользователь user с паролем resu, так что после
загрузки на машину можно будет войти по SSH. Если для подключения машины к сети
используется ручная настройка (а не DHCP), то строку «d-i netcfg/choose_interface
select auto» следует заменить на пять следующих строк, подставив реальные
адреса:
# DNS-сервер
d-i netcfg/get_nameservers string 8.8.8.8
# IP-адрес
d-i netcfg/get_ipaddress string 192.168.0.1
# Маска сети
d-i netcfg/get_netmask string 255.255.255.0
# Адрес шлюза
d-i netcfg/get_gateway string 192.168.0.2
# Подтверждение конфигурации
d-i netcfg/confirm_static boolean true
3. Редактируем конфиг загрузчика так, чтобы он узнал о существовании нашего
preseed-файла:
$ sed -e ‘s#file=/cdrom/preseed/ubuntu.seed#auto=true\ priority=critical\
file=/cdrom/preseed/auto.seed#’ mycd/isolinux/txt.cfg > txt.cfg
$ sudo mv txt.cfg mycd/isolinux/
4. Удаляем старый файл контрольных сумм и создаем новый:
$ cd mycd
$ sudo rm md5sum.txt
$ find -type f -print0 | sudo xargs -0 md5sum | grep -v isolinux/boot.cat | sudo
tee md5sum.txt
5. Генерируем новый ISO-образ:
$ sudo mkisofs -D -r -V «Ubuntu 10.10 AutoInstall» -cache-inodes -J -l
-b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table
-o ../ubuntu-10.10-server-i386-auto.iso
Закачиваем получившийся ISO-образ на удаленную машину, запускаем UNetbootin,
выбираем пункт «Образ диска», далее — «ISO-образ», находим образ на диске и
нажимаем кнопку ОК.
После завершения работы UNetbootin заходим в свойства «Моего компьютера»,
открываем вкладку «Дополнительно», нажимаем кнопку «Параметры» в разделе
«Загрузка и восстановление» и выбираем «UNetbootin» в поле «Операционная
система, загружаемая по умолчанию». Это позволит машине автоматически загрузить
ISO-образ, установленный с помощью UNetbootin. Перезагружаем машину. Через 30
минут пробуем подключиться к серверу, молясь всем богам автоматизации. Примерно
также можно установить Debian, но с другими дистрибутивами все будет иначе.
Многие из них вообще не поддерживают автоматизацию процесса установки, другие
используют совсем другой ее вариант (например, Kickstart в RedHat).
От Windows к Linux. Grub4dos
Людей с пытливым умом наверняка интересует механизм работы UNetbootin. В этом
разделе речь пойдет о том, как вручную сделать то же, о чем мы говорили выше. В
качестве основного инструмента будет выступать Grub4dos — вариант Grub,
способный грузиться с FAT32 и NTFS-разделов, все тот же переработанный образ
Ubuntu и гвоздь программы — WinXP.
Главная задача — установить Grub4dos на системный диск Windows и сделать так,
чтобы мы смогли получить к нему доступ. Для этого идем по ссылке
sourceforge.net/projects/grub4dos/files/, скачиваем последнюю версию
Grub4dos и распаковываем файлы grldr и menu.lst в корень диска C:. Далее снимаем
с файла c:/boot.ini атрибут «Только для чтения» и добавляем в конец секции [boot
loader] следующую строку:
И эту строку последней:
Сохраняем файл. Открываем c:/menu.lst и пишем в него следующее:
title Ubuntu 10.10 AutoInstall
find —set-root /ubuntu-10.10-serveri386-auto.iso
map /ubuntu-10.10-server-i386-auto.iso(hd32)
map —hook
chainloader (hd32)
Сохраняем. Помещаем ISO-образ в корень диска C:, перезагружаем ОСь, ждем 30
минут, подключаемся по SSH с именем пользователя «user» и паролем «resu».
Установка Grub4dos в Vista/Seven
1. В корень диска C: помещаем файлы grldr, grldr.mbr и menu.lst;
2. Добавляем запись в загрузчик Windows:
> bcdedit /create /d «Grub4Dos» /application
bootsector
3. Редактируем запись (ID берем из вывода предыдущей команды):
> bcdedit /set ID device partition=C:
> bcdedit /set ID path \grldr.mbr
> bcdedit /displayorder ID /addlast
От Linux к FreeBSD. Путь джедая
Последний из вариантов удаленной установки ОС не так тривиален, как
предыдущие. Мы будем устанавливать FreeBSD на машину, работающую под управлением
Linux, причем сделаем это так, что свежеустановленная ОС полностью затрет
существующую. Для тех, кого интересует, зачем это нужно, отвечу: многие хостинги
сдают в аренду серверы только под управлением Linux, не предоставляя доступа к
удаленной консоли и таким образом лишая пользователей выбора. Описанная в статье
методика позволит поставить на сервер FreeBSD, имея доступ только по SSH.
Проделать это можно с помощью инструмента под названием
mfsBSD, который позволяет
создать минимальный дисковый образ FreeBSD, полностью загружаемый в память.
Записав этот образ в начало жесткого диска и перезагрузив машину, мы получим
сетевой доступ к полностью рабочей минимальной копии FreeBSD, которую сможем
использовать для последующей установки полноценной ОС с помощью стандартного
инсталлятора sysinstall. Порядок действий следующий:
1. Скачиваем архив mfsBSD на локальную машину и распаковываем его:
$ wget mfsbsd.vx.sk/release/mfsbsd-1.0.tar.gz
$ tar xzf mfsbsd-1.0.tar.gz
$ cd mfsbsd-1.0
2. Создаем конфигурационный файл rc.conf, который будет использоваться в
образе:
$ cp conf/rc.conf.sample conf/rc.conf
Добавляем в конец файла следующие строки:
$ vi conf/rc.conf
# IP-адрес маршрутизатора
defaultrouter=»192.168.0.1″
# Настройки сетевого интерфейса
ifconfig_re0=»inet 192.168.0.2 netmask 255.255.255.0″
Здесь re0 используется в качестве примера. В реальной ситуации ты должен
узнать, какая сетевая карта установлена на машине (dmesg в помощь), и подобрать
к ней соответствующее имя сетевого интерфейса (которое по совместительству
является именем драйвера, например, re0 — это сетевая карта RealTek 8139C,
драйвер для которой носит имя «re»). Также следует отметить, что если машина
получает сетевые настройки по DHCP, то последняя строка должна иметь следующий
вид:
3. Создаем мини-образ из установочного ISO-образа FreeBSD (можно скачать с
ftp://ftp.freebsd.org, либо
ближайшего зеркала):
$ sudo mount -o loop FreeBSD-8.1-RELEASE-i386-disc1.iso /cdrom
4. Перекидываем полученный образ на удаленную машину:
$ scp disk.img root@192.168.0.1:.
5. Заходим на удаленную машину с правами root’а, записываем образ на диск и
идем на перезагрузку:
# dd if=/root/disk.img of=/dev/sda bs=1m
# reboot
Через пять минут вновь подключаемся к удаленной машине в качестве root’а,
вводим пароль mfsroot, запускаем sysinstall и приступаем к обычной установке
FreeBSD. В качестве источника установки выбираем FTP или HTTP.
Преимущество способа в том, что существующую ОС можно спокойно затереть во
время установки новой (хотя это все равно придется сделать, так как мы затерли
таблицу разделов), ни один из описанных выше способов не позволяет проделать
такое.
От FreeBSD к Linux.
Путь наименьшего сопротивления.
Чтобы установить Linux на FreeBSD-машину, достаточно
создать автоустанавливаемый образ Ubuntu, как это было
описано в разделе про UNetbootin, затем установить grub, как
показано ниже:
# cd /usr/ports/sysutils/grub
# sudo make install clean
# mkdir /boot/grub
# cp /usr/local/share/grub/i386-freebsd/* /boot/grub/
# touch /boot/grub/menu.lst
# sysctl kern.geom.debugflags=16
# grub-install /dev/ad0
И записать следующие строки в menu.lst:
# vi /boot/grub/menu.lst
title Ubuntu 10.10 AutoInstall
# Заменяем X, Y, Z на номер диска, раздела и букву
слайса, далее пишем полный путь до ISO-образа на
этом слайсе
map (hdX,Y,Z)/ubuntu-10.10-server-i386-auto.iso(hd32)
map —hook
chainloader (hd32)
После этого можно перезагружаться.
Заключение
Как видишь, такая, казалось бы, нетривиальная задача, как удаленная установка
ОС, на самом деле достаточно проста и может быть выполнена множеством разных
способов, начиная с использования виртуальной машины и заканчивая созданием
загружаемых в память дисковых образов. Более того, автор совсем не удивится,
узнав, что кто-то придумал еще десяток других способов.
В Linux вместо VirtualBox гораздо удобнее использовать qemu:
$ sudo qemu -hda/dev/sda -cdrom ubuntu-10.10-desktop-i386.iso -boot
d
Warning
Настоятельно рекомендую тестировать все описанные в статье методы на
виртуальной машине перед применением на машине реальной.