Восстановление grub

Введение

Как правило, дополнительная настройка GRUB не требуется, все необходимые файлы устанавливаются на компьютер самостоятельно во время инсталляции ОС Linux. Нет необходимости заново устанавливать загрузчик, если, например, пользователю нужно провести конфигурацию, так как в этом случае следует только редактировать содержимое /boot/grub/ menu.lst.

Как произвести правильную установку и настройку — в статье ниже

Установка GRUB целесообразна в том случае, если его физически не существует на устройстве, иными словами, он может быть стёрт после инсталляции другой системы (чаще всего Windows). Иногда случается и такое, что копии загрузчика не функционируют должным образом или GRUB, по желанию владельца ПК, заменяется другим типовым загрузчиком. Какими бы ни были причины, установка GRUB, в любом случае, должна производиться исключительно с «живой» системы (Knoppix, например). Дело в том, что без функционирующего загрузчика, запустить на ПК дистрибутив Linux, который располагается на жёстком диске, попросту не выйдет. В статье рассмотрим способы установки и настройки загрузчика GRUB.

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

Изменение порядка загрузки операционных систем

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

Я для примера выберу Windows Boot Manager, и перемещу его в самый верх.

Результат следующий.

Переименование пунктов загрузочного меню

Теперь давайте переименуем пункт Windows Boot Manager в Windows 10. Для этого достаточно щёлкнуть двойным кликом по пункту и ввести новое имя.

Сохранение настроек, загрузка и проверка порядка ОС

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

В случае необходимости Вы можете перейти на дополнительные вкладки: «Основные настройки» и «Настройки оформления». Например, для того чтобы изменить шрифт меню загрузчика или цвет шрифта.

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

В моем случае все настройки были применены и теперь по умолчанию у меня загружается Windows 10.

Удаление Grub в UEFI

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

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

Пошаговое руководство:

  1. Запустите программу Bootice на своём ПК.
  2. Далее вам понадобится вкладка UEFI.
  3. Перейдите туда и нажмите на кнопку «Edit Boot Enteries». Перед вами откроется новое окошко.

Теперь пользователь может пойти одним из двух доступных путей:

  1. Опустите загрузчик Grub, воспользовавшись для этих целей клавишей Down. Это позволит сделать загрузчик Windows основной программой в системе.
  2. Альтернативный вариант: удалите запись о загрузчике Grub, воспользовавшись клавишей Del.

Удаление загрузчика Grub с флешки

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

Дельнейшие процессы выполняются в Linux. Чтобы узнать имя устройства у вашей флешки, задайте в терминале специальную команду. Впишите в строке текст, указанный ниже:

Далее выполните удаление существующей таблицы. Еще раз воспользуйтесь строкой терминала Линукс:

Чтобы создать новую таблицу разделов, потребуется программа Gparted. Добавьте раздел на флешке и выполните форматирование в файловую систему FAT32. Готово! Еще раз напоминаем о том, что нельзя стирать загрузчик с жёсткого диска. Его восстановление – очень непростой и энергозатратный процесс.

Заключение

Для успешного удаления стандартного загрузчика Grub в Линукс достаточно следовать инструкциям, предоставленным в данной статье.

Метод 4 — Загрузка через Windows NT/2K/XP (2)

Это метод с использованием NT загрузчика от Windows NT/2K/XP ntldr, метод работает даже если ОС Windows не установлена на компьютере. На носителе с которого мы планируем загружаться должен быть загрузочный сектор от NT/2000/XP (если его нет то надо установить этот самый NT загрузчик ntldr). Существует несколько утилит, которыми это можно сделать:

  • mkbt.exe — Bart’s Make Bootable. Может быть выполнена из Windows однако вы должны иметь загрузочный сектор для записи (это файл). Использование: mkbt -x *.bin #: (Где # это буква диска и *.bin загрузочный сектор для установки)
  • bootpart.exe — Должна быть запущена из под ДОС. Скачайте эту программу и скопируйте её на носитель с ДОС-ом. Загрузите ДОС и используйте команду BOOTPART WINNT BOOT:#: (Где # это буква диска).
  • bootsect.exe — Входит в состав Windows Vista и может быть запущена из Windows. Использование bootsect.exe /nt52 #: /force (Где # это буква диска)

Плюс ко всему надо скопировать на диск файлы ntldr, ntdetect.com и boot.ini (из файлов windows) и файл C:\Grub4dos\grldr на загружаемое устройство. Отредактировать boot.ini добавив туда следующие строки:

timeout=10
default= C:\grldr

C:\grldr=»Grub4Dos»

Как восстановить загрузчик EFI Windows 7/10: пересоздаём EFI.

Самое главное здесь — не промахнитесь с разделом/лами и не удалите тот из них, в котором хранятся данные Windows и ваша информация. Итак, раз bootrec.exe попасть в нужный нам раздел не смогла, раздел убираем. Для этого нам будет нужно вернуться в diskpart.exe, снова определиться с разделами и выбрать тот, что на 100 Мб. Возвращаемся в ремонтную консоль:

cd /d x:

И начинаем заново:

diskpart
select disk 0
list partition
select partition 2

удаляем его:

delete partition override

можно проверить результат:

list partition

У нас осталось некоторое нераспределённое пространство, в котором мы заново создаём удалённый только что раздел:

create partition efi size=100
list partition
select partition 2
format quick fs=fat32 label="System"

Но при попытке присвоить применявшуюся ранее букву Y, консоль ответила отказом (надо было её перезапускать). Я присвою разделу букву Z:

assign letter=Z
exit

Подготовим почву для bootrec.

создаём папку загрузки:

mkdir Z:\EFI\Microsoft\Boot

копируем туда файлы из состава среды EFI из папки установленной Windows (С — буква диска с системными файлами Windows):

xcopy /s C:\Windows\Boot\EFI\*.* Z:\EFI\Microsoft\Boot

пусть bootrec с вашей флешки проверит диски на предмет системных файлов Windows:

bootrec /scanos

Никуда они не денутся, если вы их случайно не удалили, или они не попали в зону бэд-секторов. Остаётся…

… заставить написать «правильный» файл BCD и прочие «конфиги»:

bootrec /rebuildbcd

Выключаем компьютер, флешку вынимаем и включаем машину. Ждём появления Windows. Дайте ей загрузиться до Рабочего стола и проверяйте, всё ли на месте.

Ошибка вновь появляется…

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

  • Разбудите BIOS:
    — снимите крышку боковую компьютера или нижнюю ноутбука
    — отключите жёсткий диск (отключив оба шлейфа на «стационарнике» или вынув из разъёмов на ноутбуке)
    — включите машину, дождавшись ошибки загрузки;
    — выключив компьютер, подключите жёсткий заново и снова, включив компьютер, проверьте;
  • проверьте UEFI меню платы компьютера на предмет правильной очерёдности разделов загрузки; первым должен стоять, как вы поняли, именно EFI;
  • убедитесь, что метка Загрузочный стоит только напротив EFI раздела, и ни у какого больше. Проверить и исправить ситуацию из Windows PE, к сожалению, не получится. И для этого придётся воспользоваться дополнительными инструментами в виде загрузочной флешки. Сделайте это любым удобным вариантом из статьи Метка диска Загрузочный: как добавить или удалить?

У меня всё. Успехов.

Удаляем Grub

Некоторые юзеры затрудняются в вопросе, как удалить Grub, так как он подменяет собой стандартный загрузчик, и при удалении Linux перестают загружаться также и оставшиеся операционные системы. Хотя сам процесс несложный, применимы различные способы, зависящие от установленной второй системы.

Удаление при установленной Windows XP

Если на ПК стоит Windows XP, проблема, как удалить Grub, решается не так быстро, но без особых сложностей. Запустите менеджер жёсткого диска, который удалит программные компоненты, отмеченные ext. Хорошо подходит для процедуры удаления Power Quest PartitionMagic 8.0. Затем вам потребуется восстановление загрузчика Windows для работы ПК после удаления Linux. Действуйте по алгоритму.

С помощью утилиты удалите разделы с меткой ext

  1. Внизу окна приложения цветовое обозначение разделов. Удалив эксплуатируемые Linux, освободите место, оно выделится серым.
  2. Умная машина станет перезагружаться, высветится сообщение: «NTLDR is missing». Оно говорит, что система не может запустить ОС Windows, требуется восстановить файлы.
  3. Запустите консоль восстановления и подключите компакт-диск либо загрузочную флешку.
  4. Консоль запросит указать, в какую копию ОС следует войти. Ставьте «1».
  5. У вас запросят пароль администратора, введите его.
  6. Затем введите команду fixmbr, восстанавливающую таблицы разделов, перезаписывающую загрузочную область.
  7. Консоль выведет предупреждение и запросит подтверждения процесса, введите «Y».
  8. Загрузочная область создаётся, введите затем команду fixboot для записи загрузочного сектора на основной диск.
  9. Подтвердите по запросу операцию, набрав «Y».

