Удален системный зарезервированный раздел, раздел EFI, теперь не удается загрузить Ubuntu

Идиоматический способ Awk сделать это, вероятно, был бы

awk 'BEGIN{FS=","; OFS="\n"} {$1=$1} 1'

или эквивалент

awk '{$1=$1} 1' FS=, OFS='\n'

{$1=$1}просто заставляет повторно -оценить запись с новым разделителем OFS, а 1запускает действие printпо умолчанию. Вы можете использовать другие выражения, такие как NF += 0, чтобы вызвать оценку re -, если вы предпочитаете -, это вопрос предпочтений.

Быстрый и грязный путь был бы

awk -vRS=, 1

(или awk 1 RS=,), который обрабатывает каждое слово, разделенное запятой -, как целую запись и выводит их с разделителем записи новой строки по умолчанию.

2
01.07.2020, 00:55
1 ответ

Добро пожаловать в StackExchange для Unix и Linux!

/dev/sda1— это имя устройства Linux, соответствующего вашему системному разделу EFI, а /boot/efi— это место, где ожидается монтирование раздела EFI.

Сообщения об ошибках ACPI, вероятно, не являются фатальными и, скорее всего, не связаны друг с другом. Ядро Linux успешно запускается, но в процессе загрузки что-то идет не так. И поскольку вы уничтожили и воссоздали некоторые разделы, наиболее вероятной причиной является то, что содержимое файла /etc/fstabбольше не соответствует фактическому разделению вашего диска.

Чтобы что-либо делать в этом состоянии, сначала нужно ввести пароль root. Если вы не установили специальный пароль root, он может совпадать с паролем первой учетной записи пользователя, созданной при установке системы. Пока вы не нажмете Enter, не будет никаких звездочек или каких-либо видимых подтверждений ваших нажатий клавиш. Если вы сможете успешно ввести пароль root, вы окажетесь в командной строке с привилегиями root и сможете начать проверку и исправление ошибок.

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

В /etc/fstabвы можете указать дисковые устройства либо по имени устройства, например /dev/sda1, либо по UUID файловой системы, например UUID=<some hexadecimal numbers>. UUID — это число, сгенерированное во время создания файловой системы («форматирования» )и по существу случайное. По умолчанию современная Ubuntu использует последний метод, чтобы указать, что системный раздел EFI необходимо смонтировать в /boot/efi.Результирующая строка в /etc/fstabдолжна выглядеть примерно так:

UUID="XXXX-XXXX"    /boot/efi    vfat    umask=0077,shortname=winnt,flush,tz=UTC,codepage=437,iocharset=iso8859-1 0 2

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

Теперь, когда вы удалили и заново создали системный раздел EFI, его UUID изменился. Но инструкции, которым вы следовали, похоже, не содержали никаких советов по его обновлению. Вы можете использовать команду /sbin/blkid /dev/sda1, чтобы узнать новый UUID. Ответ должен быть примерно таким:

/dev/sda1: LABEL="EFISYS" UUID="1BC6-5A0E" TYPE="vfat" PARTLABEL="EFISYS" PARTUUID="4fb8aadb-9507-44b5-8cab-a052a0091e2b"

Важной вещью является часть UUID="1BC6-5A0E":, которая сообщает вам UUID, необходимый для обновления файла /etc/fstab. (PARTUUIDне используется в /etc/fstab, но если вы когда-либо редактируете параметры загрузки микропрограммы с помощью команды efibootmgr, имейте в виду, что UUID, используемые с ней, являются именно PARTUUID.)

Скорее всего, после того, как вы введете пароль root и попадете в командную строку, вам потребуется всего несколько команд.

Чтобы узнать новый UUID:

/sbin/blkid /dev/sda1

Для редактирования файла /etc/fstab:

nano /etc/fstab

Если редактору nanoне удается сохранить измененный файл, вам может потребоваться запустить эту команду, а затем снова попытаться отредактировать файл:

mount -o remount,rw /

После успешного редактирования файла /etc/fstabвам просто нужно использовать команду exit, чтобы выйти из аварийной командной строки и возобновить процесс загрузки.

1
18.03.2021, 23:23

Теги

Похожие вопросы