Идиоматический способ 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=,
), который обрабатывает каждое слово, разделенное запятой -, как целую запись и выводит их с разделителем записи новой строки по умолчанию.
Добро пожаловать в 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
, чтобы выйти из аварийной командной строки и возобновить процесс загрузки.