WSL: что такое и как использовать подсистему Windows для Linux

Приветствую всех посетителей моего родившегося блога!

Исполняемые файлы в Linux

В вопросах исполняемых файлов, то есть, когда по простому, обычных программ, Ubuntu кардинально отличается от Windows. В Windows исполняемые компданные имеют расширение exe (в основном), а внутри представляют из себя нечитаемый набор байтов. А в Ubuntu выполняемым может быть даже текстовый файл. Сразу скажу, что exe — это программы для Windows и в Ubuntu они не трудятся без Wine (приложения для запуска исполняемых файлов Windows в Linux), но вообще говоря и в Wine они трудятся далеко не всегда.

Итак, что же такое исполняемый файл с точки зрения Ubuntu? Практически это любой файл, который помечен, как исполняемый и который Ubuntu сможет запустить на исполнение. Означает это вот что: у каждого файла есть специальное свойство-переключатель, никак не зависящее ни от имени, ни от охватываемого, отвечающее за исполняемость. Если файл помечен, как исполняемый, то вообще говоря он таковым и представляется, а если не помечен — то это обычный файл с данными и напрямую запустить его на выполнение нельзя. Иное дело, что не любой файл, помеченный как исполняемый, Ubuntu сможет выполнить, хотя в запасе Ubuntu есть масса методов запуска файлов с совершенно различным содержимым.

Использование Open-Shell для возврата стандартного меню Пуск в Windows 10

Если вы знакомы с утилитой Classic Shell, то и проблем с использованием Open Shell у вас, вероятнее всего, не возникнет, более того, программа может автоматически импортировать настройки из первой утилиты.

Процесс установки и запуска программы очень простой:

  1. Установка выполняется на английском языке. Все, что потребуется сделать на этом этапе — выбрать требуемые компоненты: Classic Explorer (меняет меню в проводнике), Open-Shell Menu (классическое меню Пуск), Classic IE (настройка меню и строки состояния Internet Explorer), Open-Shell Update (автоматическая проверка доступных обновлений).
  2. Сразу после установки запустится окно настройки Open-Shell Menu. Настройки запускаются на английском языке, однако, само меню работает на русском. Если же и меню отображается не на том языке — отметьте пункт «Show All Settings», а затем выберите нужный язык на вкладке «Language».
  3. На главной странице настроек Open-Shell Menu вы можете выбрать внешний вид меню пуск, при необходимости — заменить кнопку «Пуск» своей кнопкой (по умолчанию отображается стандартная кнопка Windows 10).
  4. Нажав «Select Skin» под выбранным внешним видом меню Пуск вы можете выбрать тему оформления, а также настроить размеры иконок, текста, прозрачности с помощью соответствующих отметок (набор доступных отметок может отличаться в зависимости от выбранной темы).
  5. На вкладке Basic Settings можно настроить поведение различных кликов и нажатия клавиши Windows в меню Open Shell, включить или отключить автоматический запуск классического меню после перезапуска компьютера, отображение раздела «Все программы» и часто используемых программ.
  6. Вкладка Customize Start Menu позволяет включить или отключить отображение пунктов в меню пуск.
  7. По умолчанию быстро зайти в настройки Open Shell Menu вы можете, нажав правой кнопкой мыши по кнопке «Пуск» и выбрав пункт «Настройка».
  8. Если вы хотите вернуть обычное меню по правому клику (то, которое стандартно появляется в Windows 10), в настройках программы отметьте Show All Settings, а затем на вкладке «Controls» отметьте пункт «Right click opens Win+X menu».
Читайте также:  Как облегчить выбор товаров на AliExpress

В целом, всё сравнительно удобно и работает исправно, если не считать отсутствия русского интерфейса настроек, что может оказаться проблемой для некоторых пользователей. Если же проблем с этим нет, рекомендую отметить пункт Show all settings в утилите настроек Open-Shell Menu и пройтись по всем вкладкам: не исключено, что вы сможете найти что-то полезное для себя.

Ниже — пара примеров классического меню Пуск в Windows 10 с помощью Open-Shell Menu.

Скачать последнюю версию Open Shell вы можете с официальной страницы разработчика -Shell/Open-Shell-Menu/releases

в Телеграм

А вдруг и это будет интересно:

  • Действие заблокировано в Instagram — что делать?
  • Почему не приходят уведомления на iPhone и как это исправить
  • Как настроить экран блокировки Windows 10 — изменить обои, добавить приложения, отключить подсказки Майкрософт
  • Пропал звук в браузере в Windows 10 — как исправить?
  • Как удалить аккаунт Телеграм с телефона Android и iPhone

Методы исправления ошибки с грустным смайлом в меню «Пуск»

В подавляющем большинстве случаев описанная проблема возникает, если вы используете программу StartIsBack++. Это специализированный софт, позволяющий изменить внешний вид и функциональность стандартного меню «Пуск» в Windows 10. О данном приложении мы писали в рамках одного из обзоров.

Подробнее: Настройка внешнего вида меню «Пуск» в Windows 10

На практике описываемая в статье ошибка выглядит следующим образом:

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

Способ 1: Реактивация софта

Упомянутая ранее программа StartIsBack++ распространяется на платной основе. В качестве ознакомления ее можно использовать бесплатно лишь один месяц. Появившийся смайлик может символизировать о завершении тестового периода. Проверить и исправить это несложно.

Способ 2: Повторная инсталляция

Методы исправления ошибки с грустным смайлом в меню «Пуск»

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

Методы исправления ошибки с грустным смайлом в меню «Пуск»

Способ 3: Изменение даты

Методы исправления ошибки с грустным смайлом в меню «Пуск»

Одной из причин появления грустного смайлика может быть ошибка в отображении времени и даты. Дело в том, что упомянутая программа весьма чувствительная к подобным параметрам. Если из-за системной ошибки дата сбилась, StartIsBack++ может распознать подобное как окончание лицензионного периода. В таком случае нужно лишь установить дату корректно. О том, как это сделать, вы можете узнать из нашей отдельной статьи.

Читайте также:  Unix / Linux — Управление процессами

Подробнее: Изменения времени в ОС Windows 10

Описание этапа:

 Второй этап можно характеризовать так: подготовка системы для запуска служб демонов. При подготовке, Загрузчик загружает в память образ ядра из каталога /boot. Давайте рассмотрим пример образа ядра на примере ОС Debian 6:

[email protected]:~# file /boot/ /boot/: Linux kernel x86 boot executable bzImage, \      version ([email protected]) #, RO-rootFS, swap_dev 0x2, Normal VGA

В приведенном листинге, видно, что команда file выводит информацию о файле образа ядра. В данной информации говориться, что это ядро линукс (Linux kernel), 32-битной архитектуры (x86), содержащий возможность загрузки (boot), исполняемый (executable), в формате bzImage (то есть сжатое, бывают образы не сжатые), далее указывается версия ядра и кое-какие другие параметры образа. Данных файлов может быть несколько (в зависимости от количества установленных версий ядра) и для загрузки выбирается тот, который указан в настройках загрузчика. Образ ядра, инициализирует и подготавливает память, процессор/ы, остальное оборудование, монтирует корневой раздел в режиме только для чтения для загрузки остальной системы (устройство и раздел на котором размещен корень системы должен быть указан в настройках загрузчика GRUB (/boor/) или LILO (/boor/)) в виде параметра root=. При этом, выводится сообщение VFS: Mounted root (ext2 filesystem) readonly. Кроме того, ядро из конфигурационного файла загрузчика получает параметры загрузки, такие как корневая файловая система, отображать сообщения ядра или нет и т.п. Параметры, переданные текущему загруженному ядру можно посмотреть в файле /proc/cmdline. Вот пример параметров все того же Debian:

[email protected]:~# cat /proc/cmdline BOOT_IMAGE=/boot/ root=UUID=6852e86c-b8f1-49d0-b1eb-9d10171083c3 ro quiet

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

Описание этапа:

[email protected]:~# file /boot/ /boot/: gzip compressed data, from Unix, last modified: Thu Mar 17 09:44:39 2011

Какой архив initrd подгружать при загрузке, так же указывается в FSB GRUB или LILO:

[email protected]:~# grep initrd -B4 /boot/grub/ title           Debian GNU/Linux, kernel root            (hd0,0) kernel          /boot/ root=/dev/sda1 ro quiet initrd          /boot/

Т.к. стандартный вывод (вывод сообщений на экран) должен быть связан с каким-либо процессом, соответственно с идентификатором процесса, а у ядра нет идентификатора, оно оно помещает сообщения ядра (и модулей) в буфер кольца ядра и выводит на экран. Данный буфер еще называется dmesg. Его содержимое можно просмотреть, выполнив команду dmesg. После полной инициализации ядро передает управление процеcсу init (первому системному процессу с PID=1). На экран выводится сообщение INIT: version booting. При этом, бинарный файл init последовательно ищется в корневом разделе в каталогах: /sbin/init, /etc/init, /bin/init, если в указанных местах не обнаружен файл, то ядро пытается запустить шелл /bin/sh (это, собственно, есть однопользовательский режим загрузки, он же режим восстановления). При этом, не запускается ни один демон. Если не найден и шелл, то вываливается ошибка Kernel panic: No init found. Try passing init= option. Данная ситуация может возникнуть скорее всего, потому что неверно смонтирован корневой раздел.

Читайте также:  Как управлять группами и пользователями в Linux

Установка Bash

Чтобы в Windows 10 включить Linux возможности, нужно:

  • открыть командную сроку CMD (можно и без администраторских прав), нажав Win + X и выбрав соответствующий пункт меню:
Установка Bash
  • Пишем команду bash и запускаем её на исполнение клавишей Enter :
  • Для подтверждения нажмите латинскую букву «y» (yes). Если же сообщение будет на русском языке, то следует нажать «д» (да).
  • Дожидаемся окончания процедуры установки, после которой будет предложено указать имя нового пользователя и пароль (придумайте на своё усмотрение):

А вот теперь всё! UNIX среда подключена. Файлы Linux располагаются по пути:

%localappdata%\lxss\

Установка Bash

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

С уважением, Виктор!

Как открыть Linux в Windows 10

Благодаря WSL мы сможем использовать инструменты и программы Windows напрямую из CMD или PowerShell. Для этого нам просто нужно запустить «WSL» команда, а затем команда, которую мы хотим запустить, в окне PowerShell. Например, «wsl ls» покажет нам содержимое текущего каталога.

Но если мы хотим иметь прямой доступ к терминалу дистрибутива Linux, то нам нужно найти средство запуска установленного дистрибутива в меню «Пуск» Windows и запустить его оттуда. Мы также можем запустить команда «» из PowerShell запустить полную реализацию Linux на Windows.

Консоль WSL будет иметь внешний вид, похожий на внешний вид терминала Linux , и мы будем дифференцировать его, потому что в дополнение к логотипу distro, отображаемому в строке заголовка окна, мы видим, что строки начинаются с user @ team.

Пути изучения

Сложный путь

Мой опыт изучения начинался с Gentoo — это сложно, муторно, интересно и дает огромный опыт. Если есть много времени и желания изучать как устроены ОС на ядре Linux — в путь. Другой дистрибутив который вам даст опыт — Slackware. Оба изучать смысла нет, стоит остановится на одном. По сложности они схожи, но Gentto сложно ставится и работает с лучшим установщиком программ — Portage, а Slackware — имеет некоторые сложности с нормальными пакетными установщиками.

Нормальный путь

В промышленно применении вы вряд ли встретите Gentoo или Slackware, скорее всего вы увидите Red Hat Enterprise Linux, Centos или иногда Debian, реже это будут производные дистрибутивы на rpm пакетах (OpenSuse). Собственно их и нужно по-хорошему изучать.

Бесполезный путь

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