Welcome to the Windows Removal Tool site! This is a concept of a program which is supposed to:
- delete Windows,
- install Linux,
- help with distro selection
- install all the previously present programs.
It is targeted to people who either want to start their Linux adventure with some training wheels or need their grandma's computer to run linux, because it is 10 years old and it would be a pitty to discard it yet, or want to prank school's IT guy, or are the IT guy themselves and want automation.
I am a Polish student who can't code at all but uses Linux daily. This is my first project ever. I will make a ton of misakes, so please do not expect everything to be correct, let alone neat and easily understandable.
The first part is preperations to overwrite Windows. I think it should look more or less like this:
- elevate,
- ask whether to dualboot or singleboot,
- distro selection (look at the details),
- program compatibility check,
- create temp folder: %systemdrive%\e,
- ask about usernames and their passwords and which is the administrator,
- fetch time, date, device name, language,
- save in %systemdrive%\e\systemconfig.cfg,
- make a list of all installed programes,
- "translate" them to something linux understands (again, the details),
- save in %systemdrive%\e\programlist.cfg,
- make configs of particular users (ease of access, wallpapers, colors, desktop icon layout),
- save in %systemdrive%\e\userconfig.cfg,
- ask for confirmation,
- 'Did you back up all your data?', if yes: proceed to 16 if no: tell the user to do so and come back later
- 'Do you have a thumb drive with nothing important on it?',
if yes: use the thumb drive
if no:
diskpart
sel vol=%systemdrive%
shrink desired=k* 1024 where k is a natural number determined by the size of the iso file
cre par efi size=k* 1024
if error:
cre par pri size= k* 1024
assign letter l
- download iso,
- unpack (fat32 partiton)/burn .iso,
- modify the copy (includes copying %systemdrive%/e),
- add Linux to boot options,
- remove Windows from boot options,
point 3: In this section I want the program to explain what is a distro, show basic info and a ton of screenshots from various places and apps, all standardized, maybe a "compare" view.
point 4: A searchbox and tags: 'stable', 'nieche', 'made by an evil corporation', 'bleeding edge', 'similar to' and most popular equivalents.
point 10: By 'translating' I mean creating a scipt which will be all sudo apt install programs-name. Furthermore not everything availible on Windows will be availible on Linux. In such situations alternatives will have to be presented to the user or existing installs will need to be copied with the intention of running the programs with WINE or Proton.
point 18: .iso has to be stock, it cannot have any modifications regarding self installation. An autoinstall script will be made by this program based on a given template.
point 18 again: I know Ubuntu can do that. I also know that not every distribution can do that.
- boot,
- format,
- install,
- apply systemconfig and a little bit of userconfig,
none
- elevate,
- apply the rest of userconfig,
- apply programconfig,
- update and reboot,
- prompt user to copy everthing they have
none
I hope that's all for now.