Удается найти bin. Не удается найти (файл). Проверьте, правильно ли указано имя, и повторите попытку. Решение. Когда появляется системная ошибка «Error: не удается найти указанный файл»

У меня возникли проблемы при загрузке моей Linux-машины.

Во время фазы загрузки при запуске скрипта / он жалуется, что не смог найти mount . Моя PATH установлена ​​в /sbin и /bin .

Я попытался вызвать /bin/mount напрямую, что тоже не удалось, заявив, что его не существует.

Затем я включил find . , который был найден и показал, что /bin/mount был фактически доступен.

Я не уверен, что с этим делать. Я читал, что initramfs – это в основном оболочка busybox , так может ли проблема там находиться?

ОБНОВИТЬ

Кажется, что mount – единственная команда / файл, который не найден. Я начал работать в процессе загрузки; на вкладке завершена установка и найдена через find .

Однако, когда я попытался выполнить его, я получил сообщение об ошибке «не найден», как показано ниже.

ОБНОВЛЕНИЕ 2

Я решил проблему временно, заменив каждый экземпляр mount в моем /init с /bin/busybox mount . Это работает именно так.

2 Solutions collect form web for “/ init не может найти / bin / mount, но найти / может?”

Вы сохранили сценарий в режиме DOS (windows), то есть в конце каждой строки есть посторонний символ возврата.

Самый простой способ исправить это, вероятно, для загрузки файла в vim , измените режим с помощью:set notx и затем сохраните файл, например:wq .

Возможно, что /bin/mount является сломанной символической ссылкой. Это можно найти find . , потому что это отображает все записи каталога, но если вы попытаетесь запустить эту программу, это не сработает, так как в конце радуги нет файла. Ассемблеры BusyBox обычно являются ссылками на исполняемый файл BusyBox: mount -> busybox или mount -> /bin/busybox (если busybox находится в /bin).

Другая возможность заключается в том, что бинарный файл mount является одним из вашей живой системы. Этот двоичный файл представляет собой динамически связанную библиотеку, которая использует динамический загрузчик, который может отсутствовать в initramfs. См. Получение сообщения «Не найдено» при запуске 32-разрядного двоичного кода в 64-разрядной системе для объяснения аналогичного случая.

Ошибка запуска игры возникает при запуске Warface в файле D:\GamesMailRu\Warface\Bin2Release\Game.exe. Сам текст ошибки может быть разный: отказано в доступе, устройство не опознает команду, недостаточно системных ресурсов для завершения операции, неверны один или несколько аргументов, не удается найти указанный файл. В каждом конкретном случае решение может отличаться. Прежде всего рекомендуем:

  1. Запустите Warface от имени администратора. Кликните правой кнопкой мыши на ярлык с игрой и выберите «Запуск от имени администратора». Данное решение помогает в случаях с ошибкой связанной с доступом к исполняемым файлам.
  2. Переустановите или обновите Microsoft Visual C++, Microsoft .NET Framework и VCredist. как это сделать читайте ниже или по ссылке: Как обновить MS Visual C++, MS .NET, VCredist . Решение часто помогает с ошибкой: неверны один или несколько аргументов.
  3. Так же возможно повреждение файлов антивирусными программами. Попробуйте переустановить игру полностью.

Ошибка «недостаточно системных ресурсов»

Причина возникновения ошибки кроется в нехватке системных ресурсов. Возможно не хватает объема памяти на жестком диске, не хватает оперативной памяти или переполнен файл подкачки. Освободите место на жестком диске и увеличьте объем файла подкачки windows.

Ошибка «не удается найти указанный файл»

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

Время от времени наши компьютеры выдают различные ошибки: перестают открываться какие-либо программы или файлы, сам по себе включается режим перезагрузки и возникают другие проблемы. В этой статье я расскажу о том, почему на экране компьютера иногда появляется сообщение “Не удается найти (файл). Проверьте, правильно ли указано имя, и повторите попытку”, и что сделать, чтобы решить данную проблему.

Ищем решение проблемы

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

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

Решение проблемы при невозможности открытия exe-файлов

Существует несколько способов решения проблемы открытия exe-файлов. Рассмотрим их по порядку.

Переустановка софта

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

В этом случае выход – полная деинсталляция и установка программы, которая не может запуститься. Удалять софт лучше всего не через стандартные средства Windows, а при помощи специального программного обеспечения – Revo Uninstaller либо AIDA64. Они не только деинсталлируют проблемную программу, но и “подчистят” все ненужные остаточные файлы.

Изменение настроек Steam

Бывает, что сообщение о невозможности открыть определенный exe-файл «Не удается найти … Проверьте, правильно ли указано имя, и повторите попытку» появляется при запуске игры. В этом случае применяем следующий алгоритм действий:

  • Кликаем на папке Steam ПКМ и выбираем “Свойства”;
  • переходим на вкладку “Безопасность”;
  • в первом окошке “Группы или пользователи” выбираем строку “Пользователи”;
  • если по какой-либо причине эта строка отсутствует, то чуть ниже нажимаем “Изменить” и в следующем окне “Добавить”;
Выбираем пользователя в папке Steam
  • в окошке “Введите имена выбираемых объектов” вбиваем имя пользователя и кликаем “Проверить имена” (имя можно брать из строки “Администраторы” либо использовать имя гостя, зарегистрированное на данном ПК);

Вводим имена выбираемых объектов
  • после успешной проверки имени кликаем на ОК;
  • убеждаемся, что для выбранного пользователя во всех пунктах “Разрешить” проставлены галочки и кликаем ОК;
Проставляем разрешения для группы «Пользователи»
  • дожидаемся окончания ввода всех внесенных изменений и заново запускаем игру.

Редактор реестра и Диспетчер задач в помощь

  1. Можно попробовать и такой способ. Нажимаем ПКМ на Пуск (в Windows 10) и ищем строку “Выполнить”.
  2. Вводим regedit. Открывается Редактор реестра.
  3. Проходим следующий путь – HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run – ищем здесь проблемную строку и удаляем ее.

Удаляем файл в папке Run

Также может помочь отключение автозагрузки приложения, в котором возникает ошибка «Не удается найти (файл)». Открываем Диспетчер задач (в кнопке Пуск), ЛКМ выбираем нужную программу, затем кликаем на нее ПКМ и выбираем “Отключить”.

Решение проблемы с открытием Excel

Если не получается открыть книгу Excel и выходит сообщение о том, что не удается найти (файл) — нужно проверить, правильно ли указано имя, и повторить попытку, то нужно проделать следующее. Так как причиной ошибки в данном случае может быть запрет принятия DDE-запросов от других приложений, то его необходимо снять. Для этого нужно убрать флажок в строке “Игнорировать DDE-запросы от других приложений”. В Excel 2007 данная строка находится в дополнительных параметрах в кнопке Microsoft Office. В Excel 2003 и более старых версиях – в общих параметрах в меню Сервис.

Ошибка в редакторе локальной групповой политики

В процессе деятельности мы можем столкнуться с тем, что при запуске редактора локальной групповой политики появится окно с сообщением о том, что не удается найти файл gpedit.msc. Не спешим искать данный файл на своем компьютере, а вспоминаем или смотрим, какая версия Windows установлена на ПК. Если базовая или домашняя – в них редактор ЛГП просто не предусмотрен.

В данном случае действуем двумя методами:

  • ищем другой путь, где нам не понадобятся функции редактора (они помогают легче управлять системными настройками через ввод изменений в реестр);
  • переустанавливаем ОС до корпоративной, профессиональной и другой версии, имеющей узкую специализацию.

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

Ошибка с сообщением о том, что системе не удается найти указанный файл, почему-то чаще всего появляется в Windows 7, хотя она по праву считается одной из самых стабильных и популярных ОС во сем мире. С чем это связано и как устранить такую проблему, сейчас будет рассмотрено.

Когда появляется системная ошибка «Error: не удается найти указанный файл»?

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

Однако наиболее распространенной проблемой является функционирование «Центра обновления» и отвечающей за его работу системной службы. Все причины рассмотреть просто невозможно, поскольку даже в описаниях, представленных корпорацией Microsoft, их можно найти более пяти тысяч. Иногда указывающая на ненайденные файлы может появляться и при установке, и при создании резервной копии, и при восстановлении. Устранение этой проблемы будет рассмотрено отдельно.

Ошибка «Не удается найти указанный файл»: установка обновлений

Поскольку самой частой причиной является сбой установки апдейтов, начать нужно именно с этого. В Windows для устранения проблемы нужно использовать соответствующий раздел, который можно вызвать из «Панели управления».

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

Корректировка настроек даты и времени

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

Пытаться изменить время и дату непосредственно в системе не стоит, поскольку это может и не дать должного эффекта. Оптимальным вариантом считается установка корректных параметров в BIOS при старте компьютера или ноутбука.

Перезапуск службы апдейта

Действия с «Центром обновления» могут и не привести к желаемому результату, поскольку в отвечающей за его работу службе мог произойти программный сбой (в этом случае при поиске тоже может выдаваться предупреждение о том, что системе не удается найти указанный файл апдейта). В этом случае нужно будет произвести ручной перезапуск данного системного процесса.

Для осуществления таких действий используется раздел служб, который можно вызвать через меню администрирования компьютера, но лучше использовать консоль «Выполнить» (Win + R), где следует прописать сочетание services.msc.

Здесь нужно найти соответствующий процесс и просто остановить его специальной кнопкой в меню редактирования параметров и настроек.

Сразу же перезапускать службу или делать это после немедленной перезагрузки нельзя (в этом случае сообщение о том, что системе не удается найти указанный файл, при попытке обновления появится снова). Остановить соответствующий процесс (wuauserv) можно из командой строки с использованием команды net stop, а произвести повторный запуск через net start.

На втором этапе следует открыть «Проводник» или любой другой используемый файловый менеджер и в основной директории системы (Windows) найти подкаталог SoftwareDistibution. Здесь есть два варианта действий. Можно полностью попытаться удалить его содержимое, но это вряд ли получится. А можно просто переименовать папку, добавив к названию Old. Только после таких манипуляций можно вернуться в раздел служб и активировать остановленный процесс заново.

Проверка при восстановлении системы

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

В самом простом варианте, когда есть стабильное подключение к интернету, можно использовать сначала проверку целостности системных компонентов (sfc /scannow), а затем применить непосредственно команду сканирования состояния и восстановления, как показано на изображении выше.

Утилиты для автоматического исправления ошибки

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

Самой простой и наиболее популярной считается утилита Fix It Centre, разработанная непосредственно корпорацией Microsoft. Параллельно с ней желательно применять и программу поиска отсутствующих системных библиотек DLL Suite. Только в этом случае можно быть уверенным, что сообщение об ошибке не будет выдано снова. Кстати, первая программа исправляет не только сбои «Центра обновления», а еще и кучу других проблем, например, касающихся подключения к интернету.

С чем еще может быть связана ошибка?

Касательно установки апдейтов, сбой может вызываться не только обновлением самой системы. Зачастую идентичные ошибки могут появляться при попытке поиска или инсталляции апдейтов для других программных продуктов Microsoft. В первую очередь, это относится к MS Office. Если пользователь видит, что апдейты для Windows устанавливаются, а для других программ не хотят, нужно просто отключить их поиск и последующую интеграцию в систему.

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

with options (11)

Я пытаюсь скомпилировать мою программу, и она возвращает эту ошибку:

Usr/bin/ld: cannot find -l

в моем makefile я использую команду g++ и ссылку на мою библиотеку, которая является символической ссылкой на мою библиотеку, расположенную в другом каталоге.

Есть ли возможность добавить, чтобы заставить его работать, пожалуйста?

