Net simulator ошибка ввода вывода при чтении файла конфигурации

0 / 0 / 0

Регистрация: 28.05.2020

Сообщений: 10

1

28.05.2020, 21:02. Показов 4424. Ответов 8


Студворк — интернет-сервис помощи студентам

Что бы запустить NET-Simulator используйте скрипты из
домашнего каталога программы run.sh или run.bat для
UNIX и Windows соответственно. Для запуска необходимо,
что бы JRE была правильно установлена и путь к java
находился в переменной окружения PATH.

Почему у меня строка run.bat появляется на 1 секунду и потом сразу исчезает
и как это с помощью скриптов
ОБЪЯСНИТЕ пожалуйстааааа, я не понимаю

Добавлено через 3 минуты
помогите пожалуйстаааа, я целый день не могу установить эту программуу(((



0



Эксперт по компьютерным сетям

4671 / 2057 / 436

Регистрация: 17.10.2015

Сообщений: 8,850

28.05.2020, 21:59

2

Не знаю… всё запускается

Кликните здесь для просмотра всего текста

Как запустить NET-SIMULAR



0



Эксперт по компьютерным сетям

4671 / 2057 / 436

Регистрация: 17.10.2015

Сообщений: 8,850

28.05.2020, 22:06

3

Цитата
Сообщение от NCT127
Посмотреть сообщение

Почему у меня строка run.bat появляется на 1 секунду и потом сразу исчезает

потому как командный файл Javu не может найти



0



Модератор

Эксперт по компьютерным сетям

11147 / 6948 / 1885

Регистрация: 25.12.2012

Сообщений: 29,289

28.05.2020, 23:15

4

romsan, это АД….



0



0 / 0 / 0

Регистрация: 28.05.2020

Сообщений: 10

29.05.2020, 09:37

 [ТС]

5

А что нужно сделать, чтобы командный файл JAVA смог найти
Надеюсь, что я JAVA правильно скачал)

Добавлено через 55 минут
у меня кажется получилось установить, ееееее
только вот у меня выходит ошибка ввода/вывода при чтении файла конфигурации
это значит, что нужно в другую папку переместить Net-Simulator, в имени которой содержатся не ASCII символы.
Проблема теперь в том, что я не знаю какую мне папку выбрать(



0



Эксперт по компьютерным сетям

4671 / 2057 / 436

Регистрация: 17.10.2015

Сообщений: 8,850

29.05.2020, 10:03

6

Лучший ответ Сообщение было отмечено NoNaMe как решение

Решение

Цитата
Сообщение от NCT127
Посмотреть сообщение

я не знаю какую мне папку выбрать(

я, просто ради интереса, скачал Net-simular. Распаковал в c:NET-simular, запустил *.bat. У меня, так же как и у Вас, моргнуло окно командной строки и всё. Я, открыл этот bat -файл и в конце прописал слово Pause. Опять запустил bat и, окно открылось но не закрылось (стояло на паузе) и в окне я прочел, что система не может найти Java. Я зашел на оф сайт Java, стянул инсталятор java, проинсталил, и, после запуска bat-ника net-simular у меня всё запустилось.

ПыСы: ОС Win7x64



0



0 / 0 / 0

Регистрация: 28.05.2020

Сообщений: 10

29.05.2020, 10:57

 [ТС]

7

Можно у вас спросить какое название папки, в которой у вас находится net-simulator?
у меня при открытии bat программа открывается но там выходит ошибка
а чтобы этой ошибки не было пишется, чтобы программу сохраняли в папке в названии которой содержатся не ASCII символы.

Добавлено через 2 минуты
что такое ПыСы?)

Добавлено через 33 минуты
Я сейчас заплачуу
у меня получилось
УРААА

Добавлено через 2 минуты
Всем большое спасибо<3



0



Эксперт по компьютерным сетям

4671 / 2057 / 436

Регистрация: 17.10.2015

Сообщений: 8,850

29.05.2020, 11:49

8

NCT127,



0



Модератор

Эксперт по компьютерным сетям

11147 / 6948 / 1885

Регистрация: 25.12.2012

Сообщений: 29,289

29.05.2020, 12:43

9


УРА



0



Добрый день всем я не понимаю почему я не могу получить доступ к файлу на моей флешке. Я отредактировал указанный файл менее чем за 2 минуты, сохранил его, удостоверился, что нажал кнопку размонтирования, и перезапустил мой компьютер (я научился нажимать размонтировать трудным способом). Теперь, когда я пытался получить доступ к файлу, он выдает мне следующую ошибку: Неожиданная ошибка: ошибка чтения из файла: ошибка ввода / вывода

когда я пытаюсь скопировать его в другое место на диске, я получаю следующую ошибку при открытии файла ‘/media/ubuntu/ имя диска / новая папка / имя файла’: файловая система только для чтения

Когда я копирую файл на рабочий стол, я получаю следующее: Ошибка соединения файла: ошибка ввода / вывода

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

большое спасибо

I am trying to test my Web Service on an IIS instance on my local machine before I promote to a windows server 2008 environment. I get this when I attempt to browse to the service. I have created a custom application pool that this service will run under btw. So I am guessing that that application ID does not have permissions to access that folder etc… I get this little detail btw…

«This error occurs when there is a problem reading the configuration file for the Web server or Web application. In some cases, the event logs may contain more information about what caused this error.»

I am thinking I need to give that application identity permissions, but I am unsure how to accomplish this.

Is there another way to get this done?

asked Feb 1, 2012 at 17:45

SoftwareSavant's user avatar

SoftwareSavantSoftwareSavant

9,41127 gold badges121 silver badges195 bronze badges

Not sure whether this is too late for you.

The IIS website is run by either USERS or IIS_IUSRS.

Try to do following:

  • From Windows Explorer
  • Right click on the folder pointed by the web
  • Go to security tab
  • Add computernameIIS_IUSRS or computernameUSERS with Read permission.

Ankit Tiwari's user avatar

Ankit Tiwari

4,3763 gold badges14 silver badges41 bronze badges

answered Mar 19, 2012 at 6:43

Qinjie's user avatar

1.Open IIS
2.On left side panel click on application pools
3.And go to its properties and change identity value from «ApplicationPoolIdentity» to «Local System».

I resolved the problem when i tried this.

answered Apr 25, 2014 at 11:07

Sudha's user avatar

SudhaSudha

1591 silver badge2 bronze badges

5

I faced a similar issue on Windows 8.1. I fixed it by changing identity value from ApplicationPoolIdentity to Local System.

shivam's user avatar

shivam

16k3 gold badges55 silver badges71 bronze badges

answered Apr 29, 2015 at 8:57

Marizu's user avatar

MarizuMarizu

511 silver badge1 bronze badge

Check your sites Security -> Authentication feature. If anonymousAuthentication is enabled, click on the Edit link (in the Actions column) to see which identity is being used; if it is IUSR, make sure IUSR has FileSystem ACL privileges on the website’s folder and files. If it set to ‘ApplicationPoolIdentity‘ make sure group IIS_IUSRS has the same rights, because the ‘ApplicationPoolIdentity’ is dynamically added to the IIS_IUSRS group at runtime.

answered Nov 29, 2016 at 21:07

Marvin's user avatar

MarvinMarvin

3894 silver badges10 bronze badges

1

Modifying the application’s identity setting from «ApplicationPoolIdentity» to «LocalSystem» on IIS(7) solved my issue. when adding permission to the IIS_IUSRS did not. I don’t quite understand why though.

answered May 1, 2014 at 9:59

Halima's user avatar

For me, I just transferred my files under c:inetpubwwwroot and the error is gone.

answered May 15, 2013 at 6:47

Angela T's user avatar

All I had to do was edit permissions for the virtual directory(application) in IIS 7.5 and add IUSR to the permissions. That fixed it.

answered Oct 8, 2014 at 15:54

user580735's user avatar

If you chosen old version of .Net framework in application pool of IIS may sometimes cause this issue. So Try with higher .net framework version.

answered Oct 25, 2016 at 14:10

ijas Mohammed's user avatar

Я создал приложение .NET Core MVC и использовал Dependency Injection and Repository Pattern для ввода репозитория в свой контроллер. Однако я получаю сообщение об ошибке:

InvalidOperationException: не удается разрешить службу для типа «WebApplication1.Data.BloggerRepository» при попытке активировать «WebApplication1.Controllers.BlogController».

Модель (Blog.cs)

namespace WebApplication1.Models
{
    public class Blog
    {
        public int BlogId { get; set; }
        public string Url { get; set; }
    }
}

DbContext (BloggingContext.cs)

using Microsoft.EntityFrameworkCore;
using WebApplication1.Models;

namespace WebApplication1.Data
{
    public class BloggingContext : DbContext
    {
        public BloggingContext(DbContextOptions<BloggingContext> options)
            : base(options)
        { }
        public DbSet<Blog> Blogs { get; set; }
    }
}

Репозиторий (IBloggerRepository.cs и BloggerRepository.cs)

using System;
using System.Collections.Generic;
using WebApplication1.Models;

namespace WebApplication1.Data
{
    internal interface IBloggerRepository : IDisposable
    {
        IEnumerable<Blog> GetBlogs();

        void InsertBlog(Blog blog);

        void Save();
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using WebApplication1.Models;

namespace WebApplication1.Data
{
    public class BloggerRepository : IBloggerRepository
    {
        private readonly BloggingContext _context;

        public BloggerRepository(BloggingContext context)
        {
            _context = context;
        }

        public IEnumerable<Blog> GetBlogs()
        {
            return _context.Blogs.ToList();
        }

        public void InsertBlog(Blog blog)
        {
            _context.Blogs.Add(blog);
        }

        public void Save()
        {
            _context.SaveChanges();
        }

        private bool _disposed;

        protected virtual void Dispose(bool disposing)
        {
            if (!_disposed)
            {
                if (disposing)
                {
                    _context.Dispose();
                }
            }
            _disposed = true;
        }

        public void Dispose()
        {
            Dispose(true);
            GC.SuppressFinalize(this);
        }
    }
}

Startup.cs(соответствующий код)

public void ConfigureServices(IServiceCollection services)
{
    // Add framework services.
    services.AddDbContext<BloggingContext>(options =>
        options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

    services.AddScoped<IBloggerRepository, BloggerRepository>();

    services.AddMvc();

    // Add application services.
    services.AddTransient<IEmailSender, AuthMessageSender>();
    services.AddTransient<ISmsSender, AuthMessageSender>();
}

Контроллер (BlogController.cs)

using System.Linq;
using Microsoft.AspNetCore.Mvc;
using WebApplication1.Data;
using WebApplication1.Models;

namespace WebApplication1.Controllers
{
    public class BlogController : Controller
    {
        private readonly IBloggerRepository _repository;

        public BlogController(BloggerRepository repository)
        {
            _repository = repository;
        }

        public IActionResult Index()
        {
            return View(_repository.GetBlogs().ToList());
        }

        public IActionResult Create()
        {
            return View();
        }

        [HttpPost]
        [ValidateAntiForgeryToken]
        public IActionResult Create(Blog blog)
        {
            if (ModelState.IsValid)
            {
                _repository.InsertBlog(blog);
                _repository.Save();
                return RedirectToAction("Index");
            }
            return View(blog);
        }
    }
}

Я не уверен, что я делаю неправильно. Любые идеи?

4b9b3361

Ответ 1

Исключение говорит, что он не может разрешить службу для WebApplication1.Data.BloggerRepository, потому что конструктор на вашем контроллере запрашивает конкретный класс вместо интерфейса. Поэтому просто измените это:

public BlogController(IBloggerRepository repository)
//                    ^
//                    Add this!
{
    _repository = repository;
}

Ответ 2

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

var config = Configuration.GetSection("subservice").Get<SubServiceConfig>();
services.AddScoped<ISubService>(provider => new SubService(config.value1, config.value2));

Ответ 3

Я столкнулся с этой проблемой, потому что в настройке внедрения зависимостей мне не хватало зависимости репозитория, которая является зависимостью контроллера:

services.AddScoped<IDependencyOne, DependencyOne>();    <-- I was missing this line!
services.AddScoped<IDependencyTwoThatIsDependentOnDependencyOne, DependencyTwoThatIsDependentOnDependencyOne>();

Ответ 4

Только если у меня такая же ситуация, как у меня, я делаю учебник EntityFramework с существующей базой данных, но когда в папках моделей создается новый контекст базы данных, нам нужно обновить контекст при запуске, но не только в services.AddDbContext, но AddIdentity тоже, если у вас есть аутентификация пользователей

services.AddDbContext<NewDBContext>(options =>
                options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

services.AddIdentity<ApplicationUser, IdentityRole>()
                .AddEntityFrameworkStores<NewDBContext>()
                .AddDefaultTokenProviders();

Ответ 5

У меня была другая проблема, и да, параметризованный конструктор для моего контроллера уже был добавлен с правильным интерфейсом. То, что я сделал, было чем-то простым. Я просто захожу в свой файл startup.cs, где я вижу вызов метода регистрации.

public void ConfigureServices(IServiceCollection services)
{
   services.Register();
}

В моем случае этот метод Register находился в отдельном классе Injector. Поэтому я должен был добавить свои недавно представленные интерфейсы туда.

public static class Injector
{
    public static void Register(this IServiceCollection services)
    {
        services.AddTransient<IUserService, UserService>();
        services.AddTransient<IUserDataService, UserDataService>();
    }
}

Если вы видите, параметром для этой функции является this IServiceCollection

Надеюсь это поможет.

Ответ 6

Я получил эту проблему из-за довольно глупой ошибки. Я забыл перехватить процедуру настройки службы для автоматического обнаружения контроллеров в приложении ASP.NET Core.

Добавление этого метода решило это:

// Add framework services.
            services.AddMvc()
                    .AddControllersAsServices();      // <---- Super important

Ответ 7

Мне пришлось добавить эту строку в ConfigureServices, чтобы работать.

services.AddSingleton<IOrderService, OrderService>();

Ответ 8

Вам нужно добавить новый сервис для DBcontext при запуске

По умолчанию

services.AddDbContext<ApplicationDbContext>(options =>
                options.UseSqlServer(
                    Configuration.GetConnectionString("DefaultConnection")));

Добавь это

services.AddDbContext<NewDBContext>(options =>
                options.UseSqlServer(
                    Configuration.GetConnectionString("NewConnection")));

Ответ 9

ооо Спасибо @kimbaudi, я следил за этим

Generic Repository Pattern in C#

и получил ту же ошибку, что и ваш. Но после прочтения вашего кода я узнал, что мое решение добавляет

services.AddScoped(IGenericRepository, GenericRepository);

в метод ConfigureServices в файле StartUp.cs =))

Ответ 10

Public void ConfigureServices(IServiceCollection services)
{
    services.AddScoped<IEventRepository, EventRepository>();           
}

Вы забыли добавить Addscope при запуске метода Configureservices.

Ответ 11

Если вы используете AutoFac и получаете эту ошибку, вам следует добавить оператор «As», чтобы указать службу, реализуемую конкретной реализацией.

Т.е. вы должны написать:

containerBuilder.RegisterType<DataService>().As<DataService>();

вместо

containerBuilder.RegisterType<DataService>();

Ответ 12

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

services.AddTransient<IMyDataProvider, MyDataAccess>();'

Ответ 13

Я получал ниже исключения

        System.InvalidOperationException: Unable to resolve service for type 'System.Func'1[IBlogContext]' 
        while attempting to activate 'BlogContextFactory'.rn at 
        Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateArgumentCallSites(Type serviceType, Type implementationType, ISet'1 callSiteChain, ParameterInfo[] parameters, Boolean throwIfCallSiteNotFound)rn at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateConstructorCallSite(Type serviceType, Type implementationType, ISet'1 callSiteChain)rn at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.TryCreateExact(ServiceDescriptor descriptor, Type serviceType, ISet'1 callSiteChain)rn at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.TryCreateExact(Type serviceType, ISet'1 callSiteChain)rn at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateCallSite(Type serviceType, ISet'1 callSiteChain)rn at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateArgumentCallSites(Type serviceType, Type implementationType, ISet'1 callSiteChain, ParameterInfo[] parameters, Boolean throwIfCallSiteNotFound)rn at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateConstructorCallSite(Type serviceType, Type implementationType, ISet'1 callSiteChain)rn at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.TryCreateExact(ServiceDescriptor descriptor, Type serviceType, ISet'1 callSiteChain)rn at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.TryCreateExact(Type serviceType, ISet'1 callSiteChain)rn at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateCallSite(Type serviceType, ISet'1 callSiteChain)rn at Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor(Type serviceType, ServiceProvider serviceProvider)rn at System.Collections.Concurrent.ConcurrentDictionaryExtensions.GetOrAdd[TKey, TValue, TArg] (ConcurrentDictionary'2 dictionary, TKey key, Func'3 valueFactory, TArg arg)rn at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType)rn at Microsoft.Extensions.Internal.ActivatorUtilities.GetService(IServiceProvider sp, Type type, Type requiredBy, Boolean isDefaultParameterRequired)rn at lambda_method(Closure , IServiceProvider , Object[] )rn at Microsoft.AspNetCore.Mvc.Controllers.ControllerFactoryProvider.<>c__DisplayClass5_0.<CreateControllerFactory>g__CreateController|0(ControllerContext controllerContext)rn at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)rn at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeInnerFilterAsync()rn at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeNextExceptionFilterAsync()

Потому что я хотел зарегистрировать Factory для создания экземпляров класса DbContext Derived IBlogContextFactory и использовать метод Create для создания экземпляра экземпляра Blog Context, чтобы я мог использовать приведенный ниже шаблон вместе с инъекцией зависимостей, а также использовать mocking для модульного тестирования.

шаблон, который я хотел использовать,

public async Task<List<Blog>> GetBlogsAsync()
        {
            using (var context = new BloggingContext())
            {
                return await context.Blogs.ToListAsync();
            }
        }

Но вместо нового BloggingContext() я хочу внедрить фабрику через конструктор, как показано ниже в классе BlogController

    [Route("blogs/api/v1")]

public class BlogController : ControllerBase
{
    IBloggingContextFactory _bloggingContextFactory;

    public BlogController(IBloggingContextFactory bloggingContextFactory)
    {
        _bloggingContextFactory = bloggingContextFactory;
    }

    [HttpGet("blog/{id}")]
    public async Task<Blog> Get(int id)
    {
        //validation goes here 
        Blog blog = null;
        // Instantiage context only if needed and dispose immediately
        using (IBloggingContext context = _bloggingContextFactory.CreateContext())
        {
            blog = await context.Blogs.FindAsync(id);
        }
        //Do further processing without need of context.
        return blog;
    }
}

вот мой регистрационный код сервиса

            services
            .AddDbContext<BloggingContext>()
            .AddTransient<IBloggingContext, BloggingContext>()
            .AddTransient<IBloggingContextFactory, BloggingContextFactory>();

и ниже мои модели и фабричные классы

    public interface IBloggingContext : IDisposable
{
    DbSet<Blog> Blogs { get; set; }
    DbSet<Post> Posts { get; set; }
}

public class BloggingContext : DbContext, IBloggingContext
{
    public DbSet<Blog> Blogs { get; set; }
    public DbSet<Post> Posts { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseInMemoryDatabase("blogging.db");
        //optionsBuilder.UseSqlite("Data Source=blogging.db");
    }
}

public interface IBloggingContextFactory
{
    IBloggingContext CreateContext();
}

public class BloggingContextFactory : IBloggingContextFactory
{
    private Func<IBloggingContext> _contextCreator;
    public BloggingContextFactory(Func<IBloggingContext> contextCreator)// This is fine with .net and unity, this is treated as factory function, but creating problem in .netcore service provider
    {
        _contextCreator = contextCreator;
    }

    public IBloggingContext CreateContext()
    {
        return _contextCreator();
    }
}

public class Blog
{
    public Blog()
    {
        CreatedAt = DateTime.Now;
    }

    public Blog(int id, string url, string deletedBy) : this()
    {
        BlogId = id;
        Url = url;
        DeletedBy = deletedBy;
        if (!string.IsNullOrWhiteSpace(deletedBy))
        {
            DeletedAt = DateTime.Now;
        }
    }
    public int BlogId { get; set; }
    public string Url { get; set; }
    public DateTime CreatedAt { get; set; }
    public DateTime? DeletedAt { get; set; }
    public string DeletedBy { get; set; }
    public ICollection<Post> Posts { get; set; }

    public override string ToString()
    {
        return $"id:{BlogId} , Url:{Url} , CreatedAt : {CreatedAt}, DeletedBy : {DeletedBy}, DeletedAt: {DeletedAt}";
    }
}

public class Post
{
    public int PostId { get; set; }
    public string Title { get; set; }
    public string Content { get; set; }
    public int BlogId { get; set; }
    public Blog Blog { get; set; }
}

—— Исправить это в .net Core MVC проекте — я сделал ниже изменения по регистрации зависимостей

            services
            .AddDbContext<BloggingContext>()
            .AddTransient<IBloggingContext, BloggingContext>()
            .AddTransient<IBloggingContextFactory, BloggingContextFactory>(
                    sp => new BloggingContextFactory( () => sp.GetService<IBloggingContext>())
                );

Короче говоря, разработчик ядра .net отвечает за внедрение фабричной функции, о которой в случае Unity и .Net Framework заботились.

Ответ 14

Я заменил services.Add(new ServiceDescriptor(typeof(IMyLogger), typeof(MyLogger))) services.AddTransient<IMyLogger, MyLogger>()

И это сработало для меня.

Ответ 15

Я получил эту ошибку, потому что я объявил переменную (выше метода ConfigureServices) типа, который был моим контекстом. Я имел:

CupcakeContext _ctx

Не уверен, что я думал. Я знаю, что это допустимо, если вы передаете параметр в метод Configure.

Как исправить ошибку ввода вывода на жестком диске или флешкеПри тех или иных операциях с жестким диском, USB флешкой, SSD или картой памяти, например, при работе с разделами в управлении дисками или Diskpart, пользователь Windows 10, 8.1 или Windows 7 может столкнуться с ошибками «Запрос не был выполнен из-за ошибки ввода/вывода на устройстве» или просто «Ошибка ввода вывода» и не всегда ясно, чем вызвана проблема и как её исправить.

В этой инструкции подробно о том, что может вызывать сообщение «Запрос не был выполнен из-за ошибки ввода/вывода на устройстве» для HDD, SSD, флешек и карт памяти и как можно попробовать исправить эту ошибку.

  • Простые случаи ошибки ввода вывода и методы исправления
  • Драйверы SATA и USB
  • Проверка состояния и ошибок диска
  • Время ожидания диска в реестре
  • Видео инструкция

Простые случаи ошибки ввода/вывода и методы исправления

Запрос не был выполнен из-за ошибки ввода вывода на устройстве

Сначала о некоторых частых и очень простых ситуациях, приводящих к появлению сообщения об ошибке ввода/вывода:

  • Если ошибка возникает при действиях с картой памяти SD (или MicroSD, подключенной через адаптер) или USB флешкой, проверьте, присутствует ли на ней переключатель защиты от записи и не стоит ли он в положении запрета записи («Lock»). Включение такой защиты приводит к рассматриваемой ошибке. Переключатели защиты от записи на накопителях
  • Если проблем возникает с жестким диском или SSD, подключенным через SATA-интерфейс, попробуйте переподключить, а лучше заменить кабель SATA. Если свободного кабеля нет, можно попробовать временно подключить диск кабелем от необязательного устройства, например, привода DVD. При отсутствии возможности проверки другого кабеля желательно проверить подключение имеющегося как со стороны материнской платы, так и со стороны самого диска. Проверка подключения кабеля SATA
  • При возникновении проблемы при работе с флешкой или внешним жестким диском, попробуйте использовать другие разъемы USB, в том числе разных версий — USB 2.0 и 3.0, в случае ПК — сзади корпуса.
  • Учитывайте, что появление ошибки ввода/вывода при подключении внешнего жесткого диска по USB может говорить о недостатке питания (вследствие износа блока питания компьютера или при использовании на ноутбуке при работе от батареи).
  • Если ошибка появляется после включения компьютера или ноутбука, но исчезает после перезагрузки, отключите быстрый запуск Windows 10 (подойдет и для 8.1).
  • Некоторые пользователи сообщают, что им помогла смена буквы диска, об этом: Как изменить букву диска или флешки в Windows.

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

И еще один отдельный момент: для случая возникновения ошибки «Запрос не был выполнен из-за ошибки ввода/вывода на устройстве» при работе с USB флешкой, рекомендую ознакомиться с методами из инструкции Флешка пишет, что диск защищен от записи.

Драйверы SATA и USB

Иногда проблема может быть вызвана тем, что в системе не установлены «правильные» для текущей системы драйверы для работы с SATA или USB устройствами. Вместо них — автоматически устанавливаемые Windows совместимые драйверы.

Проверьте, есть ли на официальном сайте вашего ноутбука или материнской платы ПК (именно для вашей модели устройства) доступные драйверы SATA/AHCI/RAID и USB для загрузки. Также имеет смысл загрузить и установить драйверы чипсета. При этом учитывайте, что даже если на вашем компьютере установлена Windows 10, а на сайте доступны драйверы только для предыдущих версий ОС, как правило их можно безопасно установить и они будут исправно работать.

Проверка состояния и ошибок диска

Если проблемный диск виден в системе и ему назначена буква, попробуйте выполнить простую проверку диска на ошибки:

  1. Запустите командную строку от имени администратора. В Windows 10 это можно сделать, введя «Командная строка» в поиске на панели задач и нажав по соответствующему пункту меню. Другие способы запустить командную строку от Администратора.
  2. Введите команду, заменив букву диска D на свою (внимание: для жесткого диска процесс может занять несколько часов, не запускайте на ноутбуке, работающем от батареи)
    chkdsk D: /f /r /x

    и нажмите Enter.

  3. Дождитесь завершения проверки.

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

Для HDD и SSD стоит также проверить статус S.M.A.R.T. используя для этого соответствующие программы, например, CrystalDiskInfo.

Проверка статуса SMART для жесткого диска и SSD

Особое внимание обратите внимание на показания следующих атрибутов (часть из них могут отсутствовать для вашего диска): 05, 0A, C4, C5, C6, С7. Выход этих и других параметров за рамки значений для «здорового» сообщат вам о том, что, вероятно, ошибка вызвана техническим состоянием диска.

Настройка времени ожидания отклика диска в реестре

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

В реестре Windows присутствует параметр, который отвечает за то, в течение какого времени следует ожидать ответа от дисков и, если предел был достигнут, вы можете получить сообщение об ошибке ввода/вывода. Значение параметра можно изменить:

  1. Нажмите клавиши Win+R на клавиатуре, введите regedit и нажмите Enter, откроется редактор реестра.
  2. Перейдите к разделу реестра
    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesdisk
  3. Обратите внимание на значение параметра TimeOutValue в правой панели редактора реестра. Дважды нажав по нему и выбрав десятичное представление, вы можете задать нужное вам значение ожидания в секундах. Изменение параметра TimeOutValue для дисков в реестре Windows

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

Видео инструкция

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

  • Net runtime 1026 ошибка windows 10
  • Net helpmsg 3534 сервер solidworks как устранить ошибку
  • Net has only one pin altium ошибка
  • Net framework при обработке сертификата произошла неизвестная ошибка
  • Net framework ошибка цепочка сертификатов