
Install Linux from a running Windows system, without need for a live USB - reader_1000
https://github.com/mikeslattery/tunic
======
miles
The project description ("Install Linux over or alongside an existing Windows
install, straight from Windows, without requiring to boot from external media
like a flash drive or making BIOS configuration changes") reminded me of the
old BeOS 5 Personal Edition installer which "installs from within Windows
_without partitioning_ " and "kicks Windows out of memory and boots BeOS in
its place."[1]

In the same review, Scot went on to say: "I tested the Windows installer on
several machines, and was amazed. Not only did everything work as advertised
-- it worked better than I dreamed possible. BeOS has always been the easiest
OS on the planet to install, bar none, but this is ridiculous. BeOS is up and
running in five minutes or less, and everything is totally painless. Linux
distributors should be taking notes." Sounds like someone did! ;-)

[1]
[https://birdhouse.org/beos/byte/13-beos_5/](https://birdhouse.org/beos/byte/13-beos_5/)

~~~
sildur
Loadlin did something similar, but with msdos and linux:
[https://en.wikipedia.org/wiki/Loadlin](https://en.wikipedia.org/wiki/Loadlin)

~~~
myself248
I did horrible things with a parallel-port ZIP drive. Had to start loadlin
with the kernel parameters to load the appropriate module for it to continue
booting...

Side note, running with your root filesystem on a ZIP disk is not performant.

------
sandworm101
But where is the joy? The best part of installing linux on a windows machine
is killing windows. Bypassing the normal boot process. Deleting the
partitions. Pealing off those little windows stickers and seeing them on the
trash heap is only reason anyone installs linux. I wish windows still came
with installation CDs. I need more coasters.

~~~
MikusR
I would like to do that, but Linux still has not mastered the arcane art of
scrolling a webpage without tearing.

~~~
Kaze404
I guess adding one command to your autostart list is too much to ask these
days :(

~~~
MikusR
Which one?

~~~
Kaze404
"picom" or "compton" is all it takes

------
atum47
Man, I'm trying real hard to make my dad to use linux, I spent 3 hours last
weekend formatting and setting up his computer with ubuntu, but developers are
letting new users down.

He is familiar with chrome, so after the installation he downloaded chrome. At
this point I was hoping that he would be able to just double click the .deb
file and install with no hassle, but he couldn't. I don't know if was the
package manager fault or google's... All I now is as long as people have to
use the terminal to do basic things, windows users won't be able to make te
switch.

Nice job though, we need more projects like this.

~~~
derefr
> double click the .deb file and install with no hassle

That sounds like a great way to finally introduce the concept of trojan-horse
malware to the consumer Linux ecosystem.

You should almost never be installing a raw .deb, anyway, because packages
form networks of requirements/versions/etc. It’s probably outdated, and might
even be for the wrong version of the OS—or even for the wrong distro!

The proper GUI workflow, I think, would be for third-parties like Google to
offer for download some sort of file representing _just_ an apt PGP-code-
signing-identity + source list; and then double-clicking it would open it in
Software Center or the like to do the GUI equivalent of apt-add-repository:
asking you if you want to trust $ORG and follow the
[http://org.example.com](http://org.example.com) apt repo. You’d say yes, and
then `apt update` would get triggered, and new packages would appear
(hopefully highlighted as such) in the Software Center list.

I’m kind of surprised things don’t already work this way. I think it’s
because—other than Chrome—there’s pretty much nothing _consumers_ want to
install on Linux that isn’t best installed from the distro’s first-party
package repo. For Debian/Ubuntu at least, I can’t think of a single PPA or
vendor apt host—other than Chrome’s—that solves a consumer (rather than
developer/administrator) use-case.

~~~
rkangel
What you have described basically _is_ how you install Chrome and a lot of
other commercially developed apps (e.g. MS Teams). At least it is in the RPM
world and I thought it was for deb too.

You download the RPM and click it to 'execute' in your downloads. It opens in
software Centre. That package sets up an extra repo and then installs the
program you want from that repo.

~~~
dungdang
and this is ine of the reasons linux is a dud as a desktop os. there is no
'malware' here. the guy went to the company's official site. downloaded their
official installer. running that should now do the install and figure out
whatever else it needs. like it does on windows.

yes, if you download and install malware that's bad. no one asked you to be
the nanny -just di what you were asked.

~~~
zrm
You _can_ download the official installer and install it.

That's just not what happens by default when you click on it, because that's
not how you get 99% of software on Linux. So if you're doing it that way it's
either because you know what you're doing, in which case you know what to do
with the .deb, or you don't know what you're doing, in which case you ought
not to be installing random binaries from the web.

All you have to do on Ubuntu is right click on it and choose "Open With Other
Application" and then choose "Software Install". But that friction is
intentional. It makes you pause and ask why that software isn't in the package
manager. And then whether you really need a browser with a proprietary license
and closed source components instead of using Firefox or installing Chromium,
which is in the package manager.

~~~
MikusR
That doesn'work in latest Ubuntu. You have to use dpkg from terminal

~~~
zrm
I just tried it in Ubuntu 20.04 and it worked. Software Install can open a
.deb, it's just not associated with them by default to keep novices from
shooting themselves in the foot.

~~~
MikusR
When I tried a couple weeks ago it didn't.

------
geofft
Debian has supported this for a while using a thing called "win32-loader":

[https://deb.debian.org/debian/tools/win32-loader/stable/win3...](https://deb.debian.org/debian/tools/win32-loader/stable/win32-loader.txt)
(txt)

[https://deb.debian.org/debian/tools/win32-loader/stable/win3...](https://deb.debian.org/debian/tools/win32-loader/stable/win32-loader.exe)
(exe)

~~~
debiandev
It's been around since 13 years at least. I remember a website [1] that
offered such installer.

[1] [https://web.archive.org/web/20160523181321/http://goodbye-
mi...](https://web.archive.org/web/20160523181321/http://goodbye-
microsoft.com/)

------
zozbot234
Win32-loader [https://salsa.debian.org/installer-
team/win32-loader](https://salsa.debian.org/installer-team/win32-loader) can
do this from Windows 9x up to Windows 7 and possibly later. The author of this
may want to work with that project, which is well maintained as part of
Debian. It might be a lifesaver for devices that can't read external USB at
boot.

------
jedieaston
In a similar vein, wubi-uefi[0] is a fork of the original Wubi project, made
to be compatible with newer versions of Ubuntu-based distros and newer
versions of Windows. Upside is that it uses the built in Windows bootloader,
so you don't have to rebuild it if you want to get rid of Linux. It's
incompatible with Bitlocker though.

[0]:
[https://github.com/hakuna-m/wubiuefi](https://github.com/hakuna-m/wubiuefi)

~~~
mehrdadn
I remember loopback mounting always gave errors on shutdown when the file
system was being unmounted. It seemed to me that it would unmount before
caches were flushed, resulting in a need for fsck later (and possibly
resulting in corruption or data loss). Do you know if there's been any attempt
to address issues like these?

------
Jonnax
Has anyone tried it? I see the repo owner created an issue for success stories
from users but it's empty.

If it works, it's very awesome!

------
captn3m0
The scariest Linux installation I'd ever done was by creating a Vitual Disk
for an existing partition (you can map a disk to a virtual disk) on VirtualBox
as a VMDK file, then mounting that as the root partition for a VM that booted
from an SamuraiLinux ISO and installed it on the root partition. Very
surprisingly, it worked without breaking anything.

[0]:
[https://askubuntu.com/a/47122/11736](https://askubuntu.com/a/47122/11736)

~~~
mehrdadn
Fun fact: you can do that for Windows too. It also works fine... assuming you
can even boot it. :-) You need to make sure Windows is booting from something
it sees as _disk_ rather than a _partition_ (i.e. include an MBR or something
before it). The main caveat is preventing the host from mounting the volume,
otherwise the guest can't write to it. But I've managed to do this (yes it's
painful) and it's great.

Pro tip: You can even make an immutable disk representing your _entire disk_
and then boot the _very same OS_ that is running VirtualBox from it. It's an
awesome way to test changes you want to make to your system that you're unsure
about.

~~~
my123
Windows can also boot from a VHDX directly, which is pretty nice. (having a VM
both as a VM and a boot option)

~~~
mehrdadn
Yeah, though one issue with that is that expanding or shrinking it is so much
more painful.

------
m4lvin
This reminds me of a "Remote Install Party" I did some Debian versions ago.
Basically the same, but on a computer in another contry:
[https://w4eg.de/code/rip/](https://w4eg.de/code/rip/)

------
rmrfstar
A tangentially related, but cool AF project [1].

[1]
[https://en.wikipedia.org/wiki/Blue_Pill_%28software%29](https://en.wikipedia.org/wiki/Blue_Pill_%28software%29)

------
dorgo
So, there are no success stories so far?

[https://github.com/mikeslattery/tunic/issues/12](https://github.com/mikeslattery/tunic/issues/12)

------
raintrees
Awesome, thank you. I am always looking for methods with the least friction to
win people over to using Linux.

------
yagodragon
Wow, has anyone tried it? I really want it to work as expected. This could
really help adoption.

------
8bitsrule
This may become legendary.

------
voltagex_
Procedural UI written in PowerShell!

------
moreorless
This reminds me of the old depenguinator.

[http://www.daemonology.net/depenguinator/](http://www.daemonology.net/depenguinator/)

~~~
bitwize
Nice! Reminds me of when people used to call scraping Windows off a computer
"defenestrating" it.

