mbusb / multibootusb

Create multiboot live Linux on a USB disk...
http://multibootusb.org/
GNU General Public License v2.0
1.39k stars 201 forks source link

Boot to Windows installer not working #439

Open artslob opened 5 years ago

artslob commented 5 years ago

Tried to install single Windows iso - Win10_1809Oct_Russian_x64.iso - from both Ubuntu 17.10 and Windows 10. Same result: when loading to usb drive, there is option in grub menu called Win10_18090Oct_Russian_x64, when hitting enter at this option happen instant return to main menu of usb. Tried change syslinux.cfg like in #404, but it didnt help.

Sinlge Linux iso works by the way

ma3yta commented 5 years ago

I got the same result with Windows_10_Pro_1809_x64.iso downloaded using MediaCreationTool https://go.microsoft.com/fwlink/?LinkId=691209

DanielRios549 commented 5 years ago

Verify if the partition has the boot flag

A9G-Data-Droid commented 5 years ago

Are you using UEFI boot? You must boot using legacy mode for Windows installers to work. (This has some unfortunate consequences if you want to later use UEFI boot, post-install.)

alete89 commented 5 years ago

@A9G-Data-Droid Thanks for the tip, it worked. Although I would prefer to install using UEFI.

A9G-Data-Droid commented 5 years ago

@alete89 So would I. I think the problem is how Windows UEFI bootloader works. Maybe we could use clover: https://sourceforge.net/projects/cloverefiboot/

haxj commented 5 years ago

I've found a solution. When booting to bootmgr.efi in UEFI mode, the error is:

/EndEntire
file path: {path}/EndEntire
error: cannot load image

Solution: Instead of chainloading /bootmgr.efi, copy /efi/boot/bootx64.efi in Windows ISO to the USB then chainloading it. Windows boot normally now.

A9G-Data-Droid commented 5 years ago

@haxj Can you write out the steps you took in Python?

haxj commented 5 years ago

@A9G-Data-Droid Sure, I've just committed the fix Can some core contributors review this fix?

mbusb commented 5 years ago

Can you make a pull request?

haxj commented 5 years ago

Edit: Oops, wrong issue, my bad. This comment is for issue #459

Okay so after some tests, apparently other distros also have detection problems. Here is the thing: There are 2 tests to detect the type of an ISO: keyword based and file list based (function detect_iso_from_file_list()). Whichever performed first may return distro type, if it can't detect the distro then the other test comes in.

However, the fact that file list based test is performed first causes problems with CentOS (and may be other distros as well).

I can see some possible solutions:

Many things are broken here. I don't have experience with other ISOs (slitaz, memtest, alpine, f4ubcd, etc.) so I cannot test MBUSB with them. Can some core developers take a closer look at this issue? This is quite serious as this may affected many type of ISOs.