Answers

Проверьте расположение вашей библиотеки, например lxxx.so:

Locate lxxx.so

Если он не находится в папке /usr/lib , введите следующее:

Sudo cp yourpath/lxxx.so /usr/lib

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

Моя проблема заключалась в том, что я переименовал родительский каталог программы, которую я запускал (mpicc из MVAPICH), и это каким-то образом испортило двоичный файл. Даже допинг LD_LIBRARY_PATH был недостаточным, и мне пришлось перекомпилировать его на правильный путь.

В библиотеке, с которой я пытался ссылаться, оказалось нестандартное имя (т. Е. Не было префикс «lib»), поэтому они рекомендовали использовать такую ​​команду для ее компиляции -

gcc test.c -Iinclude lib/cspice.a -lm

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

На платформах Debianish, если libfoo отсутствует, вы можете часто устанавливать его с чем-то вроде

Apt-get install libfoo-dev

Для -dev версия -dev пакета, даже тривиальная разработка, такая как компиляция исходного кода для связи с библиотекой.

Название пакета иногда требует некоторых украшений (libfoo0-dev ? foo-dev без префикса lib т. Д.), Или вы можете просто использовать пакетный поиск вашего дистрибутива, чтобы точно определить, какие пакеты предоставляют конкретный файл.

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

Для других архитектур (в частности, RPM) применяются аналогичные процедуры, хотя детали будут разными.

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

Например, я столкнулся с этой проблемой при попытке скомпилировать MySQL с поддержкой ZLIB. Во время компиляции я получал такую ​​ошибку:

/usr/bin/ld: cannot find -lzlib

Я сделал некоторые Googl"ing и продолжал сталкиваться с различными проблемами того же типа, где люди говорили бы, чтобы файл.so действительно существовал, а если нет, то создайте символическую ссылку на файл с версией, например zlib. so.1.2.8. Но, когда я проверил, zlib.so DID существует. Поэтому я подумал, что это не может быть проблемой.

Я столкнулся с другим сообщением в Интернете, которое предложило запустить make с LD_DEBUG = all:

LD_DEBUG=all make

Хотя я получил TON отладочного вывода, на самом деле это было не очень полезно. Это добавило больше путаницы, чем что-либо еще. Итак, я собирался сдаться.

Тогда у меня было прозрение. Я решил проверить текст справки для команды ld:

Ld --help

Из этого я понял, как запустить ld в подробном режиме (представьте себе):

Ld -lzlib --verbose

Это результат, который я получил:

================================================== attempt to open /usr/x86_64-linux-gnu/lib64/libzlib.so failed attempt to open /usr/x86_64-linux-gnu/lib64/libzlib.a failed attempt to open /usr/local/lib64/libzlib.so failed attempt to open /usr/local/lib64/libzlib.a failed attempt to open /lib64/libzlib.so failed attempt to open /lib64/libzlib.a failed attempt to open /usr/lib64/libzlib.so failed attempt to open /usr/lib64/libzlib.a failed attempt to open /usr/x86_64-linux-gnu/lib/libzlib.so failed attempt to open /usr/x86_64-linux-gnu/lib/libzlib.a failed attempt to open /usr/local/lib/libzlib.so failed attempt to open /usr/local/lib/libzlib.a failed attempt to open /lib/libzlib.so failed attempt to open /lib/libzlib.a failed attempt to open /usr/lib/libzlib.so failed attempt to open /usr/lib/libzlib.a failed /usr/bin/ld.bfd.real: cannot find -lzlib

Дин, динг, динг...

Итак, чтобы окончательно исправить это, я мог бы скомпилировать MySQL с моей собственной версией ZLIB (а не в комплекте):

Sudo ln -s /usr/lib/libz.so.1.2.8 /usr/lib/libzlib.so

Время компиляции

