Настройка UEFI Dual Boot системы, приправленной rEFInd
КДПВ. Бут-менеджер rEFInd с темой оформления Regular.
На сегодняшний день практически все уже слышали про технологию UEFI. Говорить о том, что это такое и зачем оно нужно, я не собираюсь. Сегодня я бы хотел описать простейший сценарий установки Dual Boot системы с полной поддержкой UEFI, а также рассмотреть отдельно установку и настройку бут-менеджера rEFInd. Возможно вы уже видели подобные мануалы и гайды, но я постараюсь донести весьма доходчиво суть того, что мы будем делать и зачем. В других мануалах вы лишь смотрите за «магией» картежника и пытаетесь её повторить, делая, зачастую, элементарные ошибки. Кому эта тема интересна — прошу под кат.
В целом UEFI призвана наоборот упросить процесс загрузки, а не усложнить его. К примеру, посредством этой технологии компьютер можно загружать ОС и вовсе без прослойки в лице GRUB / LILO / etc, загрузчиком может выступать сама UEFI. Однако этот метод имеет свои недостатки, например, вам придется повозиться после обновления ядра, можно, разумеется, написать скрипт, но в целом этим и занимается grub2-efi
Итак, давайте сформируем примерный список наших действий, некоторым хватит прочесть его и уже взяться за дело. Собственно тут будет всего четыре пункта. Пятый и шестой пункт опционален.
- Запись образа Windows 10 (8/8.1) на диск/флешку.
- Установка Windows 10 на часть диска.
- Запись образа Linux-дистрибутива с поддержкой EFI (большинство) на диск/флешку.
- Установка Linux-дистрибутива на оставшуюся часть диска.
- Установка и конфигурация rEFInd.
- Удаление GRUB и полный переход на rEFInd.
На первый взгляд всё очень просто, всего 4 базовых пункта, но тут есть огромное количество нюансов.
Ошибки делают на всех этапах: входят в режим Legacy-bios, указывают не тот загрузочный раздел, просто не понимают, что делают и т.д. В конечном итоге всё это приводит к массе боли и страданиям на форумах, в чатах, и т.д. На деле же всё нереально просто, нужно просто понимать, что ты делаешь на каждом этапе и проверять себя.
Сначала немного теории
UEFI видит только один специальный ESP-раздел, обычно он имеет размер 100-200 мегабайт и форматирован в FAT32 (бывает в FAT16), в нем содержаться папки с названиями а-ля Boot, Microsoft, Fedora, Ubuntu и т.д. Если вы перепробовали достаточное количество ОС и никогда не форматировали этот раздел, то там могло набраться приличное количество папок. К примеру, у меня было 2 живых оси и лежало около 6 папок.
P.S. CodeRush подсказал, что поддерживаются все FS, если на них есть соответствующие драйверы:
В самих папках лежат исполняемые файлы .efi которые и выступают в роли загрузчиков ОС. В папке debian вы наверняка обнаружите файл grubx64.efi , а в папке Microsoft – bootmgr.efi .
Большинство Linux-дистрибутивов монтируют ESP-раздел к /boot/efi , то есть загрузчик Debian будет лежать примерно на таком пути: /boot/efi/EFI/debian/grubx64.efi
C директорией разобрались, а что дальше?
А дальше нужно понимать, что существует ещё порядок загрузки, которым можно руководить с помощью утилиты efibootmgr , если у вас её нет, то можете скачать через свой пакетный менеджер, во всех стандартных репозиториях она присутствует. Для начала можете просто ввести эту команду и увидеть список порядка загрузки, а также все UEFI-записи. Если хотите разобраться с утилитой, то курите ман и читайте интернеты, в целом она весьма простая. Злой Windows как раз-таки тут и затирает наш GRUB и ставит Windows Boot Manager первым приоритетом, поэтому его приходится восстанавливать. Скажу лишь как редактировать записи:
efibootmgr -b <номер записи> -<модификатор редактирования> <параметр модификатора>
К примеру, efibootmgr -b 0 -B означает удалить запись 0.
P.S. CodeRush и другие комментаторы заметили, что efibootmgr является весьма опасной утилитой и отмечают, что гораздо безопасней пользовать EFI Shell.
По факту GRUB можно вообще не трогать, потому что он наверняка так и лежит в папке EFI/<название дистрибутива> , нужно лишь восстановить запись и выставить первый приоритет, но зачем что-то копать если можно chroot’нуться и ввести grub-install ? В большинстве случаев он сделает всё сам.
Кстати, стоит не забывать, что базовым функционалом efibootmgr обладает и сам, собственно, UEFI, он умеет читать эти записи и выстраивать приоритеты. Но сам просматривать ESP-разделы и добавлять новые записи он не умеет, эти обязанности возложены на EFI Shell и операционные системы.
И на последок: Все ваши действия в efibootmgr записываются в NVRAM! В большинстве случае UEFI умеет восстанавливать битый NVRAM каждый раз проверяя его и перезаписывая, в случая неполадок. Однако некоторые недобросовестные производители выпускают сырые прошивки и можно получить самый настоящий кирпич. К примеру ноутбуки с UEFI на базе Phoenix SCT окирпичиваются! Так что перед тем как продолжить читать, удостоверьтесь, что ваша модель материнской карты или ноутбука, устойчива к таким экспериментам.
P.S. Уже после написания большей части статьи я вспомнил про Secure Boot. Обычно UEFI тянет его за собой, но в большинстве случаев его можно весьма просто отключить в настройках UEFI. Многие Linux-дистрибутивы поддерживают его, но я всё же рекомендую его отключить, так как он может потянуть за собой массу проблем.
Базовый экскурс в теорию закончен.
Теперь можно перейти к практике
Дисклеймер: Сразу оговорю, что я предпочитаю стерильные условия и сам делаю полную переустановку с помощью проверенных лично мной утилит. Если вы будете использовать другие утилиты, то, пожалуйста, не пишите почему у вас что-то не получается на том или ином этапе. Мой вариант проверен сотнями переустановок друзьям и коллегам.
Первым делом нам нужно записать Windows
Потому что если поставить Windows второй, то она затрет загрузчик. Восстановить? Без проблем. Но зачем возня, если можно сразу сделать всё по уму? Впрочем я всё равно обговорю нюансы восстановления чуть позже в конце статьи.
В отличии от Linux, Windows записать гораздо проще, на мой взгляд. Первый способ до возможно многим знаком, нужно просто зайти в cmd.exe от имени администратора и ввести эти команды. Не сложно заметить, то тут нет абсолютно никакой магии. Мы просто форматируем флешку в FAT32:
diskpart
list disk
select disk <номер флешки>
clean
create partition primary
select partition 1
active
format fs fat32 quick
assign
exit
После этого нужно просто открыть ISO-файл архиватором и перекинуть содержимое на чистую флешку. Всё, UEFI-флешка готова. На Linux можно сделать всё аналогичным образом, просто форматируем в FAT32 и копируем содержимое.
Полученную флешка должна отлично загружаться любым ПК с поддержкой UEFI.
Однако я предпочитаю второй способ с использованием утилиты Rufus. Он меня никогда не подводил. Однако это Windows-only способ. На Linux-системах использование ddresque для создания загрузочной флешки Windows НЕ РАБОТАЕТ. Так что пробуйте другие утилиты, если первый способ с простым форматирование не помог.
Всё что вам будет нужно: выбрать вашу флешку, выставить параметр «Схема раздела и тип системного интерфейса» на «GPT для компьютеров с UEFI», и нажать старт. Остальные параметры трогать не нужно. Лучше использовать флешки помельче (на 8-16 гигабайт).
Наверняка один из способов должен был прокатить, лично я ни разу с проблемами на этом этапе не встречался, главное чтобы компьютер поддерживал UEFI.
Поэтому перейдем к этапу установки
После загрузки в UEFI-режиме делаем всё по стандартной схеме, но на этапе выбора типа установки выбираем «экспертную», то есть мы разметим раздел сами. Размечать рекомендую аккуратно, особенно если дисков много. Наконец, выбрав диск, удалите все существующие разделы. Создайте один раздел с нужным вам размером, к примеру, 150 гигабайт. (Если вы предпочитаете создавать два и более разделов для ОС и файлов — без проблем, создавайте). Выберете этот раздел кликом мышки и нажмите «Далее». И если вы всё сделали верно, то Windows попросит вас создать дополнительные. Обязательно отвечайте «Да». Система создаст три раздела. Два своих для системных нужд и один тот самый нужный нам EFI-раздел. У меня он по нумерации всегда второй, всего получится 4 раздела, включая пользовательский NTFS. Если установщик не предложил создать разделы или создал всего один, то значит вы загрузились в Legacy-режиме и нужно перезаписывать флешку, что-то пошло не так. К сожалению редактор разделов Windows-установщика крайне слаб по возможностям, поэтому пробовать размечать разделы под будущий Linux тут смысла нет, оставляем это место попросту свободным. Дальше устанавливаем всё в штатном режиме.
Кстати, один из признаков правильной установки Windows в UEFI-режиме, появление логотипа производителя материнской карты / ноутбука / планшета при загрузке. Во многих UEFI (к примеру от ASUS и ASRock) есть отдельная настройка для этого. Так что если логотипа нет, но всё остальное прошло как по маслу, то ничего страшного в этом нет.
Записываем Linux?
Ага. После входа в Windows рекомендую сразу скачать образ выбранного вами дистрибутива и записать его аналогичным образом через Rufus. Правда в случае с Linux-дистрибутивами Rufus может спросить массу вопросов, к примеру он может попросить подгрузить загрузчик syslinux с интернета или выбрать режим записи образа: ISO или DD. На все вопросы отвечаем «Да.», то есть да, скачиваем последнюю версию syslinux и записываем в режиме ISO. Проверено на Ubuntu (и её вариациях Server, Mate, GNOME), Fedora, RHEL7, Debian и других.
До Dual Boot буквально один шаг
В отличии от Windows большинство дистрибутивов имеют отличную индикацию UEFI-режима. К примеру Debian в своем установщике черным по белому пишет, что система запущенна в UEFI-mode. Другие дистрибутивы проявляют это странным grub-загрузчиком, который выглядит «как-то не так».
Думаю если вы собрались ставить Linux, то вы наверняка сами знаете как ставить ваш любимый дистрибутив, поэтому я не буду заострять внимание на подробностях установки отдельно взятого дистрибутива. Потому что этот этап до боли прост. Если вы уже действительно прогрузились в UEFI-режиме и установили Windows как надо, то Dual Boot уже практически в кармане.
Итак всё что вам потребуется сделать при установке Linux:
Выбрать раздел /dev/sda2 (в вашем случае это может быть другой раздел) и указать точку монтирования — /boot/efi . Всё. Нет, правда, всё. Разумеется не забудьте разметить ext4 / Btrfs / ReiserFS / XFS / JFS раздел, примонтировать его в корень /. Кому нужен swap (если нужен) создайте и его. Дальше установщик вашего дистрибутива сделает всё сам, установит в директорию EFI/<название дистрибутива> свой GRUB и найдет запись Windows ( EFI/microsoft ).
Наводим красоту, ставим rEFInd
К сожалению счастью я болею сильной формой перфекционизма. И простой GRUB2 меня не устраивал, больно он страшный и не красивый. Беглый гуглинг рассказал мне о BURG, «красивом» форке GRUB, но он был заброшен и на данный момент скорее мертв, чем жив. К счастью для UEFI-машин есть отличная альтернатива — rEFInd. rEFInd является форком, заброшенного ныне rEFIt, а также его логическим продолжением. Первый создавался в первую очередь для Mac’ов и работы рядом с Boot Camp, нынешний форк такой узкой специализации не имеет и подходит практически для любых конфигураций.
Помимо того, что можно выбирать между уже установленными системами на ПК, приятным плюсом можно выделить автоматическое обнаружение загрузочных флешек и дисков. На КПДВ это можно увидеть. У меня имеется загрузочная флешка с Debian (не установщиком, а полноценной ОС) и можно увидеть удобную индикацию того, что это именно флешка, а не что-то другое. Если у вас имеется несколько ядер, то их список можно увидеть по нажатию клавиши F2. Помимо этого в файле /boot/refind_linux.conf можно задать несколько вариантов с разными параметрами ядра (например первый — стандартный для загрузки GUI, второй — безопасный режим без видеодрайвера и т.д, можно сделать дюжину вариантов, по умолчанию всего три). Также в папку EFI/tools можно накидать различных .efi-бинарников, к примеру UEFI Shell или memtest86+. rEFInd их автоматически подхватит и покажет в нижнем ряду как утилиты.


Хотите также?
Процесс установки из под Linux необычайно прост. Все способы описаны на официальном сайте, устанавливать можно практически из любой ОС. Для начала посетите эту страничку и скачайте .deb- или .rpm-пакет.
Сделайте бэкап EFI-директории:
cp -r /boot/efi/EFI /boot/EFI.bkp
После загрузки пакета, выполните:
cd Downloads или cd Загрузки
И установите пакет:
sudo dpkg -i <имя пакета>.deb или sudo dnf install <имя пакета>.rpm
В моем случае dpkg не мог иногда подтянуть зависимости, если у вас возникнут такие же трудности, то установите gdebi ( sudo apt-get install gdebi ) и выполните sudo gdebi <имя пакета>.deb .
Если у вас RHEL или CentOS, то используйте yum вместо dnf .
В логах установки пакета можно отследить лог установки rEFInd, в котором возможно будут ошибки их надо сразу отследить. Однако по моему опыту ошибок не возникает, если всё сделать правильно. Проверить результат работы установщика rEFInd можно, воспользовавшись утилитой efibootmgr , там первым приоритетом должна должен быть именно rEFInd Boot Manager.
Установить rEFInd повторно, если пакет уже установлен, можно с помощью команды:
refind-install
Установку rEFInd первым приоритетом можно произвести в ручную, с помощью команды:
refind-mkdefault
Всё очень страшно и откуда у меня столько ОС?
Да, всё страшно, пока. На самом деле ОС у вас всего две. Просто rEFInd собрал все .efi-бинарники и ещё отобразил ОС с возможностью загрузки напрямую. Для исправления этого недоразумения мы удалим лишнее, напишем свой конфиг и поставим красивую тему на rEFInd.
Первым делом зайдите в Linux, выбрав один из рабочих пунктов загрузки. В меню должен быть пункт для загрузки БЕЗ использования grubx64.efi! В разделе /boot проще работать из под администратора (потому у команду cd не хватает привелегий, а sudo она не работает), так что su и вводим пароль root’а.
Этот пункт не зря опциональный, потому что если у вас недостаточно опыта, то можно очень просто что-то сломать и не заметить. Рекомендую подготовить флешку с рабочим LiveCD, чтобы проводить восстановление, в случае неожиданностей.
Наша первая задача — удалить лишние директивы загрузки, их запросто может быть штук 6, а системы всего две.
Заходим в директорию:
cd /boot/efi/EFI && ls
Вероятно тут будет пять папок:
BOOT, microsoft, <ваш дистрибутив>, refind и tools.
Если будет что-то лишнее — смело удаляйте.
Способ 1 (через очищение, опаснее):
Убедившись что вы загрузились через rEFInd (!) и НЕ использовали для этого GRUB можете смело удалить папку вашего дистрибутива. Перезагрузитесь и проверьте, можете ли вы загрузиться в ваш Linux. Если можете, то вероятно в меню загрузки осталось 4 директивы: Windows, Linux и два странных пункта, которые приводят (скорее всего) к загрузке Linux. Можно было догадаться, что это .efi-бинарники из папки EFI/BOOT . Папку можно удалить полностью. НО! Убедитесь, что у вас есть бэкап. Перазагружаемся. Всё отлично?
Удаляем GRUB:
sudo apt-get remove grub2 grub2-efi grub grub-efi
Или:
sudo dnf remove grub2
Теперь можно ставить тему.
Способ 2 (через конфиг rEFInd, безопаснее):
Этот способ гораздо безопаснее, потому что удалять и что либо трогать мы не будем, мы добьемся резальтата правильной настройкой конфига. Сам конфиг лежит тут: /boot/efi/EFI/refind/refind.conf
Чтобы настроить свой набор директив загрузки нужно использовать два параметра scanfor и menuentry , после настройки должен получится примерно такой конфиг:
# Сканируем записи созданные ручкуами, флешки и оптически приводы
scanfor manual,external,optical
# Пункт для загрузки Linux
menuentry Linux <
loader /EFI/ubuntu/grubx64.efi
icon /EFI/refind/icons/os_linux.png
>
# Пункт для загрузки Windows 10
menuentry «Windows 10» <
loader \EFI\Microsoft\Boot\bootmgr.efi
icon /EFI/refind/icons/os_win.png
>
Разумеется это только часть конфига, другие параметры можно взять из примера
Мой конфиг на базе первого способа с комментариями
# Ожидание в секундах перед авто-выбором ОС
timeout 20
# Скринсервер через 300 секунд, если ничего не выбрали,
# но нажали любую клавишу и отменили автовыбор
screensaver 300
# Разрешение бут-менеджера
resolution 1280 1024
# Использовать графику при загрузке Linux. Этот параметр позволит загружать ОС с красивой Plymouth
# заставкой в разрешении указанном выше
use_graphics_for linux
scanfor internal,external,optical,netboot,biosexternal
# Подключение темы
include themes/refind-theme-regular/theme.conf
Отдельно про Plymouth можно почитать здесь.
Включение красивой темы
С этим всё просто, чуть выше последняя строчка конфига указывает на .conf-файл темы. Сами темы желательно класть в папку /boot/efi/EFI/refind/themes . По-умолчанию её нет, создайте через mkdir .
Заходим в директорию themes и просто пишем git clone https://github.com/munlik/refind-theme-regular.git . В конфиге прописываем строку include themes/refind-theme-regular/theme.conf
Другие темы можно посмотреть на оф. сайте.
Там же можно посмотреть подробные процессы установки, параметры для тонкой настройки конфига и многое другое.
Пожалуй на этом всё. Мы получили красивый бут-менеджер для выбора нужной ОС с полной поддержкой UEFI. Пункт с установкой rEFInd наиболее сложный, а поэтому опциональный, большинству хватит grub2-efi .
Опция BIOS Boot List Option
Опция Boot List Option — Выбор варианта загрузки определяем режим загрузки и меет два значения «Legacy» — (наследуемый вариант загрузки — режим совместимости) BIOS или «UEFI» (Unified Extensible Firmware Interface — интерфейс между операционной системой и микропрограммами) режим загрузки.
UEFI BIOS поддерживает два режима загрузки: режим загрузки Legacy («Наследие») BIOS и режим загрузки UEFI.
Некоторые устройства и операционные системы пока не поддерживают UEFI на основе BIOS и могут загружаться только с режиме загрузки — Legacy BIOS.
В зависимости от вашей ситуации, вы выбираете какой режим загрузки из UEFI BIOS вы хотите использовать: режим загрузки Наследия — Legacy BIOS или режим UEFI загрузки.
- Legacy ( CMS OS или CSM Boot, UEFI and Legacy OS, Legacy OpROM) – выберите режим загрузки Legacy BIOS, чтобы HBAs-адаптеры и некоторые экспресс — модули могли использовать опции ROMs — ПЗУ. При выборе режима загрузки Legacy BIOS, только загрузочные кандидаты поддерживающие режим загрузки Legacy BIOS будут перечислены в списке «Приоритет — Параметры загрузки». НЕ забываем при выборе данной опции
1) отключить очень капризную опцию Secure Boot — защищенной загрузки. А так же включить модуль
2) Load Legacy Option Rom — CSM — загрузку модуля совместимости старых ОС. - UEFI (UEFI OS) – выберите режим загрузки UEFI что бы использовать драйверы UEFI. Только устройства, поддерживающие выбранный режим загрузки перечислены на экране выбора источника загрузки BIOS — экране в списке Приоритетов Параметры загрузки.
Опция также может иметь другие названия:
- Boot List Option
- Launch CSM(Compatibility Support Module)
- CMS Boot
- UEFI and Legacy OS
- CMS OS
- Boot Mode
- OS Mode Selection
Примечание 1. Если режим загрузки (Boot List Option) изменяется, то выставленная последовательность опроса носителей — дисков — кандидатов от предыдущего режима загрузки не сохраняется..
Примечание 2. Загрузчик операционной системы – это системная программа, которая подготовляет компьютер для загрузки операционной системы (загружает ядро операционной системы в оперативную память, формирует параметры работы ОС…). Запуск загрузчика выполняет BIOS.
Программа Aptio Setup Utility — BIOS фирмы American Megatrends Inc на системных платах Dell Inc.
Название данной опции у данного производителя в данной версии BIOS:
Boot List Option значение по умолчанию [Legacy]
This list specifies the order that the BIOS searches devices when trying to find an operating system to boot.
To change the boot order select the device to be changed in the list on the right hand side, then use the keybaord PgUp/PgDn keys to change the boot order of the device.
The boot devices can also be selectd or de-selectd from the list using the check boxes on left hand side.
Этот список определяет порядок, в котором BIOS ищет устройства при попытке найти операционную систему для загрузки.
Чтобы изменить порядок загрузки выберите желаемое устройство в списке на правой стороне, а затем используя клавиши клавиатуры PgUp / PgDn, измените порядок загрузки устройства.
Загрузочные устройства также могут быть выбраны из списка помощью флажков +/-
Если операционная система установлена с помощью режим загрузки «Наследие» BIOS (Legacy BIOS boot mode) операционная система может быть запущена только в режиме загрузки Legacy.
Если операционная система установлена с помощью режим загрузки UEFI, операционная система может быть запущена только в режиме загрузки UEFI (UEFI boot mode).
Dualboot — с чего начать?
Здравствуйте, когда я перегружаю себя информацией, всегда иду создавать вопросы, чтоб не запутаться в конец, а наоборот, разложить все по полкам. Буду максимально краток, исходя из времени суток.
Что нужно? Запускать просто и пафосно (визуально понравился rEFInd) при загрузке ноутбука Ubuntu 16.04 или Windows 8.1 — с версиями и системами я определился.
Что есть? Ноутбук с биосом и опцией UEFI (как точно определить я не понял, стандартный сине-серый биос, никакого графического интерфейса), которую можно сменить на Legacy.
Что не так? На ноутбуке установлен SSD+HDD, я хочу сделать HDD общий, а SSD порезать ровно на половину между осями.
Собственно, прочитал несколько мануалов, текста много, а понятного мало.
В чем сам вопрос? С чего мне начать установку, что делать опасно, а что нет, самые основные ошибки, как разбить диски и в каком порядке, есть ли годный мануал для чайников(зачеркнуто) разработчиков, которые не особо хотят вникать и учить тонны теории.
P.S. На хабре хороший мануал, но он немного другой, а цена ошибки для меня достаточно велика.

Лига Сисадминов
765 постов 13.8K подписчиков
Правила сообщества
# mount -o remount,rw /sysadmins_league
— # mount /dev/good_story /sysodmins_league
— # mount /dev/photo_it /sysodmins_league
— # mount /dev/best_practice /sysodmins_league
— # mount /dev/tutorial /sysodmins_league
Привет! Вначале ставь Винду с нужной тебе разбивкой, а потом поверх устанавливай Ubuntu с выбором опции «Установить на свободное место» рядом с виндой. Дальше она сама всё сделает и в загрузчик добавит винду.
По моему всегда так было, сначала винду, потом линь. Какие там могут быть подводные камни я даже не представляю.
ИМХО, если ты задаешь такие вопросы, то не нужно делать ничего, учи мат. часть. VirtualBox в помощь для тестов.
Лично я сделал так. У меня тоже SSD (на 128 гб) и HDD.
1. Я отдал винде 90 Gb под диск С: (ну плюс 100 mb служебный раздел.)
19 гб под само ядро линукс и
10 гб под swap, тоже на SSD
3. Раздел /home/ линукса я перенес на HDD. Для него можно например гигов 50-100 отрезать.
4. Всё остальное место на HDD — под обычное хранилище данных.
Короче самое правильное решение отдать винде 80% места на SSD, а линуксу 20% но раздел home линукса хранить отдельно на HDD. Таким образом всё будет справедливо. Винда получит достаточно места, засчёт того, что линукс более гибкий. Он может ядро системы хранить на SSD, а данные пользователя на HDD
День рождения Powershell
Товарищи программисты, админы и им сочувствующие, поздравляю всех нас со скромным праздником — Днем рождения Powershell. 🙂
14 ноября 2006 года, была выпущена финальная версия (Release to Web, RTW) Powershell. Эта версия была выпущена для Windows XP SP2, для Windows Vista, финальная версия Powershell была выпущена 30 января 2007 года.
Конечно, до этого были предрелизные версии (Release Candidate), был проект Monad, который являлся предшественником Powershell. Непосредственно Powershell, его финальная версия, был выпущен именно 14 ноября 2006 года.

Я с самого начала не очень позитивно воспринял появление Powershell — мне он казался просто немного расширенной версией командной строки, не дающий особых преимуществ по сравнению с последней — тогда мне вполне хватало CND, VBS, Autoit и т.д.
До определенного момента я Powershell запускал только для каких-нибудь экспериментов, не рассматривая его как инструмент для повседневной работы.
В один прекрасный момент, мне надо было решить задачу по обработке большого количества файлов — на почтовом сервере письма сохранялись в виде отдельных файлов *.eml, а общий формат был: Адрес_отправителя-ID_письма.eml. Писем было несколько сотен тысяч.
Я эту задачу решил, причем решил на CMD, VBS и Autoit. После этого, мне опять на глаза попался Powershell и я решил решить задачу на нем, в качестве упражнения. Решение нужной мне задачи занимало на VBS примерно 30 строк кода. Каково же было мое удивление, когда решение этой задачи на Powershell составило всего 3 строки!
За прошедшее время, Powershell не раз меня выручал, давая возможность просто решать задачи различной степени сложности.
После этого, я решил попристальней посмотреть в сторону Powershell и разобраться с ним получше.
Время шло, я разбирался с Powershell и у меня накопилось приличное количество заметок, записок, статей о нем. Мне показалось неудобным хранить информацию в таком виде и я решил создать для себя справочник, в который и включить все имеющиеся данные с тем, чтобы, когда возникнет у меня необходимость освежить что-то в памяти, я мог это сделать, посмотрев в одном источнике.
Собрав таким образом некоторый объем информации, я увидел, что у меня получилась книга. Решив, что данное мое творение может оказаться полезным не только мне, но и некоторому кругу других людей, я решил свою книгу опубликовать.
Сегодня, в честь дня рождения Powershell, я решил выложить новую версию своей книги.
Поделитесь Вы, уважаемые читатели, помогал ли Вам Powershell каким-либо образом в работе?