The Linux kernel is not a loadable module of NT.
MS wrote a native NT subsystem for running Linux applications, called Windows Subsystem for Linux. It'd be more accurate to say that Linux userspace is supported on NT.
Windows 10 is the best desktop OS I've ever used. If I had to choose a runner-up it would be Windows 2000, with Windows 7 as a close 3rd. I love how Microsoft has embraced open source to the point where they're about to make something like WSL2 available to everyone. I mean you can actually install Ubuntu through the Microsoft App Store. Did anyone see that coming even 10 years ago?
Now, I wouldn't touch Windows Server as Linux reigns supreme (for my uses), but it's a great positive for everyone that their corporate policy has evolved to embrace OSS instead of trying to stifle it.
Maybe I'm thinking too simple but here is my aproach. I use the Linux subsystem for Windows with a Debian install. You can then use Debians ssh to ssh into your Linux machines.
If your company supplies Windows 10 as the base OS on company laptops I would stick with that. You can use WSL (Widnows Subsystem for Linux) to get a shell to work with, a local VM of a distro used at work, or you could remote into a bastion host to do your work.
You continue using the same base software as everyone else meaning the hardware can be managed and tracked like all other assets. With WSL you should be set. If you want a full instal then use whatever work uses so that you maintain consistency and don't have to mentally switch any parameters or options between your local machine and the server.
I assume by "installed Debian," you mean you installed Debian on the Windows Subystem for Linux? If so, WSL2 is basically exactly what you want. It's a virtualized Linux environment that seamlessly integrates with Windows, and Docker for Windows has a WSL2 backend and integration that feels as seamless as using Docker on Linux natively. Most IDEs and applications also have the ability to talk to WSL2 VMs, so while they aren't necessarily running in WSL, they act like they are. Later on in the year, we should be getting a mainline release of WSLg, a graphical mode for WSL which allows Linux applications to run seamlessly within Windows.
This is from my personal T480s. I thought I'd post this screenshot for people who love their Arch userland but also need to get things done on Windows (like Overwatch). This uses Windows Subsystem for Linux and yuk7/ArchWSL to allow for Arch on WSL. It works surprisingly well on LTSC (1809), and a TB3 eGPU also works fine.
https://docs.microsoft.com/en-us/windows/wsl/about
It's a translation layer that allows you to run *nix command line tools in a semi-virtual environment without a traditional virtual machine. It's an alternative to docker in some ways though they're quite different.
A few hopefully helpful tips:
First, install a decent console, the one that comes with Windows is from the Stone Age and just plain horrible. For me, ConEmu does the trick and it sets up your bash sessions as well if you've got them installed.
Second, all MSVC commands have to be run from the "Visual Studio Developer Command Prompt". This is either a menu command in VS or in any Windows (not bash!) Console you can run <visual studio install path>\VC\Auxiliary\Build\vcvars32.bat
or vcvars64.bat
for 32 or 64 bit build environment. For instance, running clang without this usually makes you sad.
For MinGW, try out Nuwen's MinGW distro. It comes with the tools you need for g++ and has a handy batch file to set up paths. Easy to install as well, extract and run the batch file.
And the obvious: For *nix-minded people there's the Windows Subsystem for Linux if you're running Windows 10. That should give you a very familiar command line interface with all of the Linux tools you need for development.
Selecting a laptop depends on a lot of different factors, but as far as operating systems go, I would say that Windows is not completely useless, as there are ways around many of the common problems encountered.
Windows 10 has a built in Windows Subsystem for Linux and you can pretty easily install an Ubuntu command line/terminal that runs natively on your computer and its resources. No longer need to use a virtual machine (e.g. VirtualBox) or dual boot to run Linux OS' on a computer with Windows as the host OS.
Windows 10 includes Windows Subsystem for Linux (WSL), which gives you a GNU/Linux environment within Windows. It lets you run command line applications and Bash scripts without having to rely on a VM or things like that.
Plus you get to tell people that you downloaded Ubuntu from the Microsoft Store. That's always fun.
Why not just run Windows Subsystem for Linux for a bit using a Ubuntu base to see if it works for you? You can read more about it https://docs.microsoft.com/en-us/windows/wsl/about.
I'm probably an outlier here, but I've never been a Mac fan. I use Win10 with WSL, no need to dual boot a *nix distro with WSL. Most of the popular ones are available to use with WSL.
As others suggested a VM seems like a good way to start. I think it’s also worth checking out the Windows Subsystem for Linux (WSL), which lets you run Linux in Windows with less overhead compared to a VM.
> The version i was using did not need Cygwin but all i find now need Cygwin .
AFAIK the only rTorrent windows "port" is that same one that requires Cygwin.
Current versions of Windows 10 do have WSL (Windows Subsystem for Linux), maybe you got rTorrent running through that? I've never tried it but it might be possible that's how you had it working.
https://docs.microsoft.com/en-us/windows/wsl/about
https://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/
It seems that your comment contains 1 or more links that are hard to tap for mobile users. I will extend those so they're easier for our sausage fingers to click!
Here is link number 1 - Previous text "WSL"
^Please ^PM ^/u/eganwall ^with ^issues ^or ^feedback! ^| ^Delete
No, powershell is very different from the Linux system. https://docs.microsoft.com/en-us/windows/wsl/about https://docs.microsoft.com/en-us/powershell/scripting/powershell-scripting?view=powershell-6
Powershell is designed for windows event scripting and shit like that. The linux system is basically a vm baked into the OS.
Linux running within windows.
https://docs.microsoft.com/en-us/windows/wsl/about
It uses the port that the config tool uses so you have to disable it whenever you want to use the tool.
The WSL version got better support to run a Linux Kernel from a Windows Host along with better file system drivers, system calls and hardware support than a hypervisor.
Running a guest OS on a third-party hypervisor might really be messy in term of hardware and drivers support and performance.
I'd say give the WSL version a try, if it covers all your use cases, then I don't see a reason to use the other alternatives.
Have a look at the following Microsoft docs:
https://docs.microsoft.com/en-us/windows/wsl/about
https://docs.microsoft.com/en-us/windows/wsl/compare-versions
Note: The question and my answer are specifically about running Kali using WSL, not the difference between WSL architecture and third-party hypervisors in general. The latter is a totally different question, and has a very different answer.
Thanks u/apewizard, that's exactly the answer I wanted to give. Here you can find some documentation on WSL https://docs.microsoft.com/en-us/windows/wsl/about
Noice. I love Linux and use it for my work, though find dual booting too annoying, so I make do with WSL. I don't usually have motivation to do any codey stuff outside of work hours, anyway.
I recently rebuilt my PC entirely and finally have an SSD big enough to not need a HDD at all. It's amazing.
Most of the internet runs on Linux-powered servers, and the systems that power Laravel are designed with that in mind first. Windows will always be a little annoying.
I suggest you spend some time reading about how to use Docker Compose and what WSL is - familiarize yourself with the basics of Linux tools and you will have a much easier time.
No problem. Happy I wasn't just giving you info you already knew.
Should that not work out, there may be a workaround if you're on Windows 10. You can try using WSL. If you're on an earlier version of Windows, a VM is always an option (albeit not the best option).
There is Windows Subsystem for Linux.
Waiting for Bill Gates and Linus Torvalds to do the Fusion Dance.
If you need to run command line Linux programs on Windows and you have Windows 10 you can use the Windows Subsystem for Linux, installed through the Windows app store.
I don't know what your assignment is, but chances are you could complete it with the Windows Subsystem for Linux so you wouldn't have to mess about with VMWare.
According to this page you may be right; but the apt-get install
command isn't common to all distributions. The link says to “choose your favorite Linux distribution from the Windows Store”, so it depends on which Linux distribution is /u/zeroknowledgeproofs' favourite. For instance, if he chose Fedora, it's going to be dnf -y install cmake
.
Great time to mention windows subsystem for linux WSL and how easy it is to install on windows. Being able to run a quick grep command from Linux on your desktop is great. I started using it at the start of the pandemic to replace putty and securecrt to ssh into work servers from home, loved it much ever since.
Did you check out WSL? Maybe it suits your needs?
​
As for your questions. You need a bootable usb-stick with the distro you want to install. When installing use the external ssd as your installation target or partition it the way you want it. After the installation change the bootorder and make sure that the external ssd is in front of the internal one.
Performance wise I think you should not run into any problems. Haven't used it that way before though. So can't guarantee.
You can install Linux on an external drive, you just have to make sure to you boot to it specifically in the UEFI menu when dual-booting like that. In fact, since Windows 10 and UEFI came out, dual-booting was more problematic so I resorted to using VM's, which worked easier since it was completely isolated from the rest of my Windows environment.
Have you considered using Windows Subsystem for Linux? That could be a better option consider Windows 10 will be your primary OS but you can still use a Linux command line and file system. I use Ubuntu and have the full power of the Linux command line on my Windows file system. I have never used it for development, but it was put there specifically for developers wanting a more seamless environment when working with both Linux and Windows.
why wouldn't you try WSL at first? it's cool for both trying the shell and programming and doesn't require much to get everything up and running. technically it's a VM but you'll hardly notice the speed difference.
I think you can use https://docs.microsoft.com/en-us/windows/wsl/about to run the Linux command on Windows.
Alternatively google something like "windows get sha256 checksums OR hashes recursively" -- maybe there are other ways to do it on Windows. I don't use Windows so I don't know.
The idea is that each file has its own unique hash (checksum), so it doesn't matter how it's named. Then I can see whether you have any files which I don't have in a few seconds. It's more efficient than going over each episode, but that would also work.
I used Rsync, a command-line utility through WSL (a Linux VM built into Windows). It will copy your exact file hierarchy and metadata over, you just have to give it the right flags:
Start with a command like this:
Rsync -ravt --dry-run [SRC] [DEST]
--dry-run --> this will just print out what the command would have done, but not actually do it. Great for testing before running it.
-r --> recursively copy -a --> archiving during the copy/sync -v --> verbose mode (it will print out every action it takes) -t --> preserves the timestamps (e.g., the "modified date" or "created date" timestamp for the new copy on your NAS will be the original dates, not today
Test it on a small directory with some test sub-directories and make sure everything copies correctly to the NAS. It's a very feature-rich app, so you have lots of options if you want to go deeper. I'm fairly sure rsync is what Synology HyperBackup uses under the hood too.
You can use both Windows and Linux just fine with WSL 2. I've recently started TOP and haven't had any issues so far. Let me know if you have any questions about it.
You can go back to Windows. The choice you have to make is no different than a myriad of others, “Do I want to use Linux or do I want to play games?” I’m not shitting on Linux, I hate that this is the case, but it’s the reality so you have to make a decision.
For what it’s worth, you can install the WSL (Windows Subsystem for Linux) on Windows 11 and run most, if not all, of any tools you need access to. https://docs.microsoft.com/en-us/windows/wsl/about
Regarding fixing Windows boot issues, build a WinPE ISO and burn it to a bootable USB drive then run BcdEdit via CMD. I’ll find some links and add them to this post in a little bit, I’m on mobile
Windows. Mostly because of Visual Studio, SQL Server Management Studio and a few other things. I use WSL a lot though so I'm nice and close to Linux.
I use Linux on my laptop, server and HTPC.
My work PC is an 8-core 3700X with 32GB RAM. My home PC is a 12-core 5900X with 64GB RAM and a 3080.
Yes it's like a virtual machine, but has less overhead so is faster.
https://docs.microsoft.com/en-us/windows/wsl/about
You can still use your native windows VScode to edit files that are in the WSL filesystem.
Bear with me as it's been about a year since I last regularly used Windows. According to some googling, it seems that WSL has been improved a lot since I first heard about it.
This article says that WSL 2 uses a real Linux kernel (just think of this as meaning that now you have the whole thing and before you had enough parts of it to make it work) and has better performance than WSL 1, so I would go with WSL 2.
It seems that you can install it more easily in the latest Windows versions: https://docs.microsoft.com/en-us/windows/wsl/install
For older versions, this seems to be the way: https://docs.microsoft.com/en-us/learn/modules/get-started-with-windows-subsystem-for-linux/2-enable-and-install
Windows Subsystem for Linux lets developers run a GNU/Linux environment (shell), which includes most command-line tools, utilities, and applications --
directly on Windows, unmodified, without the overhead of a traditional
virtual machine or dualboot setup.
The Windows Subsystem for Linux lets developers run a GNU/Linux environment -- including most command-line tools, utilities, and applications -- directly on Windows, unmodified, without the overhead of a traditional virtual machine or dualboot setup.
So, Linux Subsytem for Android means ANDROID APPS RUNNING IN LINUX; not the other way around.
My suggestion, and I’m by no means an expert in car hacking, is to look into the Windows Subsystem for Linux (WSL) as it’s designed to have a Linux environment on native windows machines via a command line interface.
Maybe that will be enough for you to run your ruby script?
EDIT: the Microsoft docs do in fact say it supports Ruby
Can't speak for the author, but I got the same error when just starting my windows installation of HoN on my PC. Seems to me that they are just checking if you have installed WSL on Windows (https://docs.microsoft.com/en-us/windows/wsl/about)
Since Microsoft started embracing OSS more Visual Studio brought a lot of tools for cross-platform development, you can check this blog post about setting up MinGW on VS. You can also debug your programs on a Linux environment inside Windows with WSL/WSL2.
​
>But it seems that Windows is much like Java, i.e., the vendor's own
documentation is almost always the best. Do you have any
recommendations for "must-read" blogs?
YES! Microsoft's documentation is very rich. You'll find yourself looking at it a lot.
It's definitely possible to do Python development on Windows, but in my experience there's a bit more friction. That's especially true if you're building web apps, but since you mentioned studying engineering, that might be less of an issue. I suspect you'll be using Jupyter Lab + Pandas quite a bit, and once you get that configured on a Windows machine, you'll probably be okay.
If you spend time this summer on a Mac learning Python, and using Visual Studio Code, that will all transfer to doing things on Windows (VSC is actually a Microsoft product). One place Windows can be frustrating (at least for me) is in the command line environment. I'm used to a "Linuxy" command line environment from being a Mac user for a long time, and much of the learning content out there assumes a Linux-based terminal. That said, there is the [Windows Subsytem for Linux](https://docs.microsoft.com/en-us/windows/wsl/about) which you can be used so you get a command line environment that is basically the same as though you were on a Linux-based system.
>better off installing Windows 10 and running Linux in a VM or at least use dual boot.
You can also use Windows Subsystem for Linux to scratch the occasional Linux itch.
Checkout the WSL (Windows Subsystem For Linux). You'll have a much easier time than trying to use Cygwin and the skills you learn from WSL will transfer to normal Linux boxes without even thinking about it.
Linux is a kernel. It is also the colloquial term for the family of operating systems based on the Linux kernel. You can also, in fact, run the Linux kernel on top of Windows:
> WSL 2 uses an entirely new architecture that benefits from running a real Linux kernel.
Hmm.. I'm gonna have to agree with many of the comments here.
Mostly because of your graphics card. Missing Vulkan support these days and wanting to play DirectX 10 ,11 and 12 games on Linux is a pretty big challenge since most of the community's efforts is centered around using Vulkan as the native graphics API to translate DX system calls to. DirectX 9 games is not an issue though.
However... When that is said. I'd say for your use case, make a dual-boot system. Make Linux your daily driver, and have a minimal Windows install that you only use for gaming. That's purely due to your graphics card lacking Vulkan support. If it did support Vulkan, I'd be inclined to tell you that you could change to Linux with little worry, other than the anti-cheat stuff..
But there is a third option regarding your workflow and stuff.. Microsoft has released Windows Subsystem for Linux (WSL). The name is a bit confusing, cause it is a Linux subsystem that runs under Windows. If I remember correctly is a container-like system that runs a native Ubuntu kernel in windows with full integration and stuff.. It might be of interest for your work stuff. https://docs.microsoft.com/en-us/windows/wsl/about
The Windows Subsystem for Linux (WSL) effectively provides Linux running on your Windows PC without a VM. WSL2 enables you to run Linux binaries on Windows.
>distcc on windows should not be impossible but if you figure it out post back because I have never heard of it being done.
I would think the easiest way to achieve this (assuming Windows 10) would be to use the WSL to install the default linux distro under Windows (Ubuntu) and then use that to host distcc. More adventurous paths would be to install Gentoo under WSL but ... well.. it may be easier to start with the default distro while you're learning about gentoo.
Agreed tho that's it's not the timesink people think...
You might want to look into the WSL implementation if you're using it for web development. I haven't needed a dualboot scenario since using it. I only touch Linux on servers nowadays.
I mean if you ask a vague question without the showing that you have done the basic Google searches you are going to get the same results on almost every forum.
At some point it is necessary for people to do the basic reading on your own.
Anyway
> https://docs.microsoft.com/en-us/windows/wsl/about > The Windows Subsystem for Linux lets developers run a GNU/Linux environment -- including most command-line tools, utilities, and applications -- directly on Windows, unmodified, without the overhead of a virtual machine.
This is one of my top hits I see when I search for windows subsystem for linux. By default it isn't going to give you a GUI out of the box, it isn't a VM (not fully true with WSL2 anymore), so it isn't going to give you a desktop/gui. It just lets you run software.
^^^Unfortunately?, I have a windows installation. And while I do have wsl set up, it has limited /sys/class
options. Looking at it now, it only has the folders: backlight net power_supply switch timed_output
, several of which are empty.
I'd like to ask this for clarification. Why not Windows 10 with WSL? You can install ubuntu on it https://docs.microsoft.com/en-us/windows/wsl/about
If your setup requires to be more complex - I had great success with WSL. It gives an almost(?) complete linux installation, is much faster than virtualization and well integrated into Windows.
You could try WSL, Windows Subsystem for Linux, and install Ubuntu on Windows
https://docs.microsoft.com/en-us/windows/wsl/about
or just use a virtual machine (virtualbox, vmware)
Windows 10 allows you to install what's called the Windows Subsystem for Linux which works very well if you want to familiarize yourself with the Linux command line.
>On windows you need to install Linux to get wget to work
The Windows Subsystem for Linux (WSL) is a new Windows 10 feature that enables you to run native Linux command-line tools directly on Windows
No, WSL is more of a close to the metal emulator. You're still coding against Linux.
"The Windows Subsystem for Linux lets developers run a GNU/Linux environment -- including most command-line tools, utilities, andapplications -- directly on Windows, unmodified, without the overhead of a virtual machine." (From https://docs.microsoft.com/en-us/windows/wsl/about)
Again, this has nothing whatsoever to do with Canonical.
Just as WINE was NOT developed by the creators of the WINDOWS executable you choose to run inside of it, WSL was NOT developed by the creators of the "distro" you choose to run inside of it. Hell, it's not even a fully-fledged distro.
The issue IS between WSL and Windows.
Thus, it does NOT matter what "distribution" WSL is running.
​
https://docs.microsoft.com/en-us/windows/wsl/faq
>What is Windows Subsystem for Linux (WSL)?
>
>The Windows Subsystem for Linux (WSL) is a new Windows 10 feature that enables you to run native Linux command-line tools directly on Windows, alongside your traditional Windows desktop and modern store apps.
>
>See the about page for more details.
>
>Who is WSL for?
>
>This is primarily a tool for developers -- especially web developers and those who work on or with open source projects. This allows those who want/need to use Bash, common Linux tools (sed, awk, etc.) and many Linux-first tools (Ruby, Python, etc.) to use their toolchain on Windows.
>
>What can I do with WSL?
>
>WSL provides an application called Bash.exe that, when started, opens a Windows console running the Bash shell. Using Bash, you can run command-line Linux tools and apps.
TL;DR: WSL, and that which is running within, is NOT a proper Linux distro. PERIOD.
I would suggest digging into windows subsystem for linux or WSL. It will let you install a linux system on your windows machine and use it as though you have a native linux without interrupting your workflow or your gaming access by dual booting.
You can read more about it here: https://docs.microsoft.com/en-us/windows/wsl/about
It's a very good tool, I think it's only available on win10 pro, so bear that in mind. Win10 pro is worth getting just for Hyper-V though.
> I looked at the C Fork but it just seems incredible that C does not have a simple call statement that allows the caller to call another program and then resume execution once control is returned from the caller.
Processes generally can't modify each others memory for security purposes, except in special circumstances. Your COBOL example describes a shared memory area. Here's how you can do that with the Windows API - Win32 Creating named shared memory. It is of course different on UNIX but you could probably look into the Windows Subsystem for Linux if you want to write portable code. If you're writing both programs, I'd generally go for stdin/stdout to pipe data back and forth. Or just stick with one process and use functions.
Sorry for the confusion there. You can run various distros of Linux directly in Windows these days using the Windows Subsystem for Linux: https://docs.microsoft.com/en-us/windows/wsl/about
I thought maybe you were leveraging that to use bash. :)
While I agree with that to a point I also disagree as well. Software that is provided across multiple platforms should, in theory, function as close to identical as possible on each platform.
The reason daemon mode cant be run on windows is because windows doesnt have unix style fork()... windows uses CreateProcess(). In order to actually get it to work you need cygwin so that you have a version of fork() that you can use... or at least you did until Microsoft released Windows subsystem for linux which provides a linux/gnu environment on windows. I literally just found out about this when I went looking for the stackoverflow post about using cygwin to implement fork() so here's the link for anyone interested - Windows Linux Subsystem.
Anyway, back to my original point. I agree that the person who set up the stack in the beginning should have done their research more, however I also cant fault them for assuming it would work the same on windows as it does on linux.
By the way I want to thank you for the debate/conversation about this. If you hadn't replied I wouldn't have found out about the windows linux thing which may actually solve the issue. So thank you.
I like Linux as much as the next guy but I don't think this is good advice.
You can run Linux subsytem under Windows 10 already so you have access to full native Lnux from Windows so there is no point in having Linux as your main OS unless you like futzing around with config files just to use your OS:
https://docs.microsoft.com/en-us/windows/wsl/about
The main benefit of linux is obviously the shell and command line tools but you can get that through the Linux Subsystem of Windows 10. For University courses, this is perfectly fine as you will have access to all Linux tools and programs.
Dude nag login lang ako just to say this:
Based on your comments, you don't really need na mag Linux if you know your way around Windows.
I think your HR doesn't really know what he/she is talking about so just give them a pass. Maybe may company monitoring apps din na for Windows lang?
If you really want to work on a Linux Env while on Windows, this is the best option: https://docs.microsoft.com/en-us/windows/wsl/about
Good luck :D
Windows Subsystem for Linux" The Windows Subsystem for Linux lets developers run GNU/Linux environment -- including most command-line tools, utilities, and applications -- directly on Windows, unmodified, without the overhead of a virtual machine. "
https://docs.microsoft.com/en-us/windows/wsl/about
​
​
Windows Subsystem for Linux
" The Windows Subsystem for Linux lets developers run GNU/Linux environment -- including most command-line tools, utilities, and applications -- directly on Windows, unmodified, without the overhead of a virtual machine. "
https://docs.microsoft.com/en-us/windows/wsl/about
​
​
If you're on windows or mac, using chrome, then double click the word to select it, then right click and "search Google for..." to find stuff.
WSL lets you run an almost-fully-featured Linux system inside Windows 10 without using a virtual machine.
WSLTTY configures MinTTY (a popular Windows terminal for other UNIX-like environments) to work correctly with WSL. It works better than the default terminal that WSL configures.
Adding to the zeroes :-)
If I need Perl on Windows, I reach for Strawberry Perl (actually, I'd be more likely to reach for the Windows Subsystem for Linux or a VM).
Yeah I had to work specifically with Linux (C and x86-Assembler programming) and WSL wasn't a thing back then.
You should really try out WSL (Windows Subsystem for Linux). It's a built-in Windows feature that basically installs 'bash' and all the Linux 'Components' directly onto Windows (it's not a VM!), so you can use all the Linux dev tools natively. Check this out: https://docs.microsoft.com/en-us/windows/wsl/about
If you're interested in Linux distros on Win 10, check out the Windows Subsystem for Linux.
>The Windows Subsystem for Linux lets developers run GNU/Linux environment -- including most command-line tools, utilities, and applications -- directly on Windows, unmodified, without the overhead of a virtual machine.
>You can:
>Choose your favorite GNU/Linux distributions from the Windows Store. (including Ubuntu, as you mentioned..)
>Run common command-line free software such as grep, sed, awk, or other ELF-64 binaries.
>Run Bash shell scripts and GNU/Linux command-line applications including:
>Tools: vim, emacs, tmux
>Languages: Javascript/node.js, Ruby, Python, C/C++, C# & F#, Rust, Go, etc.
>Services: sshd, MySQL, Apache, lighttpd
>Install additional software using own GNU/Linux distribution package manager.
>Invoke Windows applications using a Unix-like command-line shell.
>Invoke GNU/Linux applications on Windows.
> If you're using windows then most likely download cygwin or mingw
Just use any of the available Bash installations from the Windows Store.
https://docs.microsoft.com/en-us/windows/wsl/about
Better than either of those others, this is an actual Linux system running inside of Windows, natively. And you can use apt or yum to install linux build tools.
Or you can use MSVC to compile C code for Windows.
Have you looked into Windows Subsystem for Linux ? You can run a Bash shell directly into Windows. It's quite easy, you just have to install a Linux distro from the Windows Store. Your local storage will be mounted in /mnt/c. It's not perfect, but it's quite usable.
Also, Windows 10 now supports OpenSSH out of the box if that's what you need, you just have to add the feature. Feels weird to SSH into a Windows box however, since you're effectively logging into a Windows command shell. I think you can configure some stuff to SSH directly into your Linux subsystem, but I haven't gotten around trying it out yet.
You can dual-boot Linux and Windows on the x1 carbon.
But an easier solution would be to make use of the Linux subsystem baked into Windows 10.
Not about dual booting, but I recommend looking into WSL. Right now there is about 5 distros available, but I also know people was able to get Arch working as well. Since this is only a CLI, if you need GUI you can work it too with Xserver.
Unless you also installed the subsystem for Linux, no you aren't. Windows is oddly enough not Linux, this may come as a shock to you but they aren't architecturally similar. If you want a Linux experience on windows then install the Linux subsystem. https://docs.microsoft.com/en-us/windows/wsl/about