Installing Azure IoT Edge on Win10 IoT Core results in boot failure - windows-iot-core-10

I'm following standard steps to install Azure IoT Edge on an AMD64 (Intel Celeron J1900) embedded PC. I'm running Windows 10 IoT Core build 17763.253 (latest LTSC version) and using offline install via remote PowerShell to work around some network issues (I was getting InvalidOperation exceptions from HTTP file download requests in PowerShell).
[192.168.137.26]: PS C:\Data\Users\Administrator\Documents> Deploy-IoTEdge -ContainerOs Windows -OfflineInstallationPath C:\Data\Users\Administrator\Documents
The container host is on supported build version 17763.
Skipping VC Runtime installation on IoT Core.
Using IoT Edge from C:\Data\Users\Administrator\Documents\microsoft-azure-iotedge.cab
Committing changes, this will cause a reboot on success. If this is the first time installation, run "Initialize-IoTEdge" after the reboot completes.
Then the system reboots, shows a quick progress bar that says "Loading files...", and then goes to a black screen. After several minutes of sitting there, it goes into the spinning-gears animation, which Bing tells me is for a system update but from which it never exits. No increase in the progress bar, nothing.
I did pull out the flash drive and inspect it on my PC. The C:\ProgramData\iotedge folder was correctly created during the install process, but that's all I was able to deduce. I'm not sure if there's a way to extract helpful logs from a flash drive or what I should do now.
What am I missing?
Note: Issue posted on GitHub as well.

You can use following command to view the logs.
. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Get-IoTEdgeLog
If the IoT Edge Security Manager is not running, you may try to check the config.yaml which is located in C:\ProgramData\iotedge folder.
More common issues troubleshooting please see this document.

Related

Windows 10 Service Start Error 2 (The system cannot find the path specified)

I am developing a kernel mode driver for Windows 10 and I am stuck on the service start it always gave me this error:
"0x2 The system cannot find the path specified"
to install it I have tried by the following ways:
Using "sc create svname binpath="pathtodriver" type=kernel".
Creating a service from my c++ a`` with CreateService API and Kernel Mode flag.
Both return the same error for me, but here's the most stranger thing looks I have a desktop (from I am writing this and I develop my apps, study etc) in this desktop I can install the driver without any problem using both ways, Now on my laptop what I use to test some of my software it installed the first time and after that I couldn't start anymore the driver service, the path is correct
I have checked it a lot of times and tried almost everything.
Also I have other Kernel Mode driver which loads on both computers anytime without any problem its stranger really i have been trying all...
What I have tried to solve this problem:
Deleting the service from sc using "sc delete svname".
Deleting the service directly from registry.
Restoring registry.
Repairing windows.
Installing almost every Visual C++ Runtimes.
Install the driver with another service name, file name and different path.
Nothing of the list solves my problem.
(I am on Test Signing to test my driver without DSE)
EDIT: Solved was my DriverEntry it was returning 0x2 cause it was not compatible with all optical devices.

Docker toolbox with Visual studio - Volume sharing is not enabled

I'm trying to get running a docker support with Visual studio 2017 for a .net core 2.0 web app running on linux containers. I'm working on machine with win 7 OS, so I must use a Docker toolbox with Virtual box. I've already checked this question: How to get docker toolbox to work with .net core 2.0 project, but I got stuck in the following problem, when trying to run it with VS:
Volume sharing is not enabled. Enable volume sharing in the docker ce
for windows settings
So far I know that there is a default volume mounted under the C:\Users, so my project files should be copied somewhere under this folder in case I don't want to mount any other volume. So I copied them there.
When I check the settings of my Virtual box, folder seems to be shared:
I can even cd into this folder with command line, but still can't get over this problem. Any ideas about this?
Finally I got this running. Error message comming from VS is very misleading and it has nothing to do with volume sharing. Eventually I realized that problem is in running a debugger, because when I ran solution with Ctrl + F5 everything was ok and container started correctly. Problem occurred only when running with F5 and trying to attach a debugger.
Then I found some clues in console output. VS tries to download some tooling for debugging containers with powershell script named GetVsDbg.ps1. When running this script I could observe errors like:
Add-Type : Cannot add type. The assembly
'System.IO.Compression.FileSystem' could not be found.
Finally I fixed this issue by updating powershell version which was somehow in collision with my .net framework installed on my machine.
Well in my case it turned out that I had changed my windows password and docker wasn't able to get access.
So it was just
uncheck shared drives
Apply
Check again. Enter new password
restart docker
Below setting helped me getting rid of this error. Check the drive you want to share and click apply. This might ask you your network credential just enter in case it pops up.
Docker settings
Thanks,
Rakesh
I fixed it by running following command in Powershell:
docker network create nat
I got same issue attempting to publish an Azure Function App to a Container Registry.
Newer version of Docker Desktop for Windows 2.3, has new interface. I had to got to Resources|File Sharing and add a new Folder. This resolved that issue...

Docker won't start on Windows: Not Enough memory to start docker

I am trying to get started with Docker on Windows. My machine has 4GB of RAM and a 1.9GHz - 2.5GHz Intel i5 processor, running Windows 10 Pro x64. I know these aren't powerful specs, but I would have thought I should be able to run Docker?
However, having downloaded Docker, I get the error message:
Not Enough memory to start docker
I have seen various forum posts and github issues about this and followed all the advice I can see, such as modifying the settings in Docker, I tried these:
They also mentioned changing the settings of the Hyper-V VM however, this seems to be deleted and recreated with the Docker specified settings on every attempted launch. I tried 2048MB, 1792MB, 1536MB, 1280MB and 1024MB of RAM, all of which failed.
What else can I do? Surely I can run docker in some form on my machine? NB: I have closed all non-essential background apps. There doesn't seem to be many other suggestions for what seems to be a fairly common issue, where the given solutions don't work?
I have also encountered the same problem. Tried everything from giving dynamic memory to enabling and disabling Hyper V and many more. But with all that, I got no success.
Then I tried these steps for
Docker won't start on Windows: Not Enough memory to start docker:
From System Tray menu, right click on Docker icon
Select Switch to Windows containers...
Restart the system.
There you go after restarting your docker status should be showing as: Docker is running
PS: Switching back to Linux container should work now after switching to Windows Containers for most of the users as said by rfay.
Updates (May 01, 2019)
Despite of the above methods if you're still unable to start docker on your Windows Machine, try with the following things:
Download RAMMap from Microsoft's Official website
Open the application and select Empty menu
From the sub-menu list select the first option Empty Working Sets
Now refresh it by pressing F5
Now try running docker and I believe this should work.
I solved this issue by right clicking on the docker tray icon chose settings and then tapped on the "Advanced" section.
Then I lowered the memory from the default 2048 to 1536 and works like charm.
Another option is try to switch to Windows Containers then Restart the Machine and switch back to Linux Containers.
Below is my docker settings with Advanced tab open. Note the Memory is 1536 and My laptop has 4GB Ram.
Also the virtual machine "MobyLinuxVM" is running as shown below;
I hope this helps someone one day even if was a late answer :)
if you are on window and got this error,
Go to Search box
#1 type Hyper-V Manager
Click on it,
a window like attached screenshot open,
#2 Select MobilinuxVM(normally same name if running windows docker)
#3 Right click and open - Setting
2 The second window will open(setting for MobiLinux) i.e to the screenshot.
#4 Go to Memory Tab in left Pane.
#5 click on a dynamic checkbox and set minimum value to some lower amount say 512, and max value to the desired one,
#6 apply
now it will start running as well after few minutes take the amount it required as well.
It is not the problem of RAM. It is the allocated disk memory to docker.
It means there is not enough space for docker to create an image or any other docker related operations.
Open the docker settings >> advanced >> disk image max size
Increase this size and apply the changes.
It will restart automatically and then you're good to go.
In Settings, I did a reset to factory defaults.
And restarted the laptop.
It Worked for me
Posting what worked for me:
Open Resources settings in docker
Set memory to lowest setting, in my case 1024MB
Open Task manager, verify that I've at least the memory I specified above free
Restart docker, switch to linux containers
In my case this worked because I was using almost all of my RAM with VScode and firefox, so closed them and tried and it worked
Have you enabled NUMA spanning in your HyperV settings? if not enable it i bet that will solve your issue.
By default, Windows Server enables NUMA spanning, which provides the most flexibility as virtual machines (VMs) can access and use memory in any NUMA node. But it may result in lower performance compared to forcing VMs to use memory on the same NUMA node as the processor cores.
By disabling NUMA spanning, you ensure that VMs use memory and processor cores in the same NUMA node, giving the best performance.
This should only be changed once, if, as an administrator, you feel comfortable with NUMA and the implications of disabling and also if you have some additional management suite that can help ensure best configuration.
To configure NUMA spanning, open the Hyper-V Settings and select the NUMA Spanning option and disable it, I am sure, it will get solved; I struggled with the issue for a week and resolved it by disabling NUMA.
I am sure this would be marked as resolved by disabling NUMA in Hyper-V Manager.
I lowered my memory and swap to the lowest it would go as well as the disk image size to 32gb and it finally started without switching to windows containers or having to reboot.
To fix this issue, you need (but firstly see Note #4 below):
Back up the DockerDesktopVM virtual drive
To find this path, open Hyper-V manager and Open setting of DockerDesktopVM, and find path. Usually it exists in vm-data folder in DockerDesktop ProgramData folder.
Switch to Windows containers via tray icon
Usually this file is locked. To unlock it, for me works, turning of all services with name Hyper-V and with name docker: Docker and Docker Desctop. Also, Docker Desctop UI should be turned off via tray icon right click on it.
Back up the file DockerDesktopVM !!!
When the file DockerDesktopVM was back up, so all folder vm-data with this file maybe deleted (be aware and careful this file contains all your containers and images.)
Starts all services back and run docker desktop UI.
Switch back to Linux containers
At this moment you will see the settings in DockerDesktop UI and new file was created in vm-data folder with name DockerDesktopVM
Stop the all services again and replace the new file DockerDesktopVM with your old file which was backed up at the step 5.
Start all services and Docker Desktop UI.
Note #1: most of difficulties ware with locked file DockerDesktopVM. Reboot is not required during manipulations with locked file. Updated: This file maybe acidentially attached as a disk to the host system. So, you need diskmgmt.msc on the host server. The disk was listed there, right click and choose detach. It prompts for confirmation that you have the correct file. At that point, process explorer confirms that the file is no longer open by pid 4 (nt kernel & system) and I am able to work freely with the .vhdx file. Updated 2: Or you need to run command net stop vmms. Manipulate with file and start the vmms back with command net stop vmms (origin https://community.spiceworks.com/topic/603713-solved-vhdx-can-t-be-deleted) Update 3: Anyway the vhdx file maybe locked due to VM is still running or hang. To determine this you can open vhdx file permission and see in the list of user one user with strange name similar to GUID - this is NT VIRTUAL MACHINE{GUID}. So, this is a virtual user under which your VM's process is running in windows. Then you can find the process vmwp.exe under this user in Taskmanager -> Details. Another way, you can find this process from Process Explorer latest version in Find Handler or DLL section by a search keyword 'vhdx'. You need to kill this process! After that, the vhdx file will be unlocked.
Note #2: If you backed up your DockerDesktopVM.vhdx file, so you can probably reset Docker to default for instance after step 7, or just reinstall the Docker Desktop
Note #3: Sometimes DockerDesktopVM.vhdx will be unlocked when it was deleted from Hyper-V Mager UI
Note #4: If your docker was able to start with wrong settings some how, but now it does not able to start. So, probably, you can try to avoid all manipulations above and just close all applications which consume a lot of memory, like chrome. And, try start docker again.
But the core idea run Docker with fresh DockerDesktopVM file and replace it with the old one after when settings UI will be unlocked.
I have also the same problem. Maybe you have other virtual machine in Hyper-v, other Virtual machin need memory too. please stop all other Hyper-v Virtual machine and test again. for me worked
My Hyper-v Manager
When I experienced this problem I modified the PowerShell script MobyLinux.ps1 found in the resources folder on the Docker install in C:\Program Files\Docker\Docker\resources. Essentially I forced the values for the $CPUs to 2 and the $Memory to 512, which worked for my dev box's limited resources!
At this point when Docker drops the MobyLinuxVM instance in Hyper-V and re-creates it from the PowerShell script it now uses my values:
This time the VM remains up and stable, and Docker successfully switches from the Windows Containers to the Linux Containers:
Hope this helps someone.
Issue resolved after just restarting the PC -_-. Dont know what is that.
So to begin with I normally start off with opening Visual Studio Code then my terminal and finally Docker Desktop WSL2. The problem being is that Visual Studio Code is a chunky memory hogger and initially requires a lot of memory to run. Especially if you used the integrated terminal, multiple tabs, and ultimately multiple windows.
When I open Docker Desktop last it gives me not enough resources error. After a little messing and testing, I found out that Docker initially needs to load first because it needs to obtain a certain amount of memory for your containers and images to run. So starting Docker Desktop manually, not on windows startup, then your other programs and tools should, I am saying should as everyone's environment and problems are different from mine and I am not expecting them to be the same, work fine.
So here are the steps:
On opening your computer, mine is Windows 10 using WSL2 with Home, do not immediately have Docker open on startup. Instead, run the program manually by double-clicking the icon or searching in your start menu and clicking on Docker Desktop.
Next, we then want to open Windows Visual Studio Code and other programs after that.
Before running any commands, as I do run them through node js with specific package.json defined commands, check docker desktop as sometimes your containers and images are already running and therefore shouldn't need to run any commands to bring them up again.
If all this fails try going into your settings and allocating specific memory. Check your task manager processes and see what is taking up all of your resources. I hope this helps. Again everyone's environment is not the same so do not expect similar results as I have had. This SHOULD work doesn't mean it will. Read the documentation as well as it does help with identifying problems faster.
Just follow the step:
Go to Troubleshoot in the Docker dashboard.
Click on Clean/Purge data.
Select all options and press delete.
It takes a few minutes.
(that's work for me)
I had the same problem. In my case I had another VM running on Hyper-V that was consuming all the resources. Even after system restart the VM was always active. I opened Hyper-V Administrator and deactivated the problematic VM. Then I could start Docker properly.
My Windows 10 Laptop has 8 GB of RAM. I also use virtual memory.
When i start my OS and immediately run some RAM hungry applications, I can't start Docker until i stop most of the applications.
Yet: https://stackoverflow.com/a/45816385/7082956 helped me as well.
This may happen because the ram is not free at the time you starting docker
I had opened 20 tabs of the browser, that leads to no free ram so I closed all the tabs refresh the computer several times, and tried restarting once again and it works for me
I have faced same issue: Docker out of memory in windows.
I have solved issue, by following three steps.
1. Quit Docker Desktop by clicking mouse right button.
2. Now run Docker Desktop as Administrator.
3. Now restart your windows system.
Now Docker will work properly. This solution has worked for me. :)
Problem:
Installed Docker Desktop.
Got Out of Memory error upon starting with linux instance.
Details:
OS: Windows 10 Professional
Host: Lenovo ThinkPad Carbon X1, 4GB RAM
Docker Desktop: Version 2.1.0.1 (37199)
Docker advanced settings:
CPUs: 2
Memory: 2048MB (this is the maximum)
Swap: 2048MB
Disk Image Size: 59.6GB (4MB used)
Hyper-V settings for DockerDesktopVM:
Settings > Memory > RAM: 2048MB (tried to increase to 4096; still doesn't work)
Settings > Memory > Enable Dynamic Memory (checked/un-checked; both doesn't work)
Under variations of the above settings, Docker Desktop gives this error when starting/ re-starting:
Not enough memory to start Docker Desktop
You are trying to start Docker Desktop but you don't have enough memory.
Free some memory or change your settings.
The problem resolutions reported in the following links, e.g. starting with Windows instance, then switching back to Linux, don't work for me, regardless of how much memory I allocate via Hyper-V or Docker settings.
It is utterly frustrating because apparently people are reporting being able to start with linux instances on host machines with 4GB of RAM. So I wonder what I am doing wrong.
Resources researched/ tried:
https://forums.docker.com/t/not-enough-memory-to-start-docker/13512/24
Docker won't start on Windows: Not Enough memory to start docker
Questions:
Can I even run Docker Desktop with linux instance on my host machine?
If (1) is yes, then what settings will allow me to do this?

DEP0001 : Unexpected Error: -1988945906 while deploying Windows UWP app to phone

Exact error:
Severity Code Description Project File Line Suppression State
Error DEP0001 : Unexpected Error: -1988945906 TestApp
What does it mean? It seems it isn't problem with application, it works OK on PC.
Version of OS: 1511, Windows 10 for phones 10.0.10586.164
I've experienced the same problem after updating Visual Studio community to Update 2. Typing in CMD (under admin rights) the following command solved my issue:
net start IpOverUsbSvc
Thanks to Agrgg for a good tip ;)
This kind of error happens very randomly and usually it means there was an issue during the deployment of the app. Things to check:
Developer mode is correctly enabled on phone
Uninstall the app from phone, rebuild solution and then try debug again
Check that the architecture for all projects is set accordingly (ARM for debugging on real device)
Sometimes the VS debugger hangs up, so closing VS and kill from Task Manager all VS processes that are eventually running and restart VS may also help.
I had the same error with deploying onto Windows Phone 8.1 device. In my case the problem was in Windows Phone IP over USB Transport (IpOverUsbSvc) service, which wasn't running. The deployment error disappeared after I'd started the service manually.
I had the same problem.
"net start IpOverUsbSvc" didn't worked for me (throws Access is denied Exception).
I have followed following steps to fix.
Start Run (Windows+R), Type: services.msc
Start/Restart Windows phone IP over USB Transport.
For the RPi, I have RPi3 with WIOT (build 14376) this error happens after failed deployment. Just restart VS and it'll deploy ok.
After trying some of the answers already provided and nothing worked, I fixed the error by simply restarting the phone.
After that the error was gone for me.
I had the same issue, and found that in my case it was occurring while the phone was downloading system updates in the background.
App updates/installations from the app Store were also prevented from downloading/installing.
After the update had finished, all was back to working again.
As Windows Phone 10 doesn't seem to make it obvious that it's downloading updates, maybe worth checking this out if you hit this problem.
I had the same error, solution is here: https://msdn.microsoft.com/ru-ru/library/windows/apps/jj863509(v=vs.105).aspx
Look at Checking BIOS settings required by Hyper-V for Data Execution Prevention. You must select "Turn on DEP for all programs and services except those i select" and in my case application deploys successfully.
For me, it was as simple as unlocking the phone so that the computer would have access to it.
I had this issue as well. None of the answers helped me. IpOverUsbSvc was up and runing, phone reset, system reboot, nothing...
The issue was fixed after a Visual Studio "repair": control panel -> Programs and features -> select VS2015 -> Repair
I got a similar error.
The reason the error occurred for me was because I forgot to add the new splash images in assets after deleting the old ones.
The solution was to add the images. To get the correct image names and sizes, I used this extension for visual studio.
For Windows 10 (desktop) users
I faced this problem after I uninstalled Windows 10 SDK. It deleted the IpOverUsbSvc service from the system.
Solution
Download the Windows 10 SDK .iso installer
Inside it there is Installers folder.
Find Windows IP Over USB-x86_en-us.msi. Install it. (Don't worry if there is no setup window, it installs fast and silently).
I didn't even have to reboot VS2015, it just worked.
Check if the IpOverUsbSvc service is running
Open a Powershell prompt and type Get-Service -Name *USB*
Or go to the Services window. There you should see the IpOverUsbSvc running.
So, I think I get the trick. After plugged in your Windows Mobile device, Windows App Deploy can see W10M device, but once your device goes to lock screen, WPD can not detect it anymore.
You should to plug out and plugin again, with screen unlocked, to make it detectable. (I'm not a really English speaker).

Unable to start applications from network "0xc0000006"

I can't start applications from a network share or drive. An error Appears saying that the application was unable to start 0xc0000006. If I copy the .exe on my desktop it works fine.
I tried to start Windows in safe mode and it works too.
My machine run on an HP laptop core i5 with Windows 7 SP1.
Any idea?
EDIT:
I found my problem: It's a bug that append sometimes with Kaspersky endpoint Security v.10. I just uninstall this version and install an older version (v.8). I hate Kaspersky...
Hope it will help someone!
0xc0000006 is an NTSTATUS code. Specifically it is STATUS_IN_PAGE_ERROR.
It is not uncommon to see these errors when you attempt to run an executable from a network volume. For whatever reason, if there is any even intermittent problem accessing the network volume, then you may see this error. When a module is loaded, the code is not physically loaded until it is needed. A memory mapped file is created, and when a particular page is needed, it is brought into physical memory on demand. If your network fails to meet this demand, your application stops with STATUS_IN_PAGE_ERROR.
The common ways to deal with this include:
Getting a more robust connection to your network volumes.
Copying the executable file to a local drive and running it from there.
Adding the IMAGE_FILE_NET_RUN_FROM_SWAP flag to your PE file options.
Thank you for your replies.
I solved the problem by uninstalling Kaspersky end point 10.
My colleges have the version 10 of kasperky and it works but not for me.
I will install an older version waiting for kaspersky v 11.

Resources