Когда G ++ говорит, что cannot find -l , это означает, что G ++ искал файл lib{nameOfTheLibrary}.so , но он не мог найти его в пути поиска совместно используемой библиотеки, который по умолчанию указывает на /usr/lib и /usr/local/lib и где-то еще.

Чтобы решить эту проблему, вы должны либо предоставить файл библиотеки (lib{nameOfTheLibrary}.so) в этих путях поиска, либо использовать команду -L . -L{path} указывает G ++ (фактически ld) на поиск файлов библиотеки в пути {path} в дополнение к путям по умолчанию.

Пример. Предполагая, что у вас есть библиотека на /home/taylor/libswift.so , и вы хотите связать свое приложение с этой библиотекой. В этом случае вы должны предоставить G++ следующие параметры:

G++ main.cpp -o main -L/home/taylor -lswift

    Примечание 1 : -l получает имя библиотеки без lib и.so в начале и в конце.

    Примечание 2 : В некоторых случаях за именем файла библиотеки следует его версия, например libswift.so.1.2 . В этих случаях G ++ также не может найти файл библиотеки. Простым обходным libswift.so.1.2 для устранения этого является создание символической ссылки на libswift.so.1.2 под названием libswift.so .

время выполнения

Когда вы связываете свое приложение с общей библиотекой, требуется, чтобы библиотека оставалась доступной всякий раз, когда вы запускаете приложение. Во время выполнения ваше приложение (фактически динамическое компоновщик) ищет свои библиотеки в LD_LIBRARY_PATH . Это переменная среды, в которой хранится список путей.

Пример. В случае нашего примера libswift.so динамический компоновщик не может найти libswift.so в LD_LIBRARY_PATH (что указывает на пути поиска по умолчанию). Чтобы исправить проблему, вы должны добавить эту переменную с помощью пути libswift.so .

Export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/taylor

Если имя вашей библиотеки называется libxyz.so и оно расположено на пути, скажите:

/home/user/myDir

затем связать его с вашей программой:

G++ -L/home/user/myDir -lxyz myprog.cpp -o myprog

Во-первых, вам нужно знать правило именования lxxx:

/usr/bin/ld: cannot find -lc /usr/bin/ld: cannot find -lltdl /usr/bin/ld: cannot find -lXtst

lc означает libc.so , lltdl означает libltdl.so , lXtst означает libXts.so .

Таким образом, это lib + lib-name + .so

Как только мы узнаем имя, мы можем использовать locate чтобы найти путь к этому файлу lxxx.so

$ locate libiconv.so /home/user/anaconda3/lib/libiconv.so # <-- right here /home/user/anaconda3/lib/libiconv.so.2 /home/user/anaconda3/lib/libiconv.so.2.5.1 /home/user/anaconda3/lib/preloadable_libiconv.so /home/user/anaconda3/pkgs/libiconv-1.14-0/lib/libiconv.so /home/user/anaconda3/pkgs/libiconv-1.14-0/lib/libiconv.so.2 /home/user/anaconda3/pkgs/libiconv-1.14-0/lib/libiconv.so.2.5.1 /home/user/anaconda3/pkgs/libiconv-1.14-0/lib/preloadable_libiconv.so

Если вы не можете найти его, вам нужно установить его на yum (я использую CentOS). Обычно у вас есть этот файл, но он не ссылается на нужное место.

Свяжите его с нужным местом, обычно это /lib64 или /usr/lib64

$ sudo ln -s /home/user/anaconda3/lib/libiconv.so /usr/lib64/

Во время компиляции с g++ через make определите LIBRARY_PATH если может быть нецелесообразно изменять Makefile с опцией -L . Я поместил свою дополнительную библиотеку в /opt/lib так что я сделал:

$ export LIBRARY_PATH=/opt/lib/

а затем запустить make для успешной компиляции и компоновки.

Для запуска программы с общей библиотекой определите:

$ export LD_LIBRARY_PATH=/opt/lib/

перед выполнением программы.

Ваш ubuntu определенно имеет достаточно последнюю версию g ++. Используемый флаг: -std=c++0x .