Как изменить порядок загрузки операционных систем (linux, windows) в grub

Особенности подключения двух видеоадаптеров

Главные конкуренты, выпускающие графические чипы, представили эту технологию почти одновременно. У Nvidia на видеокартах GeForce она называется SLI, у AMD на Radeon — Crossfire. Две спаренных видеоадаптера, даже разные, можно подключить к 1 монитору или к 2 мониторам — зависит от того, как вам будет удобнее пользоваться.

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

Это позволяет наслаждаться геймингом в разрешении 4К, использовать системы виртуальной реальности или решать задачи другого плана — запускать мощные программы для 3D моделирования или рендерить видео, параллельно используя другой софт.

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

  • Блок питания, мощности которого достаточно, чтобы запитать оба графических ускорителя. Стокового БП на 300 Ватт явно недостаточно: лучше брать с запасом вплоть до 1000 Ватт. На БП должно быть достаточно коннекторов, чтобы запитать обе графических платы.
  • Поддержка технологии материнской платой. Без SLI или Crossfire, даже если на материнке есть 2 разъема PCI‑E, необходимых для монтажа, в связке эти детали попросту не будут работать.
  • Графический чип одного бренда — или AMD, или Nvidia. Чипы разных марок в связке работать не будут из-за различия в реализации этих технологий. Желательно использовать одинаковую модель GPU — например, пару GTX 1080 Ti. Можно брать видеокарты разных производителей, это не критично. Технология будет работать, если одна деталь стоковая, а вторая разогнана уже на заводе.
  • Поддержка SLI или Crossfire графическим адаптером и наличие моста для подключения деталей в связке.

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

Combining the use of UUIDs and basic scripting

If you like the idea of using UUIDs to avoid unreliable BIOS mappings or are struggling with GRUB’s syntax, here is an example boot menu item that uses UUIDs and a small script to direct GRUB to the proper disk partitions for your system. All you need to do is replace the UUIDs in the sample with the correct UUIDs for your system. The example applies to a system with a boot and root partition. You will obviously need to modify the GRUB configuration if you have additional partitions:

menuentry "Arch Linux 64" {
    # Set the UUIDs for your boot and root partition respectively
    set the_boot_uuid=ece0448f-bb08-486d-9864-ac3271bd8d07
    set the_root_uuid=c55da16f-e2af-4603-9e0b-03f5f565ec4a

    # (Note: This may be the same as your boot partition)

    # Get the boot/root devices and set them in the root and grub_boot variables
    search --fs-uuid $the_root_uuid --set=root
    search --fs-uuid $the_boot_uuid --set=grub_boot

    # Check to see if boot and root are equal.
    # If they are, then append /boot to $grub_boot (Since $grub_boot is actually the root partition)
    if  ; then
        set grub_boot=($grub_boot)/boot
    else
        set grub_boot=($grub_boot)
    fi

    # $grub_boot now points to the correct location, so the following will properly find the kernel and initrd
    linux $grub_boot/vmlinuz-linux root=/dev/disk/by-uuid/$the_root_uuid ro
    initrd $grub_boot/initramfs-linux.img
}

FAQ

Двойная загрузка

Q : Will GRUB allow me to hibernate Linux and activate another ?operating_systems (such as Windows XP) that I hibernated earlier, i.e. a ?DualHibernate rather than a DualBoot?
A : Nothing will prevent you to hibernating (GRUB isn’t aware that your host is suspended). Howerever, make sure you don’t mount the same partition (RW) under any two suspended OS !
Q : Is there a way to install GRUB in the MasterBootRecord from DOS or Windows XP, i.e. a utility similar to rawrite.exe or fdisk.exe that write a GRUB MBR? What I want here is to install Linux without having a bootable floppy.

A : There is/was a win32 Version of GRUB, i used it to install linux from Windows 2000 , but i am not sure what exactly the source is (google for grubwin32) Just unzip grubwin32 to c:\ then run c:\boot\grub\w32grub This would patch the necessary files(under XP, not linux). Then add :
c:\boot\stage1=»GRUB»
to c:\boot.ini And you now have a grub boot loader on your XP system.

Как в загрузчике Grub переместить Windows 10 в начало списка

Для этого в терминале выполняем три приведенных на скриншоте команды:

sudo add-apt-repository ppa:danielrichter2007/grub-customizer sudo apt-get update sudo apt-get install grub-customizer

Первая команда подключает репозиторий, вторая обновляет его,

третья команда производит установку приложения.

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

Рабочее окно приложения представлено списком загрузочных записей, найдите в нем запись Windows 10,

кликните по ней правой кнопкой мыши и выберите в меню «Переместить вверх».

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

Можете перезагружаться и смотреть, что получилось.

А получится то, что пункт выбора загрузки Windows 10 окажется в вверху списка. Кстати, вместо того чтобы перемещать загрузочную запись пошагово, можете переключиться в Grub Customizer на вкладку «Основные настройки».

И выбрать там пункт загрузки по умолчанию.

Как сделать загрузку Windows первой в Grub

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

Это не вызовет проблем у пользователей, которые пользуются Linux как основной системой, для них это даже более предпочтительный вариант. Но если вы еще новичок, и хотите использовать Linux второй системой, а Windows пока еще основной, до тех пор, пока не освоитесь, то наверное захотите чтобы первой была Windows. В этой статье мы рассмотрим как сделать загрузку Windows первой в Grub. Рассмотрим два способа: с помощью программы Grub Customizer и вручную, через файлы конфигурации загрузчика Grub.

Grub Customizer

Grub Customizer — это программа, позволяющая настраивать различные параметры загрузчика Grub. В том числе и положение и очередность пунктов загрузки. Установить программу можно из официальных репозиториев. Например, в Ubuntu нужно использовать ppa:

 sudo add-apt-repository ppa:danielrichter2007/grub-customizer$ sudo apt-get update

$ sudo apt-get install grub-customizer

Для запуска программы откройте терминал (Ctrl+Alt+T) и наберите grub-customizer:

grub-customizer

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

gksu grub-customizer

Также программу можно запустить из главного меню. Главное окно выглядит вот так:

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

В меню выберите пункт Переместить вверх. Это действие нужно будет повторить несколько раз, пока Windows не будет первой в списке. Теперь будет выполняться загрузка windows по умолчанию grub.

Если потом вы захотите опустить Windows обратно вниз, есть обратное действие — Переместить вниз.

Для сохранения настроек просто нажмите кнопку Сохранить. Готово. Можете перезагружать компьютер и смотреть что получилось.

Но я хочу затронуть еще пару настроек, которые могут быть полезны. Вместо того чтобы делать загрузку Windows первой в Grub, можно изменить пункт запускаемый по умолчанию. Перейдите на вкладку Основные настройки:

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

Кроме того, можно загружать по умолчанию последнюю загруженную ОС, для этого есть галочка:

Не забудьте снова нажать кнопку сохранить.

Изменение порядка загрузки Grub через терминал

Как я и обещал, теперь рассмотрим как сделать загрузку WIndows первой в Grub с помощью конфигурационных файлов. Конфигурация Grub находится в файле /boot/grub/grub.cfg.

gksu gedit /boot/grub/grub.cfg

Как правило, строки меню выглядят вот так:

menuentry имя_пункта —опции {…

}

Например пункт Windows:

menuentry ‘Windows 8 (loader) (on /dev/sda1)’ —class windows —class os $menuentry_id_option ‘osprober-chain-FC324E26324DE66C’ {

….

}

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

Аналогично тому как мы настраивали пункт, загружаемый по умолчанию в Grub Customizer, это можно сделать и в терминале.

Откройте файл /etc/default/grub.

gksu gedit /etc/default/grub

Здесь нас интересует строчка:

GRUB_DEFAULT=0

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

GRUB_DEFAULT=»Windows 8 (loader) (on /dev/sda1)»

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

sudo grep menuentry /boot/grub/grub.cfg

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

GRUB_SAVEDEFAULT=true

А в GRUB_DEFAULT укажите saved:

GRUB_DEFAULT=saved

grub-update

Не во всех системах работает такой вариант, поэтому можно использовать другую команду:

grub2-mkconfig -o /boot/grub/grub.cfg

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

(13 4,69 из 5) Загрузка…

Настройка параметров ядра

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

Параметр Назначение
acpi=off Отключает системы Advanced Configuration и Power Interface (управление питанием)
init=/bin/bash Указывает ядру запускать только интерпретатор bash — обычно используется для восстановления системы после сбоев
root=/dev/foo Указывает ядру, что корневым устройством является /dev/foo
single Задает режим однопользовательской загрузки (только для Linux. Для систем Solaris используется ключ -s — предназначен для работы со стандартом OpenBoot

Важно заметить, что конфигурация, задаваемая при помощи интерфейса командной строки GRUB не сохраняется. Для задания постоянной конфигурации загрузки необходимо отредактировать файл grub.conf (grub.cfg для GRUB2) или menu.lst

Включение устройства

В момент запуска компьютера, в первую очередь начинает запускаться непосредственно сам BIOS. В этот момент происходит считывание данных, хранящихся в MBR первого диска. Спустя несколько секунд, содержимое «идёт» к оперативной памяти, где происходит проверка на наличие в последних байтах шестнадцатеричных кодов 55 АА. Такая проверка заключается в необходимости идентифицировать носители для их последующей загрузки. Небольшая программка, хранящаяся в MBR, необходима при совпадении представленных кодов. Первая программа «цепляет» следующую, расположенную в загрузочном секторе активного раздела, чтобы впоследствии активировать её, и, как следствие, запустить ОС Windows.

В случае наличия не одного жёсткого диска, пользователь может настроить в BIOS порядок, согласно которому будет производиться запуск конкретных жёстких дисков в момент загрузки системы. Благодаря этой особенности, новые ПК имеют возможность загружать систему как с внешнего диска, так и с USB-накопителя. Естественно, изменив порядок загрузки в BIOS, юзер может загружать систему посредством CD и DVD-дисков.

С помощью BIOS вы можете отрегулировать порядок загрузки носителей

Чтобы в будущем не приходилось разбираться с загрузчиками и думать о том, каким образом должна осуществляться настройка GRUB, пользователь должен знать, как установить две операционные системы от разных производителей таким образом, чтобы они не конфликтовали между собой. Как показывает практика, разумнее всего установить изначально загрузчик системы Linux, чтобы впоследствии иметь возможность выбора относительно запускаемой системы.

Однако, если на устройстве стоит одна из последних версий ОС от компании Microsoft (позднее 9х/ME), то в загрузчике системы можно сделать так, чтобы он самостоятельно «беспокоился» о GRUB. Огромным преимуществом такой возможности является отсутствие необходимости лишний раз разбираться с особенностями MBR. Правда, далеко не каждый современный юзер сможет самостоятельно произвести такую манипуляцию, так как процесс этот достаточно сложный. Всё придётся делать вручную.

Среди прочих способов, настроить нормальную работоспособность двух систем, можно прибегнув к дополнительной установке GRUB. Загрузчик необходимо расположить непосредственно в загрузочном секторе главного раздела и впоследствии отметить его в качестве активного. Этот метод также исключает необходимость использовать MBR, однако он может сработать только с основными разделами и файловыми системами, не влияющими на загрузочный сектор раздела.

Как работает загрузчик на ПК

В тот момент, когда мы нажимаем кнопку питания ПК, первое, что появляется на экране, — это данные, относящиеся к аппаратному обеспечению оборудования, например, процессору, памяти или подключенным устройствам хранения. Программное обеспечение, отвечающее за обработку этой информации, — это вышеупомянутая прошивка (BIOS / UEFI на ПК), находящаяся в ПЗУ устройства. материнская плата.

Этот начальный процесс называется POST, что означает Самотестирование при включении и хотя у нас есть отдельная статья об этом, короче говоря, она состоит из серии процессов и системных проверок, которые запускаются на ПК при каждом его включении или перезапуске. И, как вы уже догадались, загрузчик — это то, что загружается сразу после POST; Система проверяет последовательность загрузки, настроенную в BIOS, и начинает поиск первого из выбранных устройств, у которых есть загрузчик для загрузки данных в память.

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

Где именно хранится?

Загрузчик обычно находится в MBR (Master Boot Record) жесткого диска или SSD, где также хранится таблица разделов носителя данных, однако это не всегда так, и, как правило, мы можем найти эти два варианта:

  • В первом блоке загрузочного носителя (также известном как «нулевая дорожка диска»).
  • На определенном разделе загрузочного носителя.

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

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

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

Его обязанности?

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

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

  • Распознавание и загрузка других загрузчиков (многоступенчатая).
  • Выполнение прикладных программ.
  • Исправьте или добавьте функции, которые неправильны в прошивке.
  • Альтернативная загрузка прошивки.

Какие есть загрузчики?

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

Имя Описание
Имя Bootmgr Описание Это загрузчик Microsoft от Vista / Server 2008.
Имя NT-загрузчика (NTLDR) Описание Это загрузчик, который Microsoft использовала до появления Vista (то есть до Windows XP / Server 2003).
Имя Barebox Описание Это менеджер загрузки, встроенный в сканеры, принтеры, камеры и т. Д.
Имя Boot.efi Описание Это загрузчик, используемый устройствами Mac с 2006 года.
Имя BootX Описание Старый загрузчик, используемый Mac до 2006 года.
Имя GRUB (Grand Unified Bootloader) Описание Это загрузчик с открытым исходным кодом, известный как тот, который обычно используется в системах Linux.
Имя загрузчика ядра ARM Описание Загрузчик, используемый в микроконтроллерах (как в смартфонах)
Имя OpenBIOS Описание Это бесплатный и портативный загрузчик под лицензией GNU-GPL.

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

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

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

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

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

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

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

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

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

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

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

При включении компьютера управление процессором получает BIOS, и если он настроен на загрузку (boot) с винчестера, то он подгружает в оперативную память компьютера первый сектор диска (MBR) и передает управление ему. Если у вас несколько жестких дисков, то каждый из них содержит свою MBR. В этом случае можно или менять порядок загрузки дисков в BIOS, или же прописать все операционные системы с разных дисков в один PBR загрузчик, об этом ниже.

Сразу оговоримся, что если у BIOS у вас включен режим загрузки UEFI, то структура разделов диска у вас должна быть не MBR, а GPT. GPT имеет не только другую структуру разделов, но и другую структуру загрузочной области. Там в первый сектор записывается «заглушка» для BIOS (Protective MBR), которая служит для того, чтобы старый Legacy BIOS мог загрузиться с GPT диска в режиме совместимости, если ОС была установлена на GPT (часто в BIOS его называют CSM – Compatibility Support Module). Однако, вы никогда не сможете загрузить ОС с MBR диска, если в BIOS выставлена загрузка в режиме UEFI.

При загрузке операционной системы, сначала считывается первый сектор с устройства загрузки, представляющий собой главную загрузочную запись (Master Boot Record — MBR). Стандартно, в качестве MBR выступает первый сектор загрузочного диска. MBR содержит список разделов, признак активного раздела (раздела, с которого будет выполняться загрузка ОС), некоторые служебные данные, а также программный код для считывания в память загрузочного сектора активного раздела (Partition Boot Record — PBR) и передачи ему управления.

Размер сектора на жестком диске — 512 байт. В секторе MBR хранятся данные, которые должны заканчиваться специальной сигнатурой. Этим словом называется специальная, строго установленная, последовательность из 2 байт с шестнадцатеричными значениями 55h AAh, которая записывается в последние 2 байта сектора и соответственно имеет смещение от начала сектора 1FEh. Если хотя бы один из двух последних байтов отличается по значению, считается, что первый сектор не является MBR и не содержит осмысленной информации. Если компьютер при старте, прочитав первый сектор, не обнаружит правильной сигнатуры, он не будет передавать управление располагающемуся там коду, даже если он правильный, а выдаст сообщение о том, что главная загрузочная запись не найдена.

Общая структура MBR может быть представлена следующей таблицей:

Смещение Длина Описание

000h      446  Код загрузчика

1BEh       64  Таблица разделов

                16  Раздел 1

1CEh       16  Раздел 2

1DEh       16  Раздел 3

1EEh       16  Раздел 4

1FEh        2  Сигнатура (55h AAh)

Длина указана в байтах.

Как видно, MBR может содержать информацию максимум о 4 разделах. Каждый 16-байтовый блок, содержащий информацию о разделах, в своем начале содержит признак активности раздела — т.е. признак того, что операционную систему следует загружать именно из этого раздела — может иметь значения 80h (раздел активен) и 00h (раздел не активен). Количество активных разделов должно быть не более одного.

Шестнадцатеричный однобайтовый код далее указывает на тип (ID) раздела. Например, 07h – раздел типа NTFS, 0Bh – FAT32, 17h – скрытый NTFS раздел, 27h – системный скрытый NTFS раздел для восстановления системы.

Использование фоновых рисунков

GRUB 2 может использовать изображения в форматах PNG, JPG/JPEG и TGA как фон. Изображения должны отвечать следующим требованиям:

  1. JPG/JPEG должны быть 8-битными (256 цветов).

  2. Цветовая схема изображения должна быть RGB и не индексированной.

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

sudo apt-get install grub2-splashimages

Установленные изображения можно найти в каталоге /usr/share/images/grub.

Приоритет загрузки фона

Если GRUB находит более одного подходящего фонового рисунка, то выбор изображения происходит в следующей последовательности:

  1. Переменная установленная в /etc/default/grub

  2. Первое изображение, найденное в /boot/grub

    • изображения сортируются по расширению в следующем порядке: jpg, JPG, jpeg, JPEG, png, PNG, tga, TGA

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

  3. Обои, указанные в /usr/share/desktop-base/grub_backgorund.sh (если установлен )

  4. Переменная из /etc/05_debian_theme

    по умолчанию значение равно /usr/share/images/desktop-base/desktop-grub.png

  5. Тема по умолчанию (без фона): цвета указанные в /etc/grub.d/05_debian_theme

Не все вышеперечисленные опции доступны в GRUB 1.98

GRUB 1.99 и новее

Этот раздел описывает установку фонового рисунка для GRUB2, входящего в состав Ubuntu 11.04 и новее.

  1. Откройте /etc/default/grub при помощи текстового редактора

    sudo gedit etcdefaultgrub
  2. Добавьте следующую строчку:

    GRUB_BACKGROUND=pathfilename

    где /path/filename это путь к вашему изображению

  3. Обновите настройки GRUB2:

    sudo update-grub

GRUB 1.98

Эта часть инструкции подходит только для Ubuntu 10.04.

Выбор фонового рисунка GRUB2 происходит в следующем порядке:

  1. Изображение, указанное в /usr/share/desktop-base/grub_background.sh. По умолчанию этого скрипта не существует.

  2. Картинка, указанная в переменной в /etc/grub.d/05_debian_theme.

    По умолчанию в указан файл /usr/share/images/desktop-base/moreblue-orbit-grub.png. Это изображение содержится в пакете , который изначально не установлен.

Чтобы установить собственное изображение откройте файл /etc/grub.d/05_debian_theme от имени root:

gksu gedit etcgrub.d05_debian_theme

Найдите строку начинающуюся с . Допишите в нее путь к своему файлу с изображением. Обновите GRUB2

sudo update-grub
Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

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