hakuna-m / wubiuefi

fork of Wubi (https://launchpad.net/wubi) for UEFI support and for support of recent Ubuntu releases
GNU General Public License v2.0
1.06k stars 151 forks source link

Could not find the iso /ubuntu/installer/installation.iso #80

Open alexisfcote opened 6 years ago

alexisfcote commented 6 years ago

I have this error at the reboot after installation of wubi1710r326.exe with the ubuntu-17.10-desktop-amd64.iso In the busybox command line there is no /ubuntu mount

hakuna-m commented 6 years ago

Did you get the following message:

Could not find the ISO /ubuntu/install/installation.iso This could also happen if the file system is not clean because of an operating system crash, an interrupted boot process, an improper shutdown, or unplugging of a removable device without first unmounting or ejecting it. To fix this, simply reboot into Windows, let it fully start, log in, run 'chkdsk /r', then gracefully shut down and reboot back into Windows. After this you should be able to reboot again and resume the installation.

alexisfcote commented 6 years ago

Yes, I did try to do a chkdsk /r to no avail.

hakuna-m commented 6 years ago

If you got the message above, it is from /usr/share/initramfs-tools/scripts/casper-premount/20iso_scan. This script is part of the package lupin-casper and part of casper/initrd.lz on the used ISO.

It seems that the scripts on the ISO cannot mount your Windows partition/drive with folder ubuntu for unknown reasons.

But it also means that GRUB has no problem to use initrd.lz and vmlinuz.efi within /ubuntu/install/boot. Both files are a copy of the files within the ISO.

So you can try to correct this at busybox prompt. Type blkid to get a list of possible devices. IMHO, a known label name and the type ntfs should indicate which is your Windows partition/drive with Ubuntu. Because the correct mountpoint for your ISO should be /isodevice, type mkdir /isodevice to create this directory. Type
mount -t ntfs /dev/sdxn /isodevice to mount your Windows partition/drive with Ubuntu. Replace /dev/sdxn with the name of your device. Type ls /isodevice/ubuntu/install/installation.iso to be sure, your ISO is there. Type exit
to try it again.

alexisfcote commented 6 years ago

blkid is returning nothing... I have a XPS13 with a nvme ssd if that helps

hakuna-m commented 6 years ago

I have a XPS13

Maybe, it is necessary to change RAID mode to AHCI in your UEFI firmware (BIOS). see here

alexisfcote commented 6 years ago

Thanks this is probably it. Will try.

wardward commented 6 years ago

I get the same error message:

Could not find the ISO /ubuntu/install/installation.iso This could also happen if the file system is not clean because of an operating system crash, an interrupted boot process, an improper shutdown, or unplugging of a removable device without first unmounting or ejecting it. To fix this, simply reboot into Windows, let it fully start, log in, run 'chkdsk /r', then gracefully shut down and reboot back into Windows. After this you should be able to reboot again and resume the installation.

ls /isodevice

shows that /isodevice exists, but is empty. So I did:

mount -t ntfs /dev/sda1 /isodevice

To check if the iso can be found I did:

ls /isodevice/ubuntu/install/installation.iso

But it wasn't there.

ls /isodevice

shows

_SMSTVolumeID....... <--- a long id
System Volume Information
bootmgr
boot

so I just did, crossing my fingers and then type:

exit

to try again. But that resulted in the same error message:

Could not find the installation files /ubuntu/install/custom-installation

I've got a Lenovo ThinkPad T450.

Do you've got a possible solution?

wardward commented 6 years ago

I install Kubuntu with Wubi 16.04.3r325 (wubi16043r325.exe) When the Windows firewall asks me to allow pyrun.exe, I choose: Allow access for private networks. Then Wubi starts downloading kubuntu-16.04.3-desktop-amd64.iso. Then Wubi tells me to reboot to complete the installation. So far, so good. But when I reboot...

I get:

Completing the Ubuntu installation
[0.114484] Error parsing PCC subspaces from PCCT
[6.063611] tmp tmp0: A TPM error (6) occurred attempting to read a pcr value
[6.123616] tmp tmp0: A TPM error (6) occurred attempting to read a pcr value

Then I get a nice graphical Kubunu installation screen with Kubunu logo.

Then the shell comes back with the following error message:

BusyBox v1.22.1 (Ubunutu 1:1.22.0-15ubuntu1) build-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs)
Coud not find the ISO /ubuntu/install/kubuntu-16.04.3-desktop-amd64.iso

When I login to Windows, then the file c:\ubuntu\install\kubuntu-16.04.3-desktop-amd64.iso exists. I ran chkdsk /r several times. I tried to install Ubuntu instead. I tried to install the latest version (17.10) of Kubuntu and Ubuntu instead of the LTS. I tried the workaround to install the 32-bit version of Kubuntu by selecting the WUBI distro and then copying all the missing files during the installation. But nothing worked.

There is also no /ubuntu directory (so also not a /ubuntu/install directory).

The output of the command

blkid

is:

/dev/sda1: LABEL="System Reserved" UUID=" ...a long id... " TYPE="ntfs" PARTUUID="...-01  <--- a ID
/dev/sda2: PARTUUID="...-02  <--- a ID

I can't find any efi directory.

ls /sys

as well as

ls /sys/firmware

don't show an efi directory

So my Lenovo ThinkPad T450 laptop did not boot in EFI mode, but Legacy BIOS mode.

I don't have the administrator password for my BIOS. So I can't change any settings there. But I can read the BIOS settings. The BIOS of my Lenovo Thinkpad T450 is configured as:

UEFI Secure Boot: Disabled
Intel Rapid Start Technology: Enabled

Network Boot: PCI LAN: IBA GE
UEFI/Legacy Boot: Both
UEFI/Legacy Boot Priority: Legacy First
CSM Support: Yes
Boot Mode: Quick

Boot Priority Order:
    1. AATA HDD0 LITEON LCH-128VS2
    2. ATA HADD1
    3. ATA HDD2
    4. PCI LAN IBA GE Slot 00C8 v1553

Excluded from boot priority order:
    * USB CD
    * USB FDD
    * USB HDD

Flash BIOS updating by end-users: Enabled

How can I use Linux on my Lenovo ThinkPad T450?

hakuna-m commented 6 years ago

@wardward

Wubi(uefi) uses the general option to boot into a desktop ISO during installation. You can choose the location of the desktop ISO by selection a Windows drive. Unfortunately, the boot scripts of the desktop ISO do not support all file systems, partition types and disk modes by default.

So there are the following possibilities to solve the issue:

But in all cases it is necessary to know more details. Try also parted --list and fdisk -l within busybox.

_SMSTVolumeID....... <--- a long id
System Volume Information
bootmgr
boot 

IMHO, in your case /dev/sda1 is either a recovery partition or a boot partition for Windows.

/dev/sda2: PARTUUID="...-02 <--- a ID

/dev/sda2 seems to have an unsupported partition type or file system. Maybe, it contains Windows C drive and we can mount it, if we know more details.

wardward commented 6 years ago

@hakuna-m

Thanks 4 your fast reply!

Letting Grub2 boot a persistent live usb of Kubuntu 16.04.3 LTS is maybe a good option. I'm not a Grub2 expert. But I'm going to google on how to edit the Grub2 configuration that was created by the Wubi install to boot a system (Kubuntu 16.04.3 LTS) from a usb memory key.

parted --list and fdisk -l both result in that the command is not found....

How can I get them in BusyBox?

hakuna-m commented 6 years ago

@wardward

I'm not a Grub2 expert. But I'm going to google on how to edit the Grub2 configuration that was created by the Wubi install to boot a system (Kubuntu 16.04.3 LTS) from a usb memory key.

It should be not necessary that you edit the Grub2 configuration. If you format a usb memory key with NTFS file system, you create a Windows drive with a drive letter e.g. D:. It should be possible to select D: as target drive.

both result in that the command is not found....

I'll check it

wardward commented 6 years ago

@hakuna-m

Thnx Hakuna!

In the Wubi 16.04.3r325 gui I don't see an option target drive... Where can I find it? Or is it a command line parameter?

wardward commented 6 years ago

If I create a Kubuntu usb memory stick, then I want to create one that works on any computer (that supports booting from usb) I plug the usb memory stick into.

Will that be the case when I install Kubuntu with wubi to a usb memory key (mounted as a D: drive for example)? Or do I need the official Kubuntu live usb key for that?

hakuna-m commented 6 years ago

In the Wubi 16.04.3r325 gui I don't see an option target drive... Where can I find it?

Target drive is the installation drive:

If I create a Kubuntu usb memory stick, then I want to create one that works on any computer (that supports booting from usb) I plug the usb memory stick into.

A Wubi(uefi) installation is intended to boot from Windows menu (non UEFI) or EFI partition of Windows (UEFI). But neither Windows menu nor EFI partition is installed on the memory stick. So it doesn't work by default.

In your case, it should be in non UEFI mode. So it is possible to copy a Wubi MBR to the memory stick to boot it without Windows menu and Windows.

both result in that the command is not found....

cat /proc/partitions should work within busybox.

wardward commented 6 years ago

The output of cat /proc/partitions is:

major minor #blocks name
8 0 125034840 sda
8 1 102400 sda1
8 2 124930048 sda2

/dev/sda1 looks like a recovery partition or a boot partition for Windows. /dev/sda2 can't be mounted with -t ntfs There are no other partitions that are shown by cat /proc/partitions

Any other idea's how to mount the Windows C-drive / how to solve the Could not find the iso /ubuntu/installer/installation.iso error? (Without the external usb memory stick workaround)

wardward commented 6 years ago

I tried the external usb memory stick workaround. Windows explorer show me a D: drive. But the Wubi gui only shows c: in the installation drive drop down menu...

I've got a memory stick of 4GB. The smallest installation size wubi shows is 5GB. Maybe that has something to do with it?

I tried starting wubi with the following command line parameters: wubi16043r325.exe --size=4000 But then the smallest size shown tin the installation size dropdown box is still 5GB (4GB is not shown).

How can I install Kubuntu on a usb memory stick that is smaller than 5 GB?

hakuna-m commented 6 years ago

I tried starting wubi with the following command line parameters: wubi16043r325.exe --size=4000

wubi16043r325.exe --skipsizecheck

or if you know the drive and size:

wubi16043r325.exe --skipsizecheck --drive=D: --size=4000

see here. But sizes smalller than 5GB make only sense for Demo mode. see here

Any other idea's how to mount the Windows C-drive / how to solve the Could not find the iso /ubuntu/installer/installation.iso error? (Without the external usb memory stick workaround)

Windows has a Disk Management. You can run it with diskmgmt.msc in Windows. see e.g. https://www.lifewire.com/how-to-open-disk-management-from-command-prompt-2626097 . Maybe, a screenshot shows your special disk configuration.

wardward commented 6 years ago

Here is the screenshot of the diskmgmt.msc output on my system:

image

Here it (sda2) just looks looks like a normal ntfs partition to me....

Do you see a clue that can be helpful in this?

hakuna-m commented 6 years ago

Here it (sda2) just looks looks like a normal ntfs partition to me....

...to me too

Is it possible to mount /dev/sda2 with read only access ?

mount -t ntfs -o ro /dev/sda2 /isodevice

Did you disable hibernation ? see here and here

Currently, Wubiuefi disables hibernation in UEFI mode only. But as far as I know, your Windows is not in UEFI mode.....

wardward commented 6 years ago

Hibernation is disabled with powercfg.exe /hibernate off command.

mount -t ntfs -o ro /dev/sda2 /isodevice gives the same error message:

NTFS signature is missing.
Failed to mount '/dev/sda2': Invalid argument.
The device '/dev/sda2' doesn't seem to have a valid NTFS.

Any other idea how to get Kubunu installed on my C: drive?

wardward commented 6 years ago

I've made a Kubuntu 16.04.3 live pendrive from my 4GB usb memory stick. I try to boot from that usb from the Grub2 command line, like described in: http://blog.viktorpetersson.com/post/93191892924/how-to-boot-from-usb-with-grub2

But ls only shows:

(memdisk) (loop0) (hd0) (hd0,msdos2) (hd0,msdos1)

(hd0,msdos2) and (hd0,msdos1) are my sda harddrive ntfs partitions

ls (hd0,msdos1) outputs: ntfs - Label 'System Reserved' and ls (hd0,msdos2) outputs: ntfs - Label 'Windows'

I tried ls (hd1,msdos1), but that gives: error: hd1 cannot get C/H/S/ values.

Grub2 doesn't see my usb memory stick. (Extra info: Also the light of my memory stick is not on. It flickers when my laptop starts-up, but from the moment I go into Grub2 the light is off.)

When I boot to the uncompleded Kubunu installation, and go into BusyBox, then my usb drive is found.

How can I boot Kubuntu from usb?

wardward commented 6 years ago

I just bought myself a new 64GB SanDisk Ultra Fit Flash Drive :-)

In Windows it got mounted as the D: drive I used Wubi 16.04.3r325 to install Kubuntu 16.04.3 on it. When I rebooted, I got this error in the Windows Boot Manager:

Windows failed to start. A recent hardware or software change might be the cause. To fix the problem:
    1. Insert your Windows installation disc and restart your computer
    2. Choose your language settings, and then click "Next."
    3. Click "Repair your computer."

If you do not have this disc, contact your system administrator or computer manufacturer for assistance

    File: \ubuntu\winboot\wubildr.mbr

    Status: 0xc000000e

    Info: The selected entry could not be loaded because the application is missing or corrupt.

I don't have a repair disc and I don't have a system administrator who I can contact..... Scary moment.... But luckily I could boot to Windows again! :-)

I uninstalled Wubi, and now Windows boots normally again :-) Phewww :-) :-)

Now I've tried any workaround that I now of. But I still don't have Kubuntu on my laptop....

Any other suggestions on how to use Kubuntu on my Lenovo Thinkpad T450 laptop?

P.S. BusyBox can find my usb drive. Is it possible to boot the usb from BusyBox? (BusyBox shows my usb flash drive as /dev/sdb1 with the blkid command)

hakuna-m commented 6 years ago

But luckily I could boot to Windows again! :-)

This feature is intended. The are two different menu entries. One for Windows and one for Ubuntu. If the menu entry for Ubuntu does not work, it should not affect Windows, too.

In general Windows boot menu has sometimes problems with changed hardware or removeable devices.

But no problem, it is not necessary that the file wubildr.mbr is on installation drive. If you install on D: drive, you can copy the file from D:\ubuntu\winboot\wubildr.mbr to C:\wubildr.mbr (if it does not exist) and edit the Windows menu to change the location of wubildr.mbr

wubildr.mbr finds wubildr in the root directory of any drive. e.g. D:\wubildr. If it finds C:\wubildr it is also no problem, because wubildr finds /ubuntu/winboot/wubildr.cfg also on any drive.

The boot loader chain is wubildr.mbr -> wubildr -> /ubuntu/winboot/wubildr.cfg -> /ubuntu/install/boot/grub/grub.cfg (if /ubuntu/disks/root.disk is empty)

You can use the built-in bcdedit command or install EasyBCD to edit the boot menu. To use bcdedit, run cmd.exe as an administrator, then enter bcdedit to show all boot entries. note the {GUID} specified for the Ubuntu entry, then change the location of wubildr.mbr.

bcdedit /set {GUID} device partition=C: bcdedit /set {GUID} path \wubildr.mbr

Replace {GUID} by the GUID which you noted before.

edit: Removed equal sign after path argument.

wardward commented 6 years ago

Thnx again Hakuna! I'm going to try that.

Is it possible to create a usb pendrive that also boots from any other system (that supports booting from usb)? So that it boots Kubuntu in the way you described above on my Lenovo laptop without usb booting support, and any other system that supports booting from usb.

hakuna-m commented 6 years ago

If booting from a USB device is supported, you can copy the file wubildr.mbr to the MBR of the usb pendrive. If booting is not supported, it is necessary to create boot menu entries.

if you run (K)ubuntu, the terminal commands are:

sudo dd if=/host/wubildr.mbr of=/dev/sdx bs=446 count=1
sudo dd if=/host/wubildr.mbr of=/dev/sdx bs=512 count=15 seek=1 skip=1  

Note: Replace /dev/sdx with the name of your usb pendrive with (K)ubuntu. Be careful with dd command. dd command can overwrite and delete the whole disk with other parameters. The dd commands above overwrite only the bootstrap code area of the MBR. The first dd writes the first 446 bytes with the first part, the second dd writes 7680 bytes (=512*15) with the second part after byte no 512. Between byte no 447 and 512 are important data (e.g. partition table) which we should not overwrite. After the first sectors of your disk there is the area where you store your data which we should also not overwrite.

Chain booting from MBR is the legacy BIOS method (non UEFI).

P.S. Kubuntu needs a workaround ( #10 ).

edit:

The boot loader chain with Wubi MBR is

The boot loader chain with Windows MBR is

wardward commented 6 years ago

Just to be on the safe side: C:\wubildr.mbr exists. So I don't need to copy D:\ubuntu\winboot\wubildr.mbr to C:\wubildr.mbr. Right?

The output of bcdedit is:

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume1
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {current}
resumeobject            {98ab5815-c08b-11e6-a184-c85b7650f579}
displayorder            {current}
                    {98ab5826-c08b-11e6-a184-c85b7650f579}
bootsequence            {98ab5826-c08b-11e6-a184-c85b7650f579}
toolsdisplayorder       {memdiag}
timeout                 10

Windows Boot Loader
-------------------
identifier              {current}
device                  partition=C:
path                    \WINDOWS\system32\winload.exe
description             Windows 7
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence        {98ab5817-c08b-11e6-a184-c85b7650f579}
recoveryenabled         Yes
osdevice                partition=C:
systemroot              \WINDOWS
resumeobject            {98ab5815-c08b-11e6-a184-c85b7650f579}
nx                      OptIn

Real-mode Boot Sector
---------------------
identifier              {98ab5826-c08b-11e6-a184-c85b7650f579}
device                  partition=D:
path                    \ubuntu\winboot\wubildr.mbr
description             Kubuntu

So (if I'm correct) the GUID if the Kubuntu entry is: {98ab5826-c08b-11e6-a184-c85b7650f579}. So the commands I need to type are: bcdedit /set {98ab5826-c08b-11e6-a184-c85b7650f579} device partition=C: bcdedit /set {98ab5826-c08b-11e6-a184-c85b7650f579} path=\wubildr.mbr

Right?


For other people reading this thread and want to do the same: With bcdedit /export "C:\BCD-Backup" you can create a backup of your Boot Configuration Data Store. Just in case you need it.

wardward commented 6 years ago

Another question: If the boot loader chain is in place to start /boot/grub/grub.cfg, can I also add entries over there to start any USB Bootable Pendrive? :-) So also a Kubuntu persistent live usb pendrive with an official Linux filesystem (ext4)?

What would I need to add to /boot/grub/grub.cfg to do that?

hakuna-m commented 6 years ago
bcdedit /set {98ab5826-c08b-11e6-a184-c85b7650f579} device partition=C:
bcdedit /set {98ab5826-c08b-11e6-a184-c85b7650f579} path=\wubildr.mbr

Right?

You are right. But path argument is without equal sign. I changed my typing error in the post above. Sorry. bcdedit /set {98ab5826-c08b-11e6-a184-c85b7650f579} path \wubildr.mbr

If the boot loader chain is in place to start /boot/grub/grub.cfg, can I also add entries over there to start any USB Bootable Pendrive? :-)

Yes, but you should not edit /boot/grub/grub.cfg because updates overwrite this file. It is better to create a new script within /etc/grub.d/ directory. Some helpful examples are in the Gentoo Wiki

wardward commented 6 years ago

Thanks again Hakuna!

I want to use all the space on my 64GB usb memory stick for the Kubuntu installation with Wubi. I start Wubi on the command line with wubi16043r235.exe --size 64000. But Wubi starts with a default of 19 GB installation size, and a maximum of 32 in the drop down box. I tried wubi16043r235.exe --size 57000, but that had the same result. My C: drive only has 36 GB free. Probably that's why it doesn't work.

How can I set D: as the installation drive in the command line parameters? Where can I find al the wubi command line parameters? (I can't find them in the wiki and I tried wubi16043r235.exe --help, wubi16043r235.exe -h, wubi16043r235.exe /?, but they don't result in any info.)

wardward commented 6 years ago

Yes, but you should not edit /boot/grub/grub.cfg because updates overwrite this file. It is better to create a new script within /etc/grub.d/ directory. Some helpful examples are in the Gentoo Wiki

Can I already create that /etc/grub.d/40_custom Grub2 script in Windows (where I have internet access and a gui where I can easily copy paste example scripts)? If so, where should I place /etc/grub.d/40_custom?

wardward commented 6 years ago

When I type: bcdedit /set {98ab5826-c08b-11e6-a184-c85b7650f579} device partition=C:

I get:

An error occurred while attempting to reference the specified entry.
The system cannot find the file specified.

The output of bcdedit is

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=\Device\HarddiskVolume1
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {current}
resumeobject            {98ab5815-c08b-11e6-a184-c85b7650f579}
displayorder            {current}
                    {98ab5827-c08b-11e6-a184-c85b7650f579}
bootsequence            {98ab5827-c08b-11e6-a184-c85b7650f579}
toolsdisplayorder       {memdiag}
timeout                 10

Windows Boot Loader
-------------------
identifier              {current}
device                  partition=C:
path                    \WINDOWS\system32\winload.exe
description             Windows 7
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence        {98ab5817-c08b-11e6-a184-c85b7650f579}
recoveryenabled         Yes
osdevice                partition=C:
systemroot              \WINDOWS
resumeobject            {98ab5815-c08b-11e6-a184-c85b7650f579}
nx                      OptIn

Real-mode Boot Sector
---------------------
identifier              {98ab5827-c08b-11e6-a184-c85b7650f579}
device                  partition=D:
path                    \ubuntu\winboot\wubildr.mbr
description             Kubuntu

I copy pasted everything, so no typo's.

Any advice?

hakuna-m commented 6 years ago

Where can I find al the wubi command line parameters?

On the FAQ page of our wiki -> here

I want to use all the space on my 64GB usb memory stick for the Kubuntu installation with Wubi.

The max installation size is always smaller than the free space on Windows drive. The installation size is only needed for the Wubi disk files within ubuntu/disks. Additionally, you need space for the installation iso and other files. As I wrote in a previous post you can try --skipsizecheck to skip the size check.

hakuna-m commented 6 years ago

Can I already create that /etc/grub.d/40_custom Grub2 script in Windows (where I have internet access and a gui where I can easily copy paste example scripts)?

If you want GRUB2 boot loader from Wubiuefi project without (K)ubuntu in a Wubi disk. You can delete folder /ubuntu.

You need wubildr.mbr, wubildr and you can create a configuration file grub.cfg within the root directory of any drive e.g. C:\grub.cfg or D:\grub.cfg

/grub.cfg is the fallback for the boot loader.

It also works for a Windows in UEFI mode but you need the EFI files of the Wubiuefi GRUB boot loader on the hidden (has no Windows drive letter by default) EFI partition.

An error occurred while attempting to reference the specified entry.
The system cannot find the file specified.

Probably, the error message has the same reason as the error message with status: 0xc000000e As far as I know, some users reported that they could fix the issue with EasyBCD

Another possibility is that you create an additional entry like Wubi(uefi). e.g. with the following commands:

bcdedit /create /d "Wubi" /application bootsector Note: The command returns a new {GUID} for the next commands.

bcdedit /set {GUID} device partition=C:
bcdedit /set {GUID} path \wubildr.mbr
bcdedit /displayorder {GUID} /addlast
bcdedit /timeout 10
bcdedit /bootsequence {GUID}

For more information see https://docs.microsoft.com/en-us/windows-hardware/drivers/devtest/adding-boot-entries

wardward commented 6 years ago

Thnx again Hakuna! :)

Another possibility is that you create an additional entry like Wubi(uefi). e.g. with the following commands:

I executed those bcdedit commands.

When I select the boot option Wubi, I get a grub> command line prompt with "Minimal BASH-like line editing", instead of that Kubuntu starts....

When I type ls there, I only get memdisk (hd0) (hd0,msdons2) (hd0,msdos1) while my usb memory stick is attached in the usb port...

I've also installed EasyBCD now. But since the adding a new entry with bcdedit worked, there is no need of editing that old entry.

Do you have any more suggestions?

wardward commented 6 years ago

As I wrote in a previous post you can try --skipsizecheck to skip the size check.

Sorry, I had forgotten that.

I now installed Kubuntu with wubi16043r325.exe --drive=D: --size=57500 The installation size field now shows 57GB. But after the installation, the total installation is only 13,5 GB ....and 44.3 GB of my usb drive is still unused.

So now I've got an even smaller usage of my usb memory stick....

Do you know a solution so I can use everything of my usb memory stick when I (can) boot to Kubuntu?

hakuna-m commented 6 years ago

But after the installation, the total installation is only 13,5 GB ....and 44.3 GB of my usb drive is still unused.

13,5 GB looks like the max. size for a FAT file system:

4G root.disk 4G home.disk 4G usr.disk 0,25 GB swap.disk 1,5 GB installation.iso and other installation files

The reason is a 4GB file size limit: see FAT

4,294,967,295 bytes (4 GiB – 1)[1] (with LFS)

Try NTFS instead of FAT.

hakuna-m commented 6 years ago

When I type ls there, I only get memdisk (hd0) (hd0,msdons2) (hd0,msdos1) while my usb memory stick is attached in the usb port...

That means that GRUB does not get all devices if it read legacy BIOS interface only. Sometimes legacy BIOS interface provides only boot devices without additional external usb devices.

If GRUB should read a native firmware interface, IMHO we need native disk support. Therefore I created the branch nativedisk.

Currently, we don't create a wubildr with native disk support because of serious issues during tests in virtual environments. Only grubx64.efi for UEFI mode worked. But maybe, some real UEFI firmware in legacy BIOS mode will work. So I'll create a wubildr with nativedisk support which you can test.

edit: I added the wubildr within a zip file: wubildr.zip

hakuna-m commented 6 years ago

@wardward Currently, there are two different issues.

windows C: drive: GRUB works, the programs of initial ramdisk do not work -> busybox with error message "Could not find the iso /ubuntu/installer/installation.iso"

Windows D: drive: drive is not bootable, GRUB does not work -> grub prompt, the programs of initial ramdisk work

So either you need a mixture of both installations or you need to fix one of the issues. For the second issue i built a modified wubildr, which you can use instead of your current wubildr (see above )

IMHO a mixture of both installations should be possible, if you install to D: drive and copy folder /ubuntu also to C: drive. Or the other way round, you install to C: drive and copy the folder /ubuntu to D: drive.

C:\wubildr.mbr -> C:\wubildr -> C:\ubuntu\winboot\wubildr.cfg -> C:\ubuntu\install\boot\grub\grub.cfg -> C:\initrd.lz -> D:\ubuntu\installer\installation.iso -> ......

So there is a switch from C: to D: within initial ramdisk. Maybe, there is a second switch from D: to C: during installation, if more drivers are loaded. So I recommend this method only to boot with Demo Mode. see here to analyze the mount error:

NTFS signature is missing.
Failed to mount '/dev/sda2': Invalid argument.
The device '/dev/sda2' doesn't seem to have a valid NTFS.

with sudo parted --list and sudo fdisk -l

wardward commented 6 years ago

Thnx Hakuna! You're great!! I'm away till the 16th, but after that I'm going to try those solutions.

In case it doesn't work, already another question : How can I boot Kubuntu on the usb pendrive from the BusyBox command line?

Because BusyBox can find my external usb pendrive. So maybe from there I can start the bootloader process to boot Kubuntu from an external usb pendrive?

If you know how to do that, please let me know.

wardward commented 6 years ago

Hi Hakuna,

I did the following:

So I'm one step further thanks to your special wubildr file!

Now I wanna type in the Grub2 command line:

grub> linux (hd1,msdos1)/ubuntu/install/vmlinuz root=/dev/sdb1
grub> initrd (hd1,msdos1)/ubuntu/install/initrd.gz
grub> boot

I guessed the /dev/sdb1. How can I know which device my usb drive is?

wardward commented 6 years ago

P.S. This was the error screen I got: 20171209_223710

hakuna-m commented 6 years ago
  • Got error screen

It is an error screen of the Windows Boot Manager. It is not fixable by replacing wubildr with a new wubildr because the Windows Boot Manager tries to boot wubildr.mbr and not wubildr. As I wrote above:

As far as I know, some users reported that they could fix the issue with EasyBCD

  • ls showed (usb0, msdos1) :-) :-) :-)

The special wubildr with nativedisk module provides other device names. But ls should also show your internal disk with a new device name. If all disks are available you should not get a grub prompt.

I guessed the /dev/sdb1. How can I know which device my usb drive is?

The device name of the usb drive is not always the same. So Ubuntu after installation uses the UUID instead by default.

root=UUID=.......

But I am not sure what you want. The grub configuration to install Ubuntu with Wubi is

search -s -f -n /ubuntu/install/boot/vmlinuz.efi

followed by

linux /ubuntu/install/boot/vmlinuz.efi debian-installer/custom-installation=/ubuntu/install/custom-installation iso-scan/filename=/ubuntu/install/installation.iso automatic-ubiquity noprompt debug debug-ubiquity boot=casper ro debian-installer/locale=en_US.UTF-8 keyboard-configuration/layoutcode=us keyboard-configuration/variantcode= --   rootflags=sync
initrd /ubuntu/install/boot/initrd.lz

in "verbose mode".

How can I boot Kubuntu on the usb pendrive from the BusyBox command line?

BusyBox is not intended as boot manager. If the grub parameters and inital ramdisk work you should not drop to BusyBox. You can easily change grub parameters. It is also possible to change inital ramdisk but the one that we use is part of the ISO.

wardward commented 6 years ago

The special wubildr with nativedisk module provides other device names. But ls should also show your internal disk with a new device name. If all disks are available you should not get a grub prompt.

ls shows:

(ahci0) (ahci0,msdos2) (ahci0,msdos1) (usb0) (usb0,msdos1) (memdisk) (loop0)

Is ahci my internal harddisk? Or is my internal harddisk not shown?

hakuna-m commented 6 years ago

if the driver for the file systems of the partitions are loaded, it should be possible to list the files of the partitions:

ls (usb0,msdos1)/
ls (ahci0,msdos1)/
ls (ahci0,msdos2)/
wardward commented 6 years ago

I get this error message: error: invalid magic number.

Is that because I have to fill in something after keyboard-configuration/variantcode, instead of the - -?

20171214_201514

hakuna-m commented 6 years ago

IMHO, invalid magic number has nothing to do with keyboard-configuration/variantcode. I assume that the error is caused by /ubuntu/install/boot/vmlinuz.efi

The first search command failed with an error. The second search command after ls reported no error.

if the search command reports no error, you can type root to display the found device with /ubuntu/install/boot/vmlinuz.efi

wardward commented 6 years ago

Thnx again Hakuna! When I type the root command, I get: error: can't find command 'root'

20171217_190220

hakuna-m commented 6 years ago

Sorry, try
ls ($root) to display the found device

wardward commented 6 years ago

Hi Hakuna,

Then I get this: 20171221_172625

Any ideas now on how to solve the magic number error? Or other suggestions to get Kubuntu on my laptop?

hakuna-m commented 6 years ago

Any ideas now on how to solve the magic number error?

IMHO, the magic number errors are caused by an unstable read access. The search command also needs always two tries to find /ubuntu/install/boot/vmlinuz.efi

So you can try to use another USB drive, another file system, maybe also another grub driver,....

Besides, it is interesting that nativedisk driver of grub has also problems to read the file system of your second partition.

Or other suggestions to get Kubuntu on my laptop?

https://help.ubuntu.com/community/Installation/FromUSBStick

But I assume that your reason to try Wubiuefi was that you got similar issues without Wubiuefi, too.

Sometimes helpful is also a VM: https://www.lifewire.com/run-ubuntu-within-windows-virtualbox-2202098

But for solutions without Wubiuefi there are a lot of users in Ubuntu forums who can help you.