Ядра паникула при установке Fedora 28

@ Решение Герберта, вероятно, самое простое, но вы также можете использовать lookarounds:

$ grep -Poz '(?<=:MENU1\n)[^:]*' file 
0. public
1. admin
2. webmail
  

-121--82049-

Причина его отказа с этой ошибкой - интерполяция $ (seq 1 $ k) внутри команды fanout .

Позвольте мне объяснить...

Выполнение seq 1 2 возвращает следующее значение:

1
2

Это значение находится внутри двойных кавычек, поэтому новая строка сохраняется в виде значимого текста. Поэтому команда fanout вычисляется следующим образом:

fanout server1  'umask 022 ; for k in 1
2 ; do for i in ear2 ; do echo /appl/as/bin/md5 /appl/as/var/spool/ears/abc/ ; done ; done'

Ваш ksh не понимает 2 на второй строке, поэтому он уступает.

Вы можете исправить это с помощью xargs , но затем вы попали во вторую потенциальную проблему, где вы используете k в качестве счетчика цикла, но $ k вычисляется до запуска цикла. Кроме того, имеется вложенный корпус, в котором $ ears необходимо оценить перед запуском сценария, но он используется в цикле, который изменяется во время выполнения.

Я нашел справочную страницу для fanout , но я не понимаю, почему вы запускаете цикл для одной системы ( server1 ), когда существует fanout для выполнения команды для нескольких систем. Если вы можете объяснить разницу между сервером и ухом , я могу предложить более чистый фрагмент кода. Мое первое предложение может быть таким:

ears='ear1,ear2'
cluster=abc
dmgr=server1

fanout "$dmgr" "/appl/as/bin/md5 /appl/as/var/spool/ears/${cluster}/{$ears}"

-121--254083-

Я не знаю о широко используемых инструментах, написанных ни на одном из этих языков. Node.js не больше зависимости, чем perl или python, хотя, возможно, не так, как обычно устанавливается. Вчера я только что установил узел 0.12 в системе Windows без проблем.

Мой вопрос - почему не C, python, perl, php, awk, bash скрипт или tcl? Все они имеют давнюю историю и широко доступны.

1
04.07.2018, 11:46
2 ответа

Решено .очевидно, проблема была с USB, поэтому я попытался снова отформатировать USB с помощью этой команды:

sudo dd if=/dev/zero of=/dev/sdb

затем запишите на него файл.iso. теперь он показывает страницу установки без проблем.

0
27.01.2020, 23:43

Содержание

  1. Пожалуйста, используйте метод записи на USB, который повторно -проверяет записанные данные. Это, наверное, очень сложно, извините.
  2. Как проверить с помощью команды cmpпосле dd.
  3. Файл initramfs, считанный с USB-накопителя, поврежден.
  4. Почему я виню initramfs, считанные с USB.

1. Пожалуйста, используйте метод записи на USB, который повторно -проверяет записанные данные. Это, наверное, очень сложно, извините.

У вас возникли проблемы с загрузкой, которые очень похожи на неверные данные на USB-накопителе. Следовательно,пожалуйста, используйте метод записи USB, который повторно -проверяет записанные данные.

ddсам по себе, повторно -не проверяет записанные данные. Пожалуйста, повторно -проверьте данные вручную, используя cmp, следуя точным инструкциям в следующем разделе. К сожалению, я не мог придумать более простого метода.

  • Диски GNOME можно использовать для записи USB (в инструкциях по установке Fedora сказано ). Но, похоже, -не проверяет записанные данные.

  • Официальные инструкции по установке Fedora «по умолчанию» Fedora Media Writer . По крайней мере, версия Fedora Media Writer , которая у меня есть, автоматически повторно -проверяет записанные данные после их записи на USB. Я не знаю простого способа установить Fedora Media Writer на вашу ОС Ubuntu :-(.

    https://docs.fedoraproject.org/f28/install-guide/install/Preparing_for_Installation.html

  • Программа Ubuntu Startup Disk Creator у меня вообще не работала. Я думаю, что он хочет писать только ISO-образы Ubuntu, а не Fedora.

2. Как проверить с помощью команды cmpпослеdd

В принципе, это может быть простая cmpкоманда. К сожалению, есть некоторые трудности, которые вернут бесполезные результаты, поэтому мне нужно их объяснить.

Я полагаю, что cmpтакже могут показать различия, если вы когда-либо разрешали монтировать записанный USB в системе Linux :-(. Это, вероятно, произойдет, если вы когда-нибудь снова подключите его к системе Linux после его написания! (Или успешно загрузить Fedora Live USB?? )Ты должен быть осторожен с ним!

Итак, вы хотите запустить ddдля записи данных, а затем команду cmpдля проверки данных USB без повторного -подключения USB (или перезагрузки )между ними.

Сначала запустите команду dd. Не забывайте проявлять большую осторожность и не стирайте содержимое внутреннего жесткого диска :).

Затем помните, что вы должны запустить sync, чтобы убедиться, что запись данных завершена.

Затем,вы сможете запустить echo 3 | sudo tee /proc/sys/vm/drop_caches. Этот шаг необходим, чтобы убедиться, что cmpне будет просто считывать данные из кэшей в системной оперативной памяти.

Тогда можно бежать

# cmp Fedora-Workstation-Live-28.iso /dev/sdb

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

В принципе, можно пойти дальше и проверить, правильно ли USB-накопитель сохраняет данные после его извлечения и отключения питания. Так что для этого потребуется альтернативный метод, отключающий автоматическое -монтирование вашего графического входа. Может быть очень сложно понять, как временно отключить автоматическое -монтирование :-(. Я думаю, что самый простой способ — войти в текстовую консоль и запустить оттуда свои команды. Убедитесь, что вы не вернетесь к графическому входу в систему, пока не закончите! Для получения дополнительной информации о входе в систему с текстовой консоли см. здесь .

3. Файл initramfs, считанный с вашего USB-накопителя, (вероятно, )поврежден

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

Для полноты полный список возможностей::-

  1. проблема с записью на USB
  2. проблема с ISO-образом, который вы в него записали
  3. проблема в вашем компьютере, например. Проблемы EFI/BIOS во время ранней загрузки
  4. «несовместимость» между вашим компьютером и этой версией Linux. (То есть, если кто-то считает, что ваш компьютер не виноват, ему придется винить конкретную версию Linux :).

4.Почему я обвиняю чтение initramfs с USB

Я нашел другие неразгаданные загадки, описанные с таким же сообщением об ошибке и очень похожими условиями:

[1.81660] ---[end Kernel] panic - not syncing: VFS: unable to mount root fs on unknown-block(0,0).

К сожалению, это не настоящая конкретная ошибка.

Я дважды -проверил; Fedora -Рабочая станция -Live 28 использует initramfs . Иногда его также называют типом initrd .

Эта ошибка будет показана, если вы настроили загрузку как с ядром, так и с initramfs, но какая-то ошибка препятствует загрузке initramfs.

Например, один из способов вызвать эту ошибку — нажать специальную клавишу в меню загрузки, чтобы начать временное редактирование параметров загрузки. Теоретически вы могли начать редактировать параметры загрузки и непреднамеренно удалить параметр initrd. Так что я должен упомянуть об этом как о возможности :). Обратите внимание, что этот тип редактирования является временным. Таким образом, вы можете просто загрузиться снова и убедиться, что вы не вносите изменения, которые отключают initramfs :).

В этом случае ядро ​​может «упасть» на загрузку в старом -стиле без initramfs, но тогда у него не будет никакого «блочного устройства», которое было указано для монтирования в качестве корневого fs. "(0,0 )" означает "неизвестно"; этот номер устройства никогда не является действительным блочным устройством.

Но я не думаю, что это сделали вы (и некоторые другие ).

Таким образом, я думаю, что в начале процесса загрузки может возникнуть более конкретная ошибка. К сожалению, если было сообщение об ошибке, возможно, вы его не видите, потому что оно прокручивается за пределы верхней части экрана, если с тех пор было слишком много сообщений :).

Поиск изображения для «невозможно смонтировать корневую файловую систему в неизвестном блоке -(0,0 )». показывает, что трассировка вызова ядра очень часто заполняет экран. Когда это происходит, вы не можете увидеть, было ли какое-либо предыдущее сообщение об ошибке.

Я нашел пример такой ошибки, размещенный относительно другого Linux:

https://bbs.archlinux.org/viewtopic.php?id=220178

Initramfs unpacking failed: junk in compressed archive
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
...
--- [end Kernel] panic - not syncing: VFS: unable to mount root fs on unknown-block(0,0).

РЕДАКТИРОВАТЬ :назвал его :-). «Ошибка распаковки Initramfs :» была настоящей ошибкой. «XZ -сжатые данные повреждены» указывает на то, что initramfs неправильно считывается с USB

1
27.01.2020, 23:43

Теги

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