Компьютер перезагрузится, восстановление загрузчика будет успешно завершено, запустится Windows XP.

Удаление при установленных Windows 7, 8

Процедура при установленных Windows 7-8 проще, чем вышеописанная. В данном случае вам не понадобятся загрузочные флешки, запуск консоли. Действуйте по алгоритму:

  1. Заходите в «Пуск» — «Выполнить».
  2. В поле окна открытия утилит впишите list disk, нажмите Enter, после чего увидите список устройств, имеющихся у вашего ПК.
  3. Впишите «select disk №…», указав номер диска с установленным Grub.
  4. Нажмите Enter. Выйдет сообщение о выборе диска.
  5. Вбейте команду «clean» — «Enter».
  6. Появится сообщение об успешной очистке диска.

Если вы уже удалили Linux, то Windows не сможет загрузиться. Поэтому нужен установочный диск или флешка с системой. Настройте BIOS на загрузку с нужного устройства и загрузитесь с диска или флешки. Вместо установки выберите восстановление системы, а затем командную строку. В этой строке введите поочередно такие команды:

  • EXE /FixBoot
  • BOOTREC.EXE /FixMBR

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

Удаление при FreeDos

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

  1. Запустите командную строку.
  2. Просмотрите содержание дисков, дав команду «dir».
  3. Обнаружив загрузочный сектор, отформатируйте весь раздел, вбив команду «format» и указав на этой же строчке нужный диск, например, «с:».
  4. После выполнения процедуры Grub будет убран с жёсткого диска.

Удаление Grub4Dos

Если у вас установлен загрузчик Grub4Dos, его удалить легко через командную строку. Набираете там команду «sudo apt-get purge grub2 grub-pc», и Grub удалит себя. Далее с помощью загрузочного диска, специальной консоли выполняете восстановление загрузчика, запуск имеющейся ОС.

Хотя Linux имеет много преимуществ перед другими системами, часто выбирают современные ОС либо устанавливают две системы. Но переходы между ними затруднены, возникают конфликты в программном обеспечении, и приходится удалять такой привычный, удобный Linux. Выше мы подробно описали, каким образом выполнить удаление, не нарушив работы второй системы. Теперь вы сможете, удалив Grub, оставить на ПК только одну ОС; знаете, как восстановить загрузчик Windows. Внимательно выполняйте операции, действуйте по руководству, прилагаемому к загрузчику, и вы успешно сделаете всё необходимое.

Через командную строку при частичном доступе к файловой системе

Иногда загрузчик Grub повреждён не настолько сильно, что не может загрузиться вся система. Например, загрузочный раздел остаётся целым, но сама утилита не имеет к нему доступа. В таком случае открывается программная оболочка, чем-то похожая на командную строку, и выводится сообщение следующего содержания: Minimal BASH like line editing is supported. Вот с помощью этой командной строки можно попробовать выполнить загрузку Ubuntu.

От вас ожидается, что вы точно уверены и знаете, на каком из винчестеров помещена система и ядро. Имеющихся команд всего четыре, их нужно применять последовательно:

  1. Чтобы система отсканировала диски и разделы, задайте команду ls. В качестве ответа вы получите список жёстких дисков (например, hd1, hd2), а также тип файловой системы на них (например, msdos1, msdos2). К примеру, будем считать, что загрузочный раздел расположен в /dev/sda1.
  2. Далее нужно выбрать тот раздел, с которым вы желаете работать. В нашем случае команда будет записываться следующим образом: set root=(hd1,1).
  3. Загрузите обычную оболочку Grub: insmod ext2, insmod normal, normal.
  4. Запустите ядро Linux: linux /boot/vmlinuz.
  5. Загрузите систему: boot.
  6. После запуска Ubuntu в обычном режиме откройте терминал и закончите процедуру восстановления загрузчика следующими командами:
  1. Перезагрузитесь и радуйтесь нормальной работе.

Почему не загружается GRUB?

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

В данном случае UEFI запускает загрузчик по умолчанию, т.е. Windows, а загрузчик Debian просто не запускается. В результате Вы успешно установили Debian, но по умолчанию загружается все равно Windows 10.

Поэтому, для того чтобы изначально избежать такой ситуации, установку Debian 10 необходимо производить в экспертном режиме, чтобы принудительно установить загрузчик в нужную область (removable media path), так же как это делает Windows.

Некоторые другие дистрибутивы Linux, например, Ubuntu, по умолчанию устанавливают загрузчик в область removable media path, и таких проблем у них не возникает, но такой подход создает предпосылки конфликта с любыми другими установщиками, что плохо и неправильно. Вот почему в Debian не делают этого по умолчанию.

Однако если Вы все-таки установили Debian 10 в обычном режиме, и у Вас возникла такая ситуация, что вместо загрузчика GRUB загружается Windows 10, Вам необязательно переустанавливать Debian, достаточно зайти в загрузочное меню, запустить UEFI Shell и настроить загрузку UEFI. А как все это сделать, я сейчас и покажу.

Возможные ошибки

Администратора здесь могут подстерегать некоторые ошибки. Среди них наиболее часто появляются:

  • BFSVC Error: Can not open the BCD template store. status – –
    нужно проверить вводимые команды и путь к хранению системных файлов Windows; иногда ошибка появляется из-за неправильного указания языковой локали;
  • BFSVC Error: Error copying boot files from Last Error = 0x570 – ошибка является следствием самого явления, что Windows не загружается. Вероятно, плохие сектора появились не только в разделе загрузки EFI, но и на диске с системой; прогоните жёсткий диск утилитой chkdsk.exe тут же из консоли командой
chkdsk с: /а

где с — диск с системой

Отказано в доступе — причин на то множество: от наличия плохих секторов до неверно выставленного режима загрузки (стоит Legacy вместо UEFI; нужно — только UEFI) с флешки. Однако. UEFI не был бы UEFI, если бы всё проходило вот так гладко: то, что раздел EFI не подпускает к своим файлам — это, скорее закономерность, чем исключение. Так что, если в доступе вам отказано, я советую вам просто сначала удалить сам раздел EFI (а он такой нам больше не нужен), воссоздать его заново с единственно необходимой для его работы директорией, а затем уже положиться на ремонтную bootrec, позволив ей завершить работу. Так что, если необходимость возникла, продолжаем работу с момента появления отказа команде

bootrec /fixboot

Команды консоли GRUB

Чтобы попасть в консоль, нужно нажать клавишу C во время отображения меню загрузки.

ls

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

ls /boot/grub

Еще одно полезное свойство комадны «ls» — она позволят получить информацию о любом разделе:

ls (hd0,5)

Команда сообщит нам тип файловой системы на разделе, метку раздела (если таковая имеется), UUID и дату последнего изменения данных на разделе (в формате UTC).

Данная команда выводит содержимое заданного файла, используется в формате:

cat /путь/имя_файла

linux

Аналог команды «kernel» в GRUB Legacy. Загружает указанное Linux-ядро:

linux файл_ядра опция1=значение опция2 опция3

Например, так:

linux /boot/vmlinuz-2.6.32-020632-generic root=/dev/sda5 single

initrd

Загружает указанный initrd-образ. Используется так:

initrd /boot/initrd.img-2.6.32-020632-generic

Обратите внимание, что версия initrd должна соответствовать версии загружаемого ядра!

chainloader

Передает управление загрузкой по цепочке другому загрузчику (загрузчик ищется на заданном в качестве root разделе). В общем случае требует указания файла для загрузки:

chainloader /путь/имя_файла

Для (загрузчика Windows) можно использовать:

chainloader +1
boot

root

При использовании без параметров сообщает, какой раздел сейчас используется в качестве корневого и тип файловой системы на этом разделе, также команда может быть использована для задания другого root-раздела. Раздел задается в «grub device» — формате »(hd*,*)«. например:

root (hd0,5)

После задания раздела команда сообщит новый root-раздел и тип файловой системы. Примечание: «root hd(*,*)» не всегда корректно срабатывает. более предпочтительным вариантом является «set root» (см. ниже)

set

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

set переменная=значение

Наиболее необходимое ее применение — для задания root-раздела, например:

set root=(hd0,5)

Также с ее помощью можно, например, «на лету» изменить цвет текста в меню и консоли, что позволяет опробовать цветовую схему перед установкой ее в качестве основной. Для этого изменяем переменные «color_normal» — для обычного пункта (и текста в консоли) и «color_highlight» для выделенного пункта соответственно. Например, попробуем такой вариант:

set color_normal=magenta/green
set color_highlight=light-blue/black

search

Служит для поиска раздела по UUID, метке или заданному файлу. Имеет следующие ключи:

  • -u (или –fs-uuid) — поиск раздела по UUID
  • -l (или –label) — поиск по метке раздела
  • -f (или –file) — поиск по указанному файлу
  • -n (или –no-floppy) — не проверять флоппи-дисковод (чтоб не трещал)
  • -s (или –set) — установить найденный раздел в качестве значения заданной переменной.

help

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

help r

Выведет справку по всем командам, начинающимся на «r».

help search

Отобразит справку по команде «search»

background_image

Позволяет «на лету» изменить фоновое изображение. Используется в формате:

background_image /путь/имя_файла

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

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

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

terminal_output.console

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

Метод 1 — Загрузка через DOS

Вам понадобится носитель (например дискета) с Дисковой Операционной Системой (ДОС) – Скопируйте файл C:\Grub4dos\GRUB.EXE на него. Загрузитесь с этого носителя, и дождавшись приглашения в командной строке введите GRUB.EXE эти действия загрузят grub4dos. Grub4dos может быть загружен автоматически путём редактирования конфигурационного файла ДОС CONFIG.SYS. Чтобы добавить опцию загрузки в меню загрузки для Windows 98 (SE), редактируйте файл config.sys (в текстовом редакторе, например в блокноте) и добавте следующие пункты (как редактировать config.sys смотрим Здесь — изменения помечены красным)

menuitem=CD, Start computer with CD-ROM support.
menuitem=NOCD, Start computer without CD-ROM support.
menuitem=GRUB, Grub4dos Boot Loader.
menuitem=HELP, View the Help file.
menudefault=CD,30
menucolor=7,0

install=grub.exe

device=himem.sys /testmem:off
device=oakcdrom.sys /D:mscd001
device=btdosm.sys
device=flashpt.sys
device=btcdrom.sys /D:mscd001
device=aspi2dos.sys
device=aspi8dos.sys
device=aspi4dos.sys
device=aspi8u2.sys
device=aspicd.sys /D:mscd001

device=himem.sys /testmem:off

device=himem.sys /testmem:off

files=10
buffers=10
dos=high,umb
stacks=9,256
devicehigh=ramdrive.sys /E 2048
lastdrive=z

Файл config.sys можно найти в скачанном пакете Grub4dos. Autoexec.bat так же может быть использован для автоматического запуска Grub4dos.

Немного теории

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

Загрузчик может быть установлен в различные таблицы разделов диска. Сейчас самые используемые это GPT и MBR. Установка загрузчика Grub немного отличается для каждой из этих таблиц, учитывая их особенности. Подробнее об отличиях MBR vs GPT можно почитать в отдельной статье. Тут же я скажу, что GPT — более новая и функциональная таблица разделов, MBR — уже устаревшая, но до сих пор часто используемая.

В MBR вариантов немного, Grub записывается в область MBR на диске. Размер сектора MBR занимает первых 512 байт и этого вполне достаточно для того, чтобы установить туда загрузчик.

GPT предоставляет более широкие возможности. Во-первых, для совместимости в GPT эмулируется сектор MBR, и мы можем установить GRUB туда, но такой вариант очень ненадежный и не рекомендуемый. Во-вторых, теперь появилась возможность устанавливать Grub на раздел диска. Мы просто создаем раздел на диске размером 1 Мб и записываем туда то, что раньше записывалось в MBR, это делает установку загрузчика более надежной и защищенной от сбоев.

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

Для установки Grub будет использоваться команда grub-install, во всех случаях. Давайте кратко рассмотрим ее синтаксис и параметры. Синтаксис:

$ grub-install опции диск

Параметров здесь достаточно много, но нам будут нужны только некоторые:

  • —compress — сжать файлы загрузчика;
  • —install-modules=модули — установить только эти модули;
  • —modules — записать эти модули в MBR;
  • —boot-directory — использовать другой каталог для файлов Grub;
  • —bootloader-id — имя загрузчика в меню EFI;
  • —core-compress — сжимать образ, загружаемый в MBR;
  • —efi-directory — использовать системный раздел EFI;
  • —force — установить несмотря на ошибки;
  • —recheck — удалить существующую карту устройств, помогает если возникают ошибки;
  • —removable — установка grub на флешку (только EFI);

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

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: