Как переустановить ubuntu wsl

Обновлено: 07.07.2024

Наверняка, многие уже наслышаны или даже пользуются Ubuntu, встроенной в Windows 10.

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

Допустим, у тебя мелкий ssd на компьютере, а эту Ubuntu ставил "на поиграться", и наигрался. А теперь обратно нужно вернуть драгоценный ресурс ssd и удалить ненужную ubuntu.

В "Программы и компоненты" ты не увидишь Ubuntu в виде установленной программы, как бы это было когда-то давно в виде wubi.

А если и галочку уберешь в компонентах Windows - тоже ничего не изменится.

1. Правый клик на Пуск -> Командная строка(администратор)

2. Пишем lxrun /uninstall /full, жмём Enter (Если /home удалять не надо, то ключ /full не нужен).

ПЕРЕУСТАНОВКА

Необходимость перестановки системы может возникнуть в любой "непонятной ситуации". Можно так же "поиграться" с этой Ubuntu и наломать там дров, а разгребать лень (себе то хоть в этом признайтесь :)

1. Правый клик на Пуск -> Командная строка(администратор)

2. Пишем lxrun /uninstall /full, жмём Enter (Если /home удалять не надо, то ключ /full не нужен)

3. Пишем lxrun /install /y, жмём Enter и ждём пока свеженькая Ubuntu скачается из Магазина (Ключ /y позволит отлучиться от компьютера на время установки).

4. В какой-то момент установщик попросит ввести имя пользователя и пароль. Сделай это.

Это тот самый Линукс, что в Anniversary Update? Его отдельно устанавливать нужно?

rm -rf / работает?

Поиграться можно и с livе cd.
если с флешки, то и сохранение параметров прикрутить можно


В Магазине Windows опубликовано два дистрибутива SUSE Linux

Ещё несколько лет назад за такой заголовок вполне можно было получить путёвку в санаторий для душевнобольных, но в мире сегодняшней Microsoft он звучит вполне нормально: просто для Windows 10 и WSL (Bash) доступны новые дистрибутивы Linux, обещанные некоторое время назад.
Напомню, впервые энтузиасты запустили SUSE в среде WSL ещё в январе этого года, в мае разработчики Windows 10 официально сообщили о намерении расширить список поддерживаемых дистрибутивов, включив в него кроме Ubuntu ещё и SUSE, и Fedora. В конечном счёте разработчики WSL планируют сделать эту платформу независимой от типа дистрибутива вообще.

В Магазине Windows опубликовано два дистрибутива SUSE Linux Windows, Windows 10, Linux, Linux и Windows, Командная оболочка bash, Microsoft, Операционная система

подсистема Windows для Linux (WSL) поддерживает запуск как угодно различных дистрибутивов Linux, которые вы хотите установить. это может включать в себя выбор дистрибутивов из Microsoft Store, импорт настраиваемого распределенияили создание собственного пользовательского распределения.

Способы запуска WSL

Существует несколько способов запустить дистрибутив Linux с WSL после установки.

  1. первый способ запуска дистрибутивов Linux — установка Терминал Windows. С помощью Терминала Windows можно открыть несколько вкладок или областей окна для просмотра нескольких дистрибутивов Linux или других командных строк (PowerShell, командная строка, Azure CLI и пр.), а также быстрого переключения между ними. Вы можете полностью настроить терминал, используя уникальные цветовые схемы, стили шрифтов, размеры, фоновые изображения и пользовательские сочетания клавиш. Подробнее.
  2. вы можете напрямую открыть дистрибутив Linux, посетив Windows меню и введя имя установленного дистрибутива. Например: Ubuntu. Это приведет к открытию Ubuntu в собственном окне консоли.
  3. в Windows командной строке или PowerShell можно ввести имя установленного дистрибутива. Например: ubuntu
  4. с помощью командной строки Windows или PowerShell можно открыть дистрибутив Linux по умолчанию в текущей командной строке, введя: wsl.exe .
  5. из Windows командной строки или PowerShell вы можете использовать дистрибутив Linux по умолчанию в текущей командной строке, не вводя новый, введя: wsl [command] . Замена [command] командой WSL, например: wsl -l -v для вывода списка установленных дистрибутивов или wsl pwd для просмотра места подключения текущего пути к каталогу в WSL. в PowerShell команда предоставит get-date дату из Windows файловой системы и предоставит wsl date дату из файловой системы Linux.

Выбранный метод должен зависеть от того, что вы делаете. если вы открыли командную строку WSL в Windows командной строке или окне PowerShell и хотите выйти, введите команду: exit .

Запуск WSL из меню

Список установленных дистрибутивов

Чтобы просмотреть список установленных дистрибутивов Linux, введите: wsl --list или wsl -l -v для получения подробного списка. Чтобы установить дистрибутив Linux по умолчанию, используемый с wsl командой, введите: wsl -s <DistributionName> или wsl --setdefault <DistributionName> замените <DistributionName> именем дистрибутива Linux, который вы хотите использовать. Например, в PowerShell введите:, wsl -s Debian чтобы задать для распределения по умолчанию значение Debian. Теперь запуск wsl npm init из PowerShell приведет к выполнению npm init команды в Debian.

Отмена регистрации и повторная установка дистрибутива

хотя дистрибутивы Linux можно устанавливать с помощью Microsoft Store, их невозможно удалить через магазин.

Чтобы отменить регистрацию и удалить WSL распространения, выполните следующие действия.

wsl --unregister <DistributionName>
Отменяет регистрацию дистрибутива в WSL, чтобы его можно было переустановить или очистить. Внимание! После отмены регистрации все данные, параметры и программное обеспечение, связанные с этим дистрибутивом, будут безвозвратно утеряны. При переустановке из Store будет установлена чистая копия дистрибутива.

Например: wsl --unregister Ubuntu приведет к удалению Ubuntu из дистрибутивов, доступных в WSL. Запуск wsl --list будет раскрывать, что он больше не указан. чтобы переустановить, найдите дистрибутив в Microsoft Store и нажмите кнопку "запустить".

Выполнение от имени определенного пользователя

wsl -u <Username> , wsl --user <Username>

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

Изменение пользователя по умолчанию для распределения

<DistributionName> config --default-user <Username>

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

Например, ubuntu config --default-user johndoe изменит пользователя по умолчанию для дистрибутива Ubuntu на пользователя "JohnDoe".

Если вам не удается определить имя дистрибутива, используйте команду wsl -l .

Запуск определенного дистрибутива

wsl -d <DistributionName> , wsl --distribution <DistributionName>

Запускает указанный дистрибутив WSL. Эту команду можно использовать для отправки команд в определенный дистрибутив без необходимости изменения дистрибутива по умолчанию.

Настройка параметров с помощью. вслконфиг и WSL. conf

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

  • Глобально для всех установленных дистрибутивов, работающих в режиме WSL 2, с вслконфиг -файлом, хранящимся в каталоге
  • Для каждого распределения с файлом WSL. conf , хранящимся в каталоге распространения;

чтобы получить доступ к вашему %UserProfile% каталогу, в PowerShell используйте cd

для доступа к домашнему каталогу (обычно это ваш профиль пользователя C:\Users\<UserName> ) или откройте Windows проводнике и введите %UserProfile% в адресной строке. Путь к каталогу для глобальной настройки параметров WSL будет иметь значение C:\Users\<UserName>\.wslconfig .

чтобы получить доступ к /etc каталогу для установленного распространения, используйте командную строку распространения с cd / для доступа к корневому каталогу, а затем ls перечислите файлы или explorer.exe . просмотрите файл в Windows проводнике. Путь к каталогу для настройки параметров WSL для каждого распределения будет иметь значение /etc/wsl.conf .

WSL обнаружит наличие этих файлов и прочитает их содержимое. Если этот файл отсутствует или имеет неправильный формат (т. е. неправильное форматирование разметки), WSL продолжит запуск в обычном режиме.

настройка параметров для каждого распределения с помощью файла wsl. conf доступна только в Windows сборки 17093 и более поздних версий.

Параметры конфигурации распределения в WSL. conf

В wsl.conf приведенном ниже образце файла показаны некоторые параметры конфигурации, доступные для добавления в дистрибутивы.

При запуске нескольких оболочек Linux для одного и того же распространения необходимо подождать, пока подсистема Linux прекратит работу, после закрытия последнего экземпляра оболочки распространителя может потребоваться примерно 8 секунд. При запуске распространения (IE. Ubuntu), измените файл WSL. conf, закройте распространение, а затем снова запустите его. Вы можете предположить, что изменения в файле WSL. conf немедленно вступили в силу. В настоящее время это не так, так как подсистема все еще может работать. Перед повторным запуском подсистемы необходимо подождать около 8 секунд, чтобы предоставить достаточно времени для получения изменений. Вы можете проверить, не работает ли дистрибутив Linux (оболочка) после закрытия, используя PowerShell с помощью команды: wsl --list --running . Если распределения не выполняются, вы получите ответ: "нет выполняющихся распределений". Теперь можно перезапустить распространение, чтобы увидеть примененные обновления WSL. conf.

wsl --shutdown — Это быстрый путь к перезапуску дистрибутивов WSL 2, но при этом будут выключены все запущенные дистрибутивы, так что используйте их в разумном виде.

Параметры для WSL. conf

В соответствии с соглашениями об INI-файлах ключи объявляются в разделе.

WSL поддерживает четыре раздела: automount , network , interop и user .

automount

ключ value значение по умолчанию HDInsight
Включено Логическое Да true приводит к автоматическому подключению фиксированных дисков (например C:/ , D:/ ) к дрвфс в /mnt . false означает, что диски не будут подключены автоматически, но их можно подключать вручную или через fstab .
mountFsTab Логическое Да Значение true задает /etc/fstab для обработки при запуске WSL. /etc/fstab — это файл, в котором можно объявлять другие файловые системы, например общий ресурс SMB. Поэтому вы можете автоматически подключать эти файловые системы в WSL при запуске.
root Строка /mnt/ Задает каталог, в который будут автоматически подключены несъемные диски. Например, если у вас есть каталог в WSL в /windir/ и вы указали его в качестве корневого каталога, то ваши несъемные диски будут подключены в /windir/c
options разделенный запятыми список значений пустая строка Это значение добавляется в строку параметров подключения по умолчанию DrvFs. Можно указать только параметры, относящиеся к DrvFs. Параметры, которые двоичный файл подключения обычно анализирует и преобразовывает во флаг, не поддерживаются. Если вы хотите явно указать эти параметры, необходимо добавить каждый диск, для которого вы хотите это сделать, в /etc/fstab.

По умолчанию WSL задает для идентификаторов UID и GID значения пользователя по умолчанию (в дистрибутиве Ubuntu пользователь по умолчанию создается с идентификаторами UID = 1000 и GID = 1000). Если пользователь явно указывает параметр GID или UID с помощью этого ключа, связанное значение будет перезаписано. В противном случае всегда будет добавляться значение по умолчанию.

Примечание. Эти параметры применяются в качестве параметров подключения для всех автоматически подключенных дисков. Чтобы изменить параметры для конкретного диска, используйте /etc/fstab.

Параметры подключения

Задание различных параметров подключения для дисков Windows (DrvFs) позволяет контролировать определение разрешений для файлов Windows. Доступны следующие варианты:

Ключ Описание По умолчанию
uid ИД пользователя, используемый для владельца всех файлов. ИД пользователя по умолчанию для дистрибутива WSL (при первой установке имеет значение по умолчанию — 1000).
gid Идентификатор группы, используемый для владельца всех файлов. Идентификатор группы по умолчанию для дистрибутива WSL (при первой установке имеет значение по умолчанию — 1000).
umask Восьмеричная маска разрешений, исключаемых для всех файлов и каталогов. 000
fmask Восьмеричная маска разрешений, исключаемых для всех файлов. 000
dmask Восьмеричная маска разрешений, исключаемых для всех каталогов. 000
метаданные добавляются ли метаданные в файлы Windows для поддержки системных разрешений Linux disabled
case Определяет, что каталоги обрабатываются с учетом регистра, а также будут ли для новых каталогов, созданных с помощью WSL, установлен флаг. Подробное описание параметров см. в разделе чувствительность к регистру . off

Маски разрешений подвергаются логической операции ИЛИ перед применением к файлам или каталогам.

network

Метка раздела: [network]

ключ value значение по умолчанию HDInsight
generateHosts Логическое true Значение true указывает WSL создать /etc/hosts . Файл hosts содержит статическую карту имен узлов и соответствующих IP-адресов.
generateResolvConf Логическое true Значение true указывает WSL создать /etc/resolv.conf . Файл resolv.conf содержит список DNS-серверов, которые способны разрешить заданное имя узла в его IP-адрес.

interop

Метка раздела: [interop]

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

ключ value значение по умолчанию HDInsight
Включено Логическое true Установка этого ключа определяет, будет ли WSL поддерживать запуск процессов Windows.
appendWindowsPath Логическое true Задание этого ключа определяет, будет ли WSL добавлять элементы пути Windows в переменную среды $PATH.

пользователь

Метка раздела: [user]

Эти параметры доступны в сборках 18980 и более поздних версий.

ключ value значение по умолчанию HDInsight
значение по умолчанию строка Начальное имя пользователя, созданное при первом запуске Задание этого параметра указывает, какой пользователь будет запускать, как при первом запуске сеанса WSL.

Параметры просмотра пользователя

эти параметры доступны только в последней предварительной версии сборки, если вы используете последние сборки программы Windows insider.

Метка раздела: [boot]

ключ value значение по умолчанию HDInsight
. строка "" Строка команды, которую вы хотите выполнить при запуске экземпляра WSL. Эта команда выполняется от имени привилегированного пользователя. Например service docker start

Глобальные параметры конфигурации с помощью. вслконфиг

вы можете добавить файл с именем .wslconfig в корневой каталог Windows (например C:\Users\crloewen\.wslconfig ,), чтобы управлять глобальными параметрами WSL в дистрибутивах Linux. См. пример файла ниже в качестве примера.

глобальные параметры конфигурации .wslconfig в доступны только для дистрибутивов, работающих как WSL 2 в Windows сборки 19041 и более поздних версий. Помните, что может потребоваться выполнить, wsl --shutdown чтобы завершить работу виртуальной машины WSL 2, а затем перезапустить экземпляр WSL, чтобы эти изменения вступили в силу.

Этот файл может содержать следующие параметры:

Параметры для. вслконфиг

Метка раздела: [wsl2]

Эти параметры влияют на виртуальную машину, на которой распространяется любое WSL 2.

записи со path значением должны быть Windows путями с escape-символами обратной косой черты, например: C:\\Temp\\myCustomKernel

Записи со size значением должны быть размером, за которым следует единица, например 8GB или 512MB .

Параметры предварительной версии параметра WSL 2

эти параметры доступны только в последней предварительной версии сборки, если вы используете последние сборки программы Windows insider.

Что такое Ubuntu WSL

Для начала кратко поясню, что такое WSL на практике. Это некий слой абстракции, который позволяет запускать linux приложения в среде windows. И это не виртуальная машина. И Linux, и Windows приложения работают в рамках одной операционной системы с совместным доступом к данным на дисках. Вы прозрачно можете запустить приложение на ubuntu и открыть им файл в директории windows.

Файлы ubuntu wsl

Тут и корень системы, и директории пользователей. Посмотреть содержимое можно из-под windows. Только не рекомендуется их редактировать. Работа linux системы может быть нарушена. На примере доступа к файлам видно, что это не виртуальная машина. Важно понимать это отличие.

А вот то же самое можно сделать из-под ubuntu, открыв файлы из директории windows.

Доступ к windows каталогам из-под linux

С помощью данной технологии, вы условно сможете запустить полноценный Ubuntu Server на своем компьютере. Читайте мой обзор на Ubuntu, чтобы иметь представление о том, чем он отличается от остальных linux дистрибутивов.

Зачем нужна Ubuntu WSL на Windows

Поговорим немного о том, зачем может понадобиться установка Ubuntu WSL в Windows 10. Можно в небольшой список это вынести и перечислить по пунктам:

Это то, что первое приходит в голову. Думаю, есть и другие причины, для чего может быть полезно установить ubuntu wsl. Делитесь своим мнением в комментариях. Может я что-то важное упускаю.

Установка Ubuntu WSL под Win 10

Установка подсистемы Windows для Linux в Windows 10 неплохо описана в официальном руководстве от Microsoft. Чтобы установить Ubuntu WSL на Windows, надо для начала включить компонент системы Windows под названием Windows-Subsystem-Linux. Для этого запускаем cmd с правами администратора (это важно!) и переходим в powershell. Там выполняем:

Установка Ubuntu WSL в Windows 10

После этого активируем компонент Платформа виртуальных машин.

Активация компонента VirtualMachinePlatform

Далее обязательно перезагрузить систему, иначе дальше будут ошибки. После перезагрузки продолжаем ставить ubuntu под wsl.

Установка обновления ядра Linux в win10

Дальше устанавливаем версию WSL 2 по умолчанию. Она более продвинутая и быстрая, по сравнению с первой.

Выбор версии wsl 2 по умолчанию

Теперь идем в Windows Store и ищем там необходимую вам версию Ubuntu WSL. Я просто в строку поиска ввел название дистрибутива и получил все доступные версии.

Установка ubuntu wsl через магазин windows

После установки в меню Пуск можно запустить Ubuntu WSL. При первом запуске вам предложат задать имя пользователя для Linux системы.

Первый запуск ubuntu wsl

Вот и все. Заходим в свежеустановленную Ubuntu 20 LTS на Win 10.

ubuntu в win 10

У вас под рукой практически полноценная linux система, работающая нативно под windows.

Настройка Ubuntu WSL

Выполним первоначальную настройку Ubuntu WSL, чтобы с ней удобнее было далее работать. Начнем с подключения по SSH.

Настройка ssh

Терминал Windows не очень удобен и привычен. Так что если вы привыкли подключаться по ssh через какой-нибудь другой менеджер подключений, вам нужно будет на wsl системе настроить ssh. Это не совсем очевидная процедура. Чтобы заставить нормально работать openssh server, его надо переустановить. Делаем это:

Настройка ssh в ubuntu wsl

Теперь сразу разрешим подключаться с использованием паролей. Для этого открываем конфиг /etc/ssh/sshd_config и разкомментируем настройку:

Авторизация по паролю через ssh

После этого перезапустите службу sshd

Мы закончили настройку ssh в ubuntu. Теперь к ней можно подключиться, например, через putty. Используем адрес 127.0.0.1 и порт 22.

Подключение по ssh к wsl

Вот и все. Можете использовать любой другой ssh клиент.

Обновление

Обновление Ubuntu WSL на windows

В общем случае этого достаточно для обновления системы. Если же вы хотите выполнить обновление до следующего релиза, то лучше это сделать через Windows Store, установив нужную версию ubuntu.

Установка MC

Для того, чтобы установить популярный в linux среде файловый менеджер Midhight Commander или коротко MC, необходимо опять же воспользоваться пакетным менеджером apt.

Установка MC в WSL

При этом вы сможете без проблем перемещаться не только внутри ubuntu, но и открывать файлы windows. Традиционные диски C:, D: и т.д. смонтированы в /mnt.

Войти под root

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

root в ubuntu wsl

Теперь вы полноценный root пользователь и можете запускать команды с повышенными привилегиями без sudo.

Автозапуск служб

В Ubuntu WSL не работает systemd и возникает закономерный вопрос, а как же тогда настроить автозапуск нужных служб. Тут есть два принципиально разных подхода по автозапуску служб:

  1. Служба в wsl запускается автоматически после запуска компьютера.
  2. Служба wsl запускается автоматически после первого входа в bash установленного linux.

Если вы хотите выполнить какую-то команду при первом входе в wsl, то просто добавьте ее в файл .bashrc домашнего каталога пользователя. Например, добавим туда вывод фразы Hello World! Для этого добавляем в самый конец:

Автозапуск службы в ubuntu wsl

Пример выполнения команды при входе

Вместо команды echo можете написать любую другую. Например, запуск MC:

Теперь при запуске терминала ubuntu wsl у вас автоматически будет запускаться файловый менеджер MC.

Обновление WSL до WSL2

Во время установки любой WSL системы у вас есть возможность выбора ее версии. Вторая версия более современная и быстрая, так что в общем случае рекомендуется использовать ее. Но возможно вам по какой-то причине понадобится первая. Например, в WSL 1 файловая система linux в открытом виде в виде файлов в директории C:\Users\user1\AppData\Local\lxss, а во второй версии в виде единого виртуального диска. Разница принципиальна.

Для того, чтобы обновить WSL1 до WSL2 необходимо через powershell активировать компонент VirtualMachinePlatform:

Указать версию WLS2 как дефолтную:

В завершении проапгрейдить установленный дистрибутив до WSL2 или поставить новый.

Версии WSL можно переключать в любое время. Узнать distribution name можно с помощью команды:

Обновление WSL до WSL2

Reboot Ubuntu WSL

Работа в Windows 10 с Ubuntu несколько необычна, поэтому сходу не понятные даже такие простые вещи, как перезагрузка linux системы. Как сделать reboot в Ubuntu WSL? Для того, чтобы перезагрузить систему, достаточно выполнить в консоли powershell команду:

Все экземпляры wsl будут завершены. После запуска терминала ubuntu wsl она запустится заново, что будет равнозначно обычной перезагрузки системы.

Если вы используете первую версию WSL, то перезапуск linux систем выполняется перезапуском службы, которая их обслуживает. Выполняется так же в консоли windows^

Как удалить Ubuntu WSL

Если вам нужно удалить Ubuntu WSL из Windows 10, то сделать это можно точно так же, как любое другое приложение, установленное из Магазина. Выбираете Ubuntu WSL через пуск и нажимаете Удалить.

Удаление Ubuntu WSL

