-
Notifications
You must be signed in to change notification settings - Fork 250
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Running WSL from Non-System Drive Fails with 0x80070057 #55
Comments
Could you please try rebooting after install/register and then launch the distro? |
And please use the dev releases for duplicate/move, v3.0.1's implementation has several known bugs, which probably caused most of your problems. |
@DDoSolitary , I did a reboot and tried starting Debian from an Admin command shell. "LxRunOffline.exe run -n Debian" fails with error 0x80070057, bash/wsl fail with "Windows Subsystem for Linux has no installed distributions." I also tried from a standard command shell - all three fail with 0x80070057. I had a look at https://ci.appveyor.com/project/DDoSolitary/lxrunoffline but do not see a Windows binary. I will upgrade to version 3.1.0, remove the current Debian install, install Debian from the Windows Store, then test moving the Debian WSL. Thanks, Norbert |
You have to click the first job (USE_MSYS2=false) and then click "ARTIFACTS" to see the binaries. Anyway, v3.1.0 should work either as I just released it several hours ago so it is compiled from the latest code. |
Got it. I disabled/enabled WSL, installed Debian GNU/Linux from the Microsoft store and went through Debian initialisation. Just in case, I rebooted and then moved Debian.
I also tried from an Admin prompt - no need to register Debian this time, , but still no joy,
Thanks, Norbert |
You need to run the |
And please try the methods mentioned in microsoft/WSL#3054 and microsoft/WSL#7 like checking LxssManager service and console legacy mode |
I was able to duplicate a distribution installed from the Windows Store. I must mention that I had set some permissions to the directory used to install the copy. I assigned permissions (some days ago) using
Today, I made a copy of an Ubuntu 18 distro installed from the Store. Its directory is located in
|
I tried setting Debian as the default using wslconfig and LxRunOffline. "LxRunOffline get-default" is now working. Unfortunately, I still cannot launch Debian.
Legacy mode is disabled in my standard and Admin command prompts. microsoft/WSL#3054 appears to be specific to the Kali distribution. I am able to install and launch Debian successfully, but cannot launch it after moving Debian to another partition. To narrow down the problem, would it be worth:
Thanks, Norbert |
@JaimeChavarriaga , were you able to uninstall the Ubuntu instance on the system drive and still launched the duplicated instance? I had tried duplicating Debian earlier but at the time did not understand how to ensure I was running the duplicated instance, so I tried a move operation which led to this thread. Thanks, Norbert |
@nh905 , Yes. I was able to move the Ubuntu instance. I ran the resulting copy using
To identify which distribution I am running, I am setting a
|
@JaimeChavarriaga , thanks for the details. I hadn't set permissions for e:\wsl because LxRunOffline creates the folder. I will check the permissions on the existing folder to see if they are different. I will follow your procedure. If it works, then I will use it as a base to determine what I was doing differently. Thanks, Norbert |
@JaimeChavarriaga , I think I followed your steps accurately, but am still not able to launch the moved Ubuntu system. All the options and flags are identical to those for the initial installation from the Microsoft Store, with the exception of the directory. The icacls output looks similar to yours - the additional (I) indicates that the permissions were inherited from E:.
I moved Ubuntu back to its original location on the system drive - LxRunOffline now launches Ubuntu just fine. That suggests the move operation itself is not the issue, but that we are back to WSL restricting instances to the system drive. I just did another move to the E:\ drive after running icacls against the e:\wsl folder - still not working.
What version of Windows are you running? I am on Version 1803 Build 17134.167. Thanks, Norbert |
@DDoSolitary , I generated ETL files using the procedure at https://docs.microsoft.com/en-us/windows/wsl/troubleshooting#starting-bash-gives-an-error-code. I tried reading them with Network Monitor and Event Viewer but cannot make sense of the output. I can upload them if they would be useful to you. Thanks, Norbert |
Ofc they would be useful. You can also send it to the email address of my account. |
@nh905 You can try Windows Performance Analyzer or TraceView in Windows Driver Kit to read ETL files. |
@Biswa96 , can you point me to instructions? I recall seeing something about using VHD(X) but thought a subsequent release of Windows had blocked this. Thanks, Norbert |
@nh905 I mention that VHD as an alternative and this isn't related with your real issue. Once I tried install wsl in a sdcard. Though bsdtar (from LxssManager.dll) can extract tar.gz in sdcard wsl can't execute Lx binary. I'll try with newer Windows insider. You can try this procedure from @voskrese repository CentOSWSL. WSL fixed the file permission in newer Windows insider 17723 or above. |
Everyone
|
@nh905 Sorry for the delay. According to your comments after moving back the distro to C: the distro works. Could you please check what file system is used for E: and there are some special features enabled (like compression/encryption). Thanks. |
@DDoSolitary the E: drive is on a 32GB Samsing EVO+ microSD card, formatted NTFS with no compression or encryption. 'Everyone' has full control except for Special permissions. "Allows files on this drive to have contents indexed" is enabled. |
Well, I'm sorry but I have to say that there's little thing I can do to help you. Neither I nor other users can reproduce this problem, and I have shared every possible causes I came up with, but in vain. I have also tried to read the ETL files you sent to me, but it turned out that they only contain opaque error numbers that I can't understand. Maybe you could open an issue in https://github.com/Microsoft/WSL and share your ETL files with MS folks there to see if they can extract some useful information. Note that they will be a bit unhappy if you upload your logs directly to an issue. The CONTRIBUTING.md file in that repo mentions an email address to send logs. |
@Biswa96 Sorry, I didn't see your previous comment. So the problem is with SD cards? I think we should file an issue in the WSL repo... PS: logs have been sent. |
@DDoSolitary and @Biswa96 , thanks for all of your work on this. Please let me know if there are any developments or I can help provide additional information. Thanks, Norbert |
@nh59 Microsoft has officially said that it's impossible to directly use an SD card: microsoft/WSL#3519 (comment). You can still use the vhdx method described by @Biswa96, or talk to MS staff in microsoft/WSL#3519. I'm closing this issue because it's not something that I can fix. |
@DDoSolitary and @Biswa96 , thanks for all of your work in trying to get this resolved. Norbert |
This also solved my problem, the error generated was: Falha ao anexar o disco 'D:\wsl\Ubuntu\ext4.vhdx' ao WSL2: Acesso negado.
Error code: Wsl/Service/CreateInstance/MountVhd/HCS/E_ACCESSDENIED
Press any key to continue... |
I am running windows 10 Home (version 1803, build 17134.167) on an Intel Cherry Trail system with 64GB EMMC flash. I am trying to move WSL onto a 32GB microSD card but so far have not had any success. I may not be following the instructions properly.
I initially enabled WSL and installed Debian Stretch from the Windows Store. I then installed LxRunOffline 3.0.01 and duplicated the existing WSL setup using "LxRunOffline.exe duplicate -n Debian -d e:\WSL -N Debian2". This worked: I could launch Debian from the Debian icon in the taskbar, but was not sure which instance it was running. Running "bash" or "wsl" failed with 0x80070057.
I uninstalled the duplicated WSL using "xRunOffline.exe uninstall -n Debian2" and then moved Debian using "LxRunOffline.exe move -n Debian -d e:\WSL". Although there were no errors, attempts to launch Debian using bash, wsl, or the Debian icon in the taskbar failed. "LxRunOffline.exe get-default" returned "[ERROR] Couldn't get the value "DistributionName" of the registry key Software\Microsoft\Windows\CurrentVersion\Lxss{73E56EF3-4FFF-4A94-9EF2-D54D6C805192}". Reason: The system cannot find the file specified."
In case I corrupted something, I uninstalled Debian using LxRunOffline, disabled WSL, rebooted, enabled WSL, rebooted, downloaded Debian from https://lxrunoffline.apphb.com/download/Debian/Stretch and installed with "LxRunOffline.exe install -n Debian -d e:\wsl -f ..\rootfs.tar.xz". Again, there were no errors. However, running bash, wsl, or "LxRunOffline.exe run -n Debian" all failed with 0x80070057.
Other issues suggested launching WSL from an admin prompt. I first had to register Debian using "LxRunOffline.exe register -n Debian -d e:\wsl". Running bash or wsl fail with "Windows Subsystem for Linux has no installed distributions.". Running "LxRunOffline.exe run -n Debian" fails with 0x80070057.
I am at a loss as to what to try next. I do not see any relevant entries in Event Viewer (Application or System). Any suggestions?
Thanks, Norbert
The text was updated successfully, but these errors were encountered: