-
Notifications
You must be signed in to change notification settings - Fork 152
home
Wubiuefi is a Windows Installer for Ubuntu and it is a fork of official Wubi. There has been a growing number of users who have not been able to install Ubuntu with official versions. In the past the issues of official versions only affected newer UEFI systems but meanwhile the issues affect older systems with legacy BIOS, too.
As a result, a lot of users use
- Windows only,
- old Wubi versions with outdated Ubuntu versions (as a workaround for older systems where old Wubi versions work),
- or other Linux distros (because of missing their personal main advantage of Ubuntu comparing it with other distros)
All these workarounds are not recommended by Ubuntu fans but some things happen even Ubuntu fans do not want it. So, it was time to create Wubiuefi.
Wubirelease | Ubunturelease | Additional supported features for newer Windows versions | Additional supported distros in comparison with offical development |
---|---|---|---|
14045r310 | 14.04.5 LTS | UEFI, UEFI32, Secure Boot, Fast Startup and Hibernate | Xubuntu, Ubuntu GNOME, Ubuntu MATE, Ubuntu Kylin, various distros/versions |
16042r319 | 16.04.2 LTS | UEFI, UEFI32, Secure Boot, Fast Startup and Hibernate, Parted 3.2, eMMC, NVMe, Lupin-support | Xubuntu, Ubuntu GNOME, Ubuntu MATE, Ubuntu Kylin, various distros/versions incl. Budgie-Remix |
16043r325 | 16.04.3 LTS | UEFI, UEFI32, Secure Boot, Fast Startup and Hibernate, Parted 3.2, eMMC, NVMe, Lupin-support, 30GB+ | Xubuntu, Ubuntu GNOME, Ubuntu MATE, Ubuntu Kylin, various distros/versions incl. Budgie-Remix |
1704r325 | 17.04 | UEFI, UEFI32, Secure Boot, Fast Startup and Hibernate, Parted 3.2, eMMC, NVMe, Lupin-support, 30GB+ | Xubuntu, Ubuntu GNOME, Ubuntu MATE, Ubuntu Kylin, Ubuntu Budgie, various distros/versions |
If you use these new Wubi versions you can still follow official Wubi Guide but there are some new features which are described in the following chapters. In these chapters we use Wubiuefi as a synonym for the new Wubi versions of this project.
Newer Windows systems are installed in UEFI mode by default. Unfortunately, in UEFI mode Microsoft has blocked some boot loader running it from Windows boot menu. A typical Windows error for this issue is
File: \ubuntu\winboot\wubildr.mbr
Status: 0xc000007b
So if your Windows is installed in UEFI mode, Wubiuefi does not use this Windows boot menu and it does not use old boot loader for legacy BIOS.
The new location for the Ubuntu entry is the UEFI boot menu. This menu is part of the UEFI firmware, a replacement for legacy BIOS. The new EFI boot loader files are located in EFI/ubuntu/wubildr on EFI partition.
Wubiuefi uses like a standard Ubuntu installation shimx64.efi and grubx64.efi. shimx64.efi is the one from a standard Ubuntu installation. It loads grubx64.efi if there is no Secure Boot problem. grubx64.efi is a customized GRUB 2 loader which is similar to \ubuntu\winboot\wubildr of the old boot loader for legacy BIOS.
Ubuntu supports Secure Boot and Wubiuefi uses shimx64.efi which is signed by Microsoft and allows loading of files signed by Canonical. Unfortunately, it is not possible to use grubx64.efi signed by Canonical because it does not contain NTFS module which is needed for access of a NTFS formatted Windows partition during boot.
So Wubiuefi signs a customized grubx64.efi by a MOK (Machine Owner Key). If you import the MOK located in \EFI\ubuntu\wubildr (.cer file) you can use grubx64.efi with Secure Boot.
For importing of a MOK, you can use MokManager.efi or mmx64.efi which should be loaded by default, if shimx64.efi finds a grubx64.efi with no matching key in UEFI firmware. If you see that blue screen of the MokManager
you can follow the chapter "Import a MOK"
Note: Some UEFI firmware also provides a built-in function for importing a MOK Key. This is an alternate method if disabling of Secure Boot is not possible.
Some tablets and notebooks use a 32 bit UEFI with a 64 bit CPU. Wubiuefi detects a 32 bit UEFI and installs a 32 bit EFI boot loader named grubia32.efi. It is also signed by a MOK key but currently, Wubiuefi has no signed 32 bit MokManager for importing this key.
Wubiuefi disables Fast Startup and Hibernate in UEFI mode by using the following Windows command:
powercfg /h off
During uninstall it enables it with
powercfg /h on
Ubuntu has used Parted 3.2 since Ubuntu 14.10. Parted 3.2 has lot of bug fixes and also some changes in behaviour. Unfortunately, one of these changes in behaviour affects Wubi installations. Typical error messages of this issue are:
Failed to partition the selected disk
This probably happened because there are too many (primary) partitions in the partition table.
No root file system is defined
Wubiuefi has two different solutions for this issue. The first solution is a workaround which uses an old version of Parted from Ubuntu 14.04 (=Parted 2.3). The second solution is to consider the new behaviour of Parted 3.2. All versions which use the second solution are marked with Parted 3.2.
Note: Parted is not a Windows program and does not use Windows driver. So it is still possible that the view of Parted 3.2 differs from the Windows view of your partitions and this may cause problems.
Some tablets and notebooks use eMMCs(=embedded Multimedia Cards) instead of HDs or SSDs. Wubiuefi supports special MMC device names like /dev/mmcblk0 to avoid
No root file system is defined
error.
Some devices - especially SSDs - use NVMe (=Non-Volatile Memory Express). Wubiuefi also supports special names for NVMe devices like /dev/nvme0n1 to avoid
No root file system is defined
error.
Some distros/versions do not provide package lupin-support on ISO. The package is mainly needed to redirect the boot loader to the Wubi disk(s). So Wubiuefi adds that package if it is not available on ISO to avoid problems for offline installations.
Wubiuefi provides an installation size greater than 30GB. Installation sizes are selectable in 1GB steps up to 32GB.
Sizes over 32GB are 64GB, 128GB, 256GB and 512GB. But it is possible to create other sizes with parameter --size
. e.g.
wubi1704r322.exe --size=120000
sets an installation size of 120GB for wubi1704r322.exe
In a lot of cases it is very helpful to select desktop environments for a specific distro and a specific version. So it is possible to check an existing local ISO or DVD and to download the matching distro and version if needed.
But on the other hand, it is also helpful to have general Wubiuefi configurations for the latest development release, older supported LTS releases or a customized Ubuntu based distro.
Therefore, Wubiuefi provides Wubi desktop environments which do not check a specific distro name or version number. But they still check required files as shown in the following table:
Wubi | Wubi EFI | Wubi MD5 | Wubi gz | Wubi SHA256 |
---|---|---|---|---|
.disk/info | .disk/info | .disk/info | .disk/info | .disk/info |
casper/vmlinuz | casper/vmlinuz.efi | casper/vmlinuz | casper/vmlinuz (32 bit) - casper/vmlinuz.efi (64 bit) | casper/vmlinuz |
casper/initrd.lz | casper/initrd.lz | casper/initrd.lz | casper/initrd.gz | casper/initrd.lz |
casper/filesystem.squashfs | casper/filesystem.squashfs | casper/filesystem.squashfs | casper/filesystem.squashfs | casper/filesystem.squashfs |
md5sum.txt | md5sum.txt | MD5SUMS | md5sum.txt | SHA256SUMS |
Additionaly, Wubiuefi needs compatible versions of some packages to work. Mainly, that relates to ubiquity.