То же самое можно сделать и через консоль powershell

Список установленных систем смотрим командой:

Ничего сложного, система удаляется фактически в одну команду. Для повторной установки достаточно еще раз установить ubuntu через Магазин.

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

Система Ubuntu не загружается

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

Далее я отдельно рассмотрю второй и третий случаи. Начнем со стандартного режима восстановления grub.

Entering rescue mode

Итак, в случае проблем с загрузкой Ubuntu вы можете оказаться в режиме grub rescue.

grub rescue

Первым делом запускаем команду ls и смотрим, какие разделы у нас доступны.

В моем случае доступен только один 3-й раздел, скорее всего корневой. Раздела /boot, который обычно 1-й или 2-й нет. Проверим это наверняка. Смотрим содержимое доступного раздела:

восстановление загрузки ubuntu

Далее загружаем некоторые модули. Какие будут нужны, точно не известно и зависит от типов разделов диска. Показываю самые популярные:

Можно для начала попробовать вообще без модулей, а потом добавлять по одному. В самом конце загружаем модуль normal.

Восстановление поврежденных разделов ubuntu

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

live cd ubuntu

Вы окажетесь в консоли системы, которая по сути является livecd сервера. В целом, тут подойдет любой livecd дистрибутив с linux. Эта система видит все подключенные диски и вообще все оборудование. Первым делом вам надо настроить выход в интернет на сервере так же, как вы это делаете обычно. После этого нужно обновить пакеты и установить утилиту testdisk. С ее помощью мы попробуем найти исчезнувший загрузочный раздел.

установка testdisk

Запускаем утилиту и указываем, что будем создавать новый log файл.

запуск testdisk

Выбираем диск, на котором у нас установлена система. В моем случае это sda.

выбор диска для восстановления

В качестве partition table type сначала укажите Intel. Если не получится ничего найти, попробуйте еще раз с другими типами.

тип таблицы разделов

Дальше выбираем Analyze.

Анализ таблицы разделов

И запускаем Quick Search.

Запуск поиска

У меня testdisk нашел 2 раздела, причем первый это boot раздел, который по какой-то причине исчез.

Восстановление boot раздела в ubuntu

Из-за его отсутствия виртуальная машина с ubuntu не грузилась. Далее выбираю первый раздел и восстанавливаю его с помощью testdisk. Записываю изменения и выхожу в консоль. Проверяю с помощью fdisk разделы диска /dev/sda.

Раздел /boot восстановлен

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

В случае, если все загрузилось, вам повезло. Отделались малой кровью. Если же ubuntu не загружается, а вы опять попадаете в grub rescue, значит придется еще потрудиться над восстановлением загрузки системы. Будем восстанавливать сам grub.

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

Продолжаем восстановление загрузки ubuntu. Сам /boot раздел мы вернули, но загрузчик grub почему-то не работает и система не грузится. Загружаемся опять с установочного диска и переходим в консоль. Напомню, что у меня такая картина по разделам:

Первый раздел это /boot, второй корень / . Смонтируем их в /mnt, а так же добавим несколько системных директорий.

Теперь чрутимся в /mnt, чтобы оказаться в нашей системе:

И уже отсюда восстанавливаю загрузчик grub:

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

Теперь выходим отсюда и перезагружаем сервер. Вынимаем установочный диск и загружаемся с основного диска. У меня пошла загрузка.

Давайте еще раз повторим все, что мы сделали:

  1. Мы увидели, что система не грузится и валится в grub rescue. Загрузчик не может найти раздел, с которого продолжить загрузку. Мы попробовали в rescue console посмотреть все имеющиеся разделы и не нашли там boot. Если же нашли, то сразу же загрузились с него.
  2. После этого загрузились с загрузочного диска ubuntu, перешли в консоль. Установили утилиту testdisk и просканировали наш диск. Нашли пропавший раздел, восстановили /boot. Если раздел не нашли, то создали вручную.
  3. После этого смонтировали к livecd системе локальные диски, зачрутились в эту систему и штатно восстановили grub загрузчик.
  4. После этого система нормально загрузилась.

Заключение

В целом, мы выполнили типовую процедуру восстановления загрузки любого linux сервера, в том числе ubuntu. Если бы раздел boot не получилось восстановить, его нужно было бы создать вручную и проделать все то же самое с восстановлением grub. Это ключевой элемент загрузки linux. Система перестает загружаться чаще всего из-за проблем с ним. Он может быть поврежден установкой рядом других систем или неправильной разбивкой диска.

Читайте также: