Если у Вас есть BIOS (никакой UEFI) переустанавливают и гарантируют, что установщик не настраивает efi раздел. Если это не поражает личинку (Вы' не видите меню), проблема с передачей от встроенного микропрограммного обеспечения до загрузчика. установка личинки к диску, а не разделу может помочь с этим также.
У меня была подобная проблема с Centos на моей плате BIOS/UEFI при попытке установить раздел начальной загрузки EFI. Я закончил тем просто, что использовал загрузочную конфигурацию BIOS.
Предполагаемые команды, выполняемые в неинтерактивных оболочках с управлением задания отключены (как именно в случае в сценариях оболочки) получить их stdin
, неявно перенаправлена из / dev / null
.
sh -c 'nc -l 12345 1>nc_out & lsof -p $!'
Из POSIX.1-2008 :
2. Командный язык Shell
[...]
асинхронные списки
Если команда прекращается оператором управления ('&'), Оболочка должна выполнять команду асинхронно в подпункте. Это означает что оболочка не должна ждать команды, чтобы закончить перед выполнением следующая команда.
Формат для запуска команды на заднем плане:
Command1 & [Command2 & ...]
Стандартный вход для асинхронного списка, перед любым явным Выполняется перенаправления, считается присвоенным файлу Это имеет те же свойства, что и / dev / null . Если это интерактивный Оболочка, это не должно быть. Во всех случаях явное перенаправление стандарта Вход должен переопределять эту активность.
Когда клиент Client
устанавливает свое подключение к localhost
и уже запущено NC
через порт 12345
, фон NC
Команда, по-видимому, обнаруживает EOF на своем stdin и запускает процесс отключения, потому что он принудительно считывает от / dev / null. Возвращаемое значение нуля Zero чтения
( MAN 2 READ
) указывает на конец файла.
# strace output (from http://pastebin.com/YZHW31ef)
14:32:26 read(0, "", 2048) = 0
14:32:26 shutdown(4, 1 /* send */) = 0
Вот некоторые решения для сохранения Telnet
, работающих и связывающиеся с :
:
sh -c 'nc -l 12345 0<&0 1>nc_out &'
sh -c 'nc -l 12345 0<&- 1>nc_out &'
sh -c 'tail -f /dev/null | nc -l 12345 1>nc_out &'
sh -c 'rm -f fifo; mkfifo fifo; exec 3<>fifo; nc -l 12345 0<fifo 1>nc_out &'
nc -ld host port >> logfile &
-d Не пытайтесь читать со стандартного ввода.
Это будет выполнено ‘nc’ в фоновом режиме.
Поскольку при фоновом выполнении 'nc' он будет читать stdin stdout stderr.
Если чтение stdin не запрещено, оно прервется.
пример:
nc -ld 12345 > nc_out
nc 127.0.0.1 12345
#enter something
Данные сохраняются в файле nc _out .