Jump to content











Photo
* * * * * 2 votes

Ventoy - Open source USB boot utility for both BIOS and UEFI


  • Please log in to reply
186 replies to this topic

#1 tinybit

tinybit

    Gold Member

  • Developer
  • 1173 posts
  •  
    China

Posted 19 April 2020 - 09:04 AM

Home page: http://www.ventoy.net/

 

Project started on 2020-04-05 (So, it is fresh, and a work in progress)

Latest release 2020-04-18 (yesterday)

 

 

  What is ventoy

 

Ventoy is an open source tool to create bootable USB drive for ISO files. With ventoy, you don't need to format the disk again and again, you just need to copy the iso file to the USB drive and boot it. You can copy many iso files at a time and ventoy will give you a boot menu to select them (screenshot). Both Legacy BIOS and UEFI are supported in the same way. 160+ ISO files are tested (list).
A "Ventoy Compatible" concept is introduced by ventoy, which can help to support any ISO file.

 

 

  Features

 

 

100% open source

Simple to use

Fast (limited only by the speed of copying iso file)

Directly boot from iso file, no extraction needed

Legacy + UEFI supported in the same way

ISO files larger than 4GB supported

Native boot menu style for Legacy & UEFI

Most type of OS supported, 160+ iso files tested

Not only boot but also complete installation process

"Ventoy Compatible" concept

Plugin Framework

Readonly to USB drive during boot

USB normal use unafftected

Data nondestructive during version upgrade

No need to update Ventoy when a new distro is released

 

 

 

 


  • wimb and ReTokener like this

#2 steve6375

steve6375

    Platinum Member

  • Developer
  • 7265 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films,guitars, www.easy2boot.com
  •  
    United Kingdom

Posted 19 April 2020 - 09:08 AM

How does it work?

for both MBR and UEFI.

He goes on about memory structure, but give no details about how it actually works for grub2 booting to linux?

Do Win Install ISOs work - I tried and it didnt load ISO as virtual drive.



#3 tinybit

tinybit

    Gold Member

  • Developer
  • 1173 posts
  •  
    China

Posted 19 April 2020 - 09:26 AM

@steve6375

 

I just found it out. I am sorry but I can't offer anything more. I  think you know more about it than me.

 

emm... if the developer could come here...



#4 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 15278 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 19 April 2020 - 09:54 AM

The thingy looks nice at face value. :)

Surely it will represent a good alternative, particularly for the "common" ISO images and for "standard" usage. 

 

But since I am - admittedly - a grumpy, old (and cheap, but it isn't relevant here) bastard, I do have to say this:

 

Why (the heck) is JSON used (for plugins, whatever they are)? :w00t: :ph34r:

http://www.ventoy.ne...ugin_entry.html

 

I mean couldn't the Author(s) find a more complex format? :frusty:

 

:duff:

Wonko



#5 tinybit

tinybit

    Gold Member

  • Developer
  • 1173 posts
  •  
    China

Posted 19 April 2020 - 10:39 AM

JSON is not so bad:

http://www.jsonexample.com/

 

In a simple case, it contains just key-value pairs:

 

{

"key1": "value1",

"key2": "value2",

"key3": "value3"

}

 

Web page writers would love it.



#6 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 15278 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 19 April 2020 - 11:03 AM

JSON is not so bad:

http://www.jsonexample.com/

 

In a simple case, it contains just key-value pairs:

 

{

"key1": "value1",

"key2": "value2",

"key3": "value3"

}

 

Web page writers would love it.

Yep, I know :), actually it is the fact that web page writers love it that I have to hate it. ;)

 

:duff:

Wonko



#7 ventoy

ventoy

    Member

  • Members
  • 37 posts
  •  
    China

Posted 19 April 2020 - 11:12 AM

@tinybit  

Thank you for your recommendation.

 

Ventoy is growing, comments and suggestions are welcome!



#8 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 15278 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 19 April 2020 - 11:15 AM

@tinybit  

Thank you for your recommendation.

 

Ventoy is growing, comments and suggestions are welcome!

Hello, good to have the Author "on board":)

 

:duff:

Wonko



#9 wimb

wimb

    Platinum Member

  • Developer
  • 2795 posts
  • Interests:Boot and Install from USB
  •  
    Netherlands

Posted 19 April 2020 - 11:21 AM

I have been testing Ventoy for booting a couple of ISO files.

 

Ventoy is small in size and easy to use (but of course will be internally complex ....)   :)

 

UEFI Secure mode : All FAIL since RED Secure Boot Violation Message blocks booting .... :ph34r:

 

BIOS mode:  Knoppix runtimelivecd.isoFedora-Workstation-Live-x86_64-32_Beta-1.2.isoWin10_1909_Dutch_x64.iso are booting OK  :)

 

BIOS mode: Win10XPE_x64.ISO FAIL with immediate reboot after loading to RAMDISK  :ph34r:     ChrisPE WinPE.ISO booting OK  :)

 

BIOS mode: clear-32590-live-desktop.iso booting FAILS  :ph34r:

 

BIOS mode: ubuntu-19.10-desktop-amd64.iso booting OK but using inconvenient boot option :( instead of booting straight 



#10 steve6375

steve6375

    Platinum Member

  • Developer
  • 7265 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films,guitars, www.easy2boot.com
  •  
    United Kingdom

Posted 19 April 2020 - 11:27 AM

@ventoy

please explain how it works.

e.g.

If I want to add your mechanism to grub2, what modules are needed?

How does it insert driver into linux and winpe?

Does it support Win install ISOs?

etc.

Please give details.



#11 ventoy

ventoy

    Member

  • Members
  • 37 posts
  •  
    China

Posted 19 April 2020 - 11:44 AM

I have been testing Ventoy for booting a couple of ISO files.

 

Ventoy is small in size and easy to use (but of course will be internally complex ....)

 

UEFI Secure mode : All FAIL since RED Secure Boot Violation Message blocks booting .... :ph34r:

 

BIOS mode:  Knoppix runtimelivecd.iso, Fedora-Workstation-Live-x86_64-32_Beta-1.2.iso, Win10_1909_Dutch_x64.iso are booting OK  :)

 

BIOS mode: Win10XPE_x64.ISO FAIL with immediate reboot after loading to RAMDISK  :ph34r:

 

BIOS mode: clear-32590-live-desktop.iso booting FAILS  :ph34r:

 

BIOS mode: ubuntu-19.10-desktop-amd64.iso booting OK but with inconvenient boot option :( instead of booting straight 

 

Thank you for your test.

 

Secure boot is not supported by Ventoy in current version. But is in my development plan.

 

For linux distros, Ventoy will test and support them one by one, see  http://www.ventoy.net/isolist.html  for tested iso list.

 

For the failure of Win10XPE, I have to test and check it.

 

For the boot option of ubuntu, because Ventoy keep the original menu of the ISO file, so...



#12 tinybit

tinybit

    Gold Member

  • Developer
  • 1173 posts
  •  
    China

Posted 19 April 2020 - 12:01 PM

Yep, I know :), actually it is the fact that web page writers love it that I have to hate it. ;)

 

:duff:

Wonko

 

I also hate it just because you hate it ;)

 

Well ... I might begin to love it once I have to write a web page some day :lol:



#13 ventoy

ventoy

    Member

  • Members
  • 37 posts
  •  
    China

Posted 19 April 2020 - 12:20 PM

@ventoy

please explain how it works.

e.g.

If I want to add your mechanism to grub2, what modules are needed?

How does it insert driver into linux and winpe?

Does it support Win install ISOs?

etc.

Please give details.

 

Hi steve, 

 

Ventoy is a whole solution, the grub2,ipxe,edk... all parts serve the whole. So currently you can't separate a module and use it alone, sorry!

Ventoy is mainly based on grub2, but the code has contained too many special modifications for ventoy.

 

Win Install ISOs are supported, you can see http://www.ventoy.net/isolist.html  for tested iso files.

 

In the bootloader period, Ventoy create a virtual cdrom with int13 (legacy) and block IO protocol (UEFI) base on an virtual ISO file (Not the original ISO file, but an ISO file with hook, I insert the driver and hook scripts into the virtual ISO file).



#14 tinybit

tinybit

    Gold Member

  • Developer
  • 1173 posts
  •  
    China

Posted 19 April 2020 - 12:25 PM

@tinybit  

Thank you for your recommendation.

 

Ventoy is growing, comments and suggestions are welcome!

Nice for your accepting my invitation.



#15 tinybit

tinybit

    Gold Member

  • Developer
  • 1173 posts
  •  
    China

Posted 19 April 2020 - 12:31 PM

Hi steve, 

 

Ventoy is a whole solution, the grub2,ipxe,edk... all parts serve the whole. So currently you can't separate a module and use it alone, sorry!

Ventoy is mainly based on grub2, but the code has contained too many special modifications for ventoy.

 

Win Install ISOs are supported, you can see http://www.ventoy.net/isolist.html  for tested iso files.

 

In the bootloader period, Ventoy create a virtual cdrom with int13 (legacy) and block IO protocol (UEFI) base on an virtual ISO file (Not the original ISO file, but an ISO file with hook, I insert the driver and hook scripts into the virtual ISO file).

By "virtual ISO file", do you mean "virtual cdrom based on an ISO file" ?



#16 ventoy

ventoy

    Member

  • Members
  • 37 posts
  •  
    China

Posted 19 April 2020 - 12:34 PM

By "virtual ISO file", do you mean "virtual cdrom based on an ISO file" ?

 

Yes, Virtual CDROM based on an iso file, but not the original iso file but a virtual iso file based on the original iso file. 

So there are two level of virtualization in Ventoy.



#17 steve6375

steve6375

    Platinum Member

  • Developer
  • 7265 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films,guitars, www.easy2boot.com
  •  
    United Kingdom

Posted 19 April 2020 - 12:35 PM

Hi steve, 

 

In the bootloader period, Ventoy create a virtual cdrom with int13 (legacy) and block IO protocol (UEFI) base on an virtual ISO file (Not the original ISO file, but an ISO file with hook, I insert the driver and hook scripts into the virtual ISO file).

 

Could you explain more please?

Not original ISO file??? So what ISO file is it?

By virtual ISO, you mean in memory? So is there a large memory requirement or does it point to the actual file?

Does the file need to be contiguous?

 

Exactly how do you insert the driver and hook scripts into the ISO?

 

Please explain process.



#18 ventoy

ventoy

    Member

  • Members
  • 37 posts
  •  
    China

Posted 19 April 2020 - 12:42 PM

Could you explain more please?

Not original ISO file??? So what ISO file is it?

By virtual ISO, you mean in memory? So is there a large memory requirement or does it point to the actual file?

Does the file need to be contiguous?

 

Exactly how do you insert the driver and hook scripts into the ISO?

 

Please explain process.

 

My english is a little poor, so one moment please. I will explain all the things you want to known. I'm organizing the reply now...



#19 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 15278 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 19 April 2020 - 01:08 PM

 

Does the file need to be contiguous?

Oww, come on:

 

http://www.ventoy.net/doc_e2b.html

 

 

 

File continuity requirement

"Contiguous" is mentioned many times by Easy2Boot. That's because the main mechanism of Easy2Boot is to create a presudo partition table and point it to the iso file. The partition table can only cover a contiguous area of the disk, so the iso file must be contiguous in the disk. If not so, you have to think of some way to make the file contiguous, such as recopy the file to a reserved contiguous area or defragment the disk.
Ventoy has no such limitation. Ventoy doesn't care about whether the file is contiguous on disk or not. In fact, Ventoy never considers the iso file to be continuous.

 

@ventoy

Don't worry, your English is good enough :), but take your time, there is no hurry.

 

:duff:

Wonko



#20 ventoy

ventoy

    Member

  • Members
  • 37 posts
  •  
    China

Posted 19 April 2020 - 01:32 PM

Could you explain more please?

Not original ISO file??? So what ISO file is it?

By virtual ISO, you mean in memory? So is there a large memory requirement or does it point to the actual file?

Does the file need to be contiguous?

 

Exactly how do you insert the driver and hook scripts into the ISO?

 

Please explain process.

 

For the question first, 
By virtual ISO, you mean in memory? So is there a large memory requirement or does it point to the actual file?
---NO 
Does the file need to be contiguous?
---NO
 
 
Take lagacy bios for example. You may be very familiar with grub4dos's map and syslinux's memdisk. They both use the int13 hook mechanism.
A virtual device with drive number 0x81 (for example) will be created. When the int13 request for the virtual device come, they response it with data from memory or 
just change the drive number and sector to get the data from the original file in disk 0x80(for example)
 
Ventoy also use int13 hook, to be exactly some thing can be called int13 relay. Before the virtual device was created. All the sector's location of the original iso file
will be found(something like grub2's blocklist command).
So the virtual device can be mapped as follows:
VirtualCDROM    Physical Disk
LBA 0           LBA 100
LBA 1           LBA 121
LBA 2           LBA 133
LBA 3           LBA 140
......
 
So when the int13 request for the virtual device come, Ventoy look for the map table, and re-call int13 with a new drive number and new LBA for every LBA (contiguous LBA can be merged).
 
All the above are the first level virtualization of Ventoy.
 
 
Take LBA0 of the VirtualCDROM for example, when the request come, I can recall int13 to get the data of LBA100 of the physical disk and response it.
On the other hand, I can also fill it with my own data and response it. 
Besides, the map table is not One-to-one correspondence to the original iso file. The virtual device is bigger than the original iso file.
The extra data after the data mapped to the original iso file is virtual. When the int13 request for these virtual data come, ventoy will fill them directly and reponse it.
 
The extra data is just the hook. But if you just append some data after an iso file, it will not take affect. So ventoy will parse the ISO9660 or UDF file system, and find the location of
key data which corresponding to the location and length of initrd(linux) or boot.wim(windows), and modify it before response the corresponding int13 request.
Ventoy modify the location and length and point it to the extra data at the tail of the virtual iso file.


#21 wimb

wimb

    Platinum Member

  • Developer
  • 2795 posts
  • Interests:Boot and Install from USB
  •  
    Netherlands

Posted 19 April 2020 - 02:03 PM

I have been testing Ventoy for booting a couple of ISO files.

 

Ventoy is small in size and easy to use (but of course will be internally complex ....)   :)

 

UEFI Secure mode : All FAIL since RED Secure Boot Violation Message blocks booting .... :ph34r:

 

BIOS mode:  Knoppix runtimelivecd.isoFedora-Workstation-Live-x86_64-32_Beta-1.2.isoWin10_1909_Dutch_x64.iso are booting OK  :)

 

BIOS mode: Win10XPE_x64.ISO FAIL with immediate reboot after loading to RAMDISK  :ph34r:     ChrisPE WinPE.ISO booting OK  :)

 

BIOS mode: clear-32590-live-desktop.iso booting FAILS  :ph34r:

 

BIOS mode: ubuntu-19.10-desktop-amd64.iso booting OK but using inconvenient boot option :( instead of booting straight 

 

Did some more testing but now in UEFI Mode

 

UEFI mode:  Knoppix runtimelivecd.iso  now FAILS  :ph34r: Fedora-Workstation-Live-x86_64-32_Beta-1.2.isoWin10_1909_Dutch_x64.iso are booting OK   :)

 

UEFI mode: Win10XPE_x64.ISO now booting OK  :)      ChrisPE WinPE.ISO booting OK   :)

 

UEFI mode: clear-32590-live-desktop.iso booting FAILS   :ph34r:

 

UEFI mode: ubuntu-19.10-desktop-amd64.iso booting OK from Menu displayed  :) 

 

Some remarkable differences occur given in Bold



#22 ventoy

ventoy

    Member

  • Members
  • 37 posts
  •  
    China

Posted 19 April 2020 - 02:39 PM

Did some more testing but now in UEFI Mode

 

UEFI mode:  Knoppix runtimelivecd.iso  now FAILS  :ph34r: Fedora-Workstation-Live-x86_64-32_Beta-1.2.isoWin10_1909_Dutch_x64.iso are booting OK   :)

 

UEFI mode: Win10XPE_x64.ISO now booting OK  :)      ChrisPE WinPE.ISO booting OK   :)

 

UEFI mode: clear-32590-live-desktop.iso booting FAILS   :ph34r:

 

UEFI mode: ubuntu-19.10-desktop-amd64.iso booting OK from Menu displayed  :) 

 

Some remarkable differences occur given in Bold

 

 

Knoppix runtimelivecd.iso  is not tesed yet, but I tested KNOPPIX_V8.6-2019-08-08-EN.iso, this ISO seems to have some problem in UEFI,  because I can't even boot it directly in both VM and real machine. Someone else also run into this probem.

 

I don't known whether Knoppix runtimelivecd.iso  has the same problem, I will download and test it later.


Edited by ventoy, 19 April 2020 - 02:40 PM.


#23 wimb

wimb

    Platinum Member

  • Developer
  • 2795 posts
  • Interests:Boot and Install from USB
  •  
    Netherlands

Posted 19 April 2020 - 05:03 PM

Knoppix runtimelivecd.iso  is not tesed yet, but I tested KNOPPIX_V8.6-2019-08-08-EN.iso, this ISO seems to have some problem in UEFI,  because I can't even boot it directly in both VM and real machine. Someone else also run into this probem.

 

 

KNOPPIX_V8.6-2019-08-08-EN.iso was tested

 

Ventoy UEFI Mode FAIL :ph34r: and BIOS mode booting OK  :)

 

USB_FORMAT using a1ive Grub2 File Manager  v7.0.0 in addon-glim-agFM is booting in UEFI Secure and in BIOS mode OK   :)

In this case the KNOPPIX ISO is located on U-NTFS drive, needed since ISO Size of 4.32 GB is over FAT32 Size Limit

 

In the same way the troublesome  clear-32590-live-desktop.iso is booting in UEFI Secure and in BIOS mode OK    :)



#24 ventoy

ventoy

    Member

  • Members
  • 37 posts
  •  
    China

Posted 20 April 2020 - 01:52 AM

KNOPPIX_V8.6-2019-08-08-EN.iso was tested

 

Ventoy UEFI Mode FAIL :ph34r: and BIOS mode booting OK  :)

 

USB_FORMAT using a1ive Grub2 File Manager  v7.0.0 in addon-glim-agFM is booting in UEFI Secure and in BIOS mode OK   :)

In this case the KNOPPIX ISO is located on U-NTFS drive, needed since ISO Size of 4.32 GB is over FAT32 Size Limit

 

In the same way the troublesome  clear-32590-live-desktop.iso is booting in UEFI Secure and in BIOS mode OK    :)

 

As mentioned above, ventoy make a virtual cdrom based on the iso file and boot it.
In theory, it should behave exactly like that you burn the iso file to an empty CD/DVD and use a physical CDROM to boot it.
 
So the kernel(for linux distros) will be loaded by the original bootloader in the iso file(isolinux,grub,lilo,elilo...), that's also why the original boot menu style will be kept.
 
Although ventoy can directly boot most of linux distros with grub's command (like linux ...   initrd ...), but that's not what I want.

  • Moshiach Palace likes this

#25 wimb

wimb

    Platinum Member

  • Developer
  • 2795 posts
  • Interests:Boot and Install from USB
  •  
    Netherlands

Posted 20 April 2020 - 05:06 AM

Sure it is a very interesting concept and I am deeply impressed by the small size and the ease to use and maintain ventoy.

 

My report of testing is to show where boot problems exist in some cases and to compare results with other tools to make bootable USB.






3 user(s) are reading this topic

0 members, 3 guests, 0 anonymous users