Compare commits

...

4 Commits

Author SHA1 Message Date
longpanda
e8d17f9bb1 1.0.28 release 2020-11-14 12:29:01 +08:00
longpanda
2283c3e8b0 update README.md 2020-11-13 22:15:24 +08:00
longpanda
8bbd5a14a3 最近收到一些特殊的错误报告,最后证明是非标准的Ventoy环境的原因。尤其是单分区下环境下使用 Ventoy 。
虽然 Ventoy 显示了 Unofficial 的标注信息,但是用户并不会关心,仍然会认为是 Ventoy 的问题。

Ventoy 从一开始就是一个整体的设计,并没有考虑过集成在其他bootloader或分区环境中。
Ventoy 的验证和后续新功能开发也都不会考虑这种非标准的使用方式。

因此,我决定禁止 Ventoy 在非标准环境下的使用,并且不再接受放开检查的请求。

当然,这个只是Ventoy的默认行为。Ventoy仍然是100%开源的,如果你希望把Ventoy应用在自己的环境中,你可以fork一个分支,然后修改源代码实现。
2020-11-13 16:39:15 +08:00
Victor B
f7d7db6a18 Fix typo in BuildVentoyFromSource.txt (#580) 2020-11-09 15:25:19 +08:00
17 changed files with 73 additions and 31 deletions

View File

@@ -3,7 +3,7 @@
1. Compile Enviroment
==========================================
My build envrioment is CentOS 7.8 x86_64. So here I first explain how to create the build environment from scratch.
Because Ventoy is based on many open source projects, so the envrioment is important. I suggest you test it on a virtual machine first.
Because Ventoy is based on many open source projects, so the environment is important. I suggest you test it on a virtual machine first.
1.1 Install CentOS 7.8
I use CentOS-7-x86_64-Everything-2003.iso and select Minimal install

View File

@@ -408,12 +408,12 @@ STATIC VOID ventoy_warn_invalid_device(VOID)
gST->ConOut->OutputString(gST->ConOut, VTOY_WARNING L"\r\n");
gST->ConOut->OutputString(gST->ConOut, VTOY_WARNING L"\r\n\r\n\r\n");
gST->ConOut->OutputString(gST->ConOut, L"This is NOT a standard Ventoy device and is NOT officially supported.\r\n\r\n");
gST->ConOut->OutputString(gST->ConOut, L"This is NOT a standard Ventoy device and is NOT supported.\r\n\r\n");
gST->ConOut->OutputString(gST->ConOut, L"You should follow the official instructions in https://www.ventoy.net\r\n");
gST->ConOut->OutputString(gST->ConOut, L"\r\n\r\nWill continue to boot after 15 seconds ...... ");
gST->ConOut->OutputString(gST->ConOut, L"\r\n\r\nWill exit after 10 seconds ...... ");
sleep(15);
sleep(10);
}
#else
STATIC VOID ventoy_warn_invalid_device(VOID)
@@ -718,6 +718,7 @@ STATIC EFI_STATUS EFIAPI ventoy_parse_cmdline(IN EFI_HANDLE ImageHandle)
if (pEnv[0] != '0' || pEnv[1] != 0)
{
ventoy_warn_invalid_device();
return EFI_INVALID_PARAMETER;
}
g_file_replace_list = &pGrubParam->file_replace;

View File

@@ -185,7 +185,7 @@ typedef struct ventoy_virt_chunk
#error Unknown Processor Type
#endif
#define VENTOY_DEVICE_WARN 0
#define VENTOY_DEVICE_WARN 1
#define VTOY_WARNING L"!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!"
typedef struct ventoy_sector_flag

View File

@@ -1639,15 +1639,14 @@ int ventoy_check_device_result(int ret)
grub_env_set("VTOY_CHKDEV_RESULT_STRING", buf);
grub_env_export("VTOY_CHKDEV_RESULT_STRING");
if (ret & 0x1000)
if (ret)
{
grub_printf(VTOY_WARNING"\n");
grub_printf(VTOY_WARNING"\n");
grub_printf(VTOY_WARNING"\n\n\n");
grub_printf("Unsatisfied conditions detected for Ventoy.\n\n");
grub_printf("This is NOT a standard Ventoy device and is NOT officially supported.\n\n");
grub_printf("Recommend to follow the instructions in https://www.ventoy.net to use Ventoy.\n");
grub_printf("This is NOT a standard Ventoy device and is NOT supported.\n\n");
grub_printf("You should follow the instructions in https://www.ventoy.net to use Ventoy.\n");
grub_printf("\n\nWill exit after 10 seconds ...... ");
grub_refresh();
@@ -3522,7 +3521,7 @@ static grub_err_t ventoy_cmd_load_part_table(grub_extcmd_context_t ctxt, int arg
ret = ventoy_check_device(dev);
grub_device_close(dev);
if (ret & 0x1000)
if (ret)
{
grub_exit();
}

View File

@@ -12,10 +12,10 @@ make install
PATH=$PATH:$VT_DIR/GRUB2/INSTALL/bin/:$VT_DIR/GRUB2/INSTALL/sbin/
net_modules_legacy="net tftp http"
all_modules_legacy="date drivemap blocklist newc vga_text ntldr search at_keyboard usb_keyboard gcry_md5 hashsum gzio xzio lzopio lspci pci ext2 xfs ventoy chain read halt iso9660 linux16 test true sleep reboot echo videotest videoinfo videotest_checksum video_colors video_cirrus video_bochs vga vbe video_fb font video gettext extcmd terminal linux minicmd help configfile tr trig boot biosdisk disk ls tar squash4 password_pbkdf2 all_video png jpeg part_gpt part_msdos fat exfat ntfs loopback gzio normal udf gfxmenu gfxterm gfxterm_background gfxterm_menu"
all_modules_legacy="date drivemap blocklist regexp newc vga_text ntldr search at_keyboard usb_keyboard gcry_md5 hashsum gzio xzio lzopio lspci pci ext2 xfs ventoy chain read halt iso9660 linux16 test true sleep reboot echo videotest videoinfo videotest_checksum video_colors video_cirrus video_bochs vga vbe video_fb font video gettext extcmd terminal linux minicmd help configfile tr trig boot biosdisk disk ls tar squash4 password_pbkdf2 all_video png jpeg part_gpt part_msdos fat exfat ntfs loopback gzio normal udf gfxmenu gfxterm gfxterm_background gfxterm_menu"
net_modules_uefi="efinet net tftp http"
all_modules_uefi="blocklist ventoy test newc search at_keyboard usb_keyboard gcry_md5 hashsum gzio xzio lzopio ext2 xfs read halt sleep serial terminfo png password_pbkdf2 gcry_sha512 pbkdf2 part_gpt part_msdos ls tar squash4 loopback part_apple minicmd diskfilter linux relocator jpeg iso9660 udf hfsplus halt acpi mmap gfxmenu video_colors trig bitmap_scale gfxterm bitmap font fat exfat ntfs fshelp efifwsetup reboot echo configfile normal terminal gettext chain priority_queue bufio datetime cat extcmd crypto gzio boot all_video efi_gop efi_uga video_bochs video_cirrus video video_fb gfxterm_background gfxterm_menu"
all_modules_uefi="blocklist ventoy test regexp newc search at_keyboard usb_keyboard gcry_md5 hashsum gzio xzio lzopio ext2 xfs read halt sleep serial terminfo png password_pbkdf2 gcry_sha512 pbkdf2 part_gpt part_msdos ls tar squash4 loopback part_apple minicmd diskfilter linux relocator jpeg iso9660 udf hfsplus halt acpi mmap gfxmenu video_colors trig bitmap_scale gfxterm bitmap font fat exfat ntfs fshelp efifwsetup reboot echo configfile normal terminal gettext chain priority_queue bufio datetime cat extcmd crypto gzio boot all_video efi_gop efi_uga video_bochs video_cirrus video video_fb gfxterm_background gfxterm_menu"
if [ "$1" = "uefi" ]; then
all_modules="$net_modules_uefi $all_modules_uefi "

View File

@@ -72,5 +72,8 @@ if [ -f /mod.img ] && [ -f /mod/fs/cramfs.ko ]; then
$BUSYBOX_PATH/rmmod cramfs
fi
#for siduction-patience-nox-
if [ -f /scripts/fll ]; then
$SED "/unset FINGERED/a\\echo '/dev/mapper/ventoy';return;" -i /scripts/fll
fi

View File

@@ -21,6 +21,9 @@
if $GREP -q kaspersky /proc/version; then
$SED "/sysresccd_stage1_normal[^(]*$/i\ $BUSYBOX_PATH/sh $VTOY_PATH/hook/gentoo/disk_hook.sh" -i /init
if [ -f /ventoy/ventoy_persistent_map ]; then
$SED "/sysresccd_parsecmdline[^(]*$/a\ BACKSTORE_CMD='LABEL=casper-rw,noloop'" -i /init
fi
elif [ -d /etc/udev/rules.d ] || [ -d /lib/udev/rules.d ]; then
ventoy_systemd_udevd_work_around
ventoy_add_udev_rule "$VTOY_PATH/hook/default/udev_disk_hook.sh %k noreplace"

Binary file not shown.

View File

@@ -59,7 +59,7 @@ function ventoy_diagnosis {
configfile $prefix/debug.cfg
}
function ventoy_localboot {
function ventoy_localboot {
configfile $prefix/localboot.cfg
}
@@ -270,7 +270,9 @@ function distro_specify_initrd_file_phase2 {
vt_linux_specify_initrd_file /live/initrd2.img
vt_linux_specify_initrd_file /install.amd/initrd.gz
vt_linux_specify_initrd_file /install.amd/gtk/initrd.gz
elif [ -f (loop)/boot/grub/kernels.cfg ]; then
vt_linux_parse_initrd_grub file (loop)/boot/grub/kernels.cfg
fi
}
@@ -1358,7 +1360,7 @@ function img_unsupport_menuentry {
#############################################################
#############################################################
set VENTOY_VERSION="1.0.27"
set VENTOY_VERSION="1.0.28"
#ACPI not compatible with Window7/8, so disable by default
set VTOY_PARAM_NO_ACPI=1
@@ -1506,6 +1508,34 @@ export vtoy_efi_part
export VENTOY_VERSION
export VTOY_CUR_VIDEO_MODE
#special VTOY_DEFAULT_IMAGE process
if [ -n "$VTOY_DEFAULT_IMAGE" ]; then
if regexp --set 1:vtHotkey --set 2:vtDefault "(F[2-9])>(.*)" "$VTOY_DEFAULT_IMAGE"; then
set default="$vtDefault"
if [ -z "$VTOY_MENU_TIMEOUT" ]; then
set timeout=0
else
set timeout=$VTOY_MENU_TIMEOUT
fi
export timeout
export default
if [ "$vtHotkey" = "F2" ]; then
ventoy_power
elif [ "$vtHotkey" = "F4" ]; then
ventoy_localboot
elif [ "$vtHotkey" = "F5" ]; then
ventoy_diagnosis
elif [ "$vtHotkey" = "F6" ]; then
ventoy_ext_menu
fi
unset timeout
unset default
fi
fi
#colect all image files (iso files)
set ventoy_img_count=0

Binary file not shown.

View File

@@ -14,10 +14,12 @@ print_usage() {
echo ' -r SIZE_MB preserve some space at the bottom of the disk (only for install)'
echo ' -s enable secure boot support (default is disabled)'
echo ' -g use GPT partition style, default is MBR (only for install)'
echo ' -L Label of the 1st exfat partition (default is ventoy)'
echo ''
}
VTNEW_LABEL='ventoy'
RESERVE_SIZE_MB=0
while [ -n "$1" ]; do
if [ "$1" = "-i" ]; then
@@ -31,6 +33,9 @@ while [ -n "$1" ]; do
SECUREBOOT="YES"
elif [ "$1" = "-g" ]; then
VTGPT="YES"
elif [ "$1" = "-L" ]; then
shift
VTNEW_LABEL=$1
elif [ "$1" = "-r" ]; then
RESERVE_SPACE="YES"
shift
@@ -248,7 +253,7 @@ if [ "$MODE" = "install" ]; then
PART1=$(get_disk_part_name $DISK 1)
PART2=$(get_disk_part_name $DISK 2)
$cmd -n ventoy -s $cluster_sectors ${PART1}
$cmd -n "$VTNEW_LABEL" -s $cluster_sectors ${PART1}
vtinfo "writing data to disk ..."

View File

@@ -265,7 +265,7 @@ w
EOF
fi
udevadm trigger >/dev/null 2>&1
udevadm trigger --name-match=$DISK >/dev/null 2>&1
partprobe >/dev/null 2>&1
sleep 3
echo "Done"
@@ -362,7 +362,7 @@ format_ventoy_disk_gpt() {
$vtoygpt -f $DISK
sync
udevadm trigger >/dev/null 2>&1
udevadm trigger --name-match=$DISK >/dev/null 2>&1
partprobe >/dev/null 2>&1
sleep 3
echo "Done"

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -16,31 +16,32 @@ You can copy many iso files at a time and ventoy will give you a boot menu to se
Both Legacy BIOS and UEFI are supported in the same way.<br/>
Both MBR and GPT partition style are supported in the same way.<br/>
Most type of OS supported(Windows/WinPE/Linux/Unix/Vmware/Xen...) <br/>
550+ ISO files are tested. 90%+ distros in distrowatch.com supported. <br/>
560+ ISO files are tested. 90%+ distros in distrowatch.com supported. <br/>
</h4>
# Features
* 100% open source
* Simple to use
* Fast (limited only by the speed of copying iso file)
* Directly boot from ISO/WIM/IMG/VHD(x)/EFI file, no extraction needed
* Legacy + UEFI supported in the same way
* UEFI Secure Boot supported (since 1.0.07+)
* Persistence supported (since 1.0.11+)
* Can be installed in USB/Local Disk/SSD/NVMe/SD Card
* Directly boot from ISO/WIM/IMG/VHD(x)/EFI files, no extraction needed
* No need to be continuous in disk for ISO/IMG files
* MBR and GPT partition style supported (1.0.15+)
* WIM files boot supported (Legacy + UEFI) (1.0.12+)
* IMG files boot supported (Legacy + UEFI) (1.0.19+)
* Auto installation supported (1.0.09+)
* File injection supported (1.0.16+)
* Legacy + UEFI supported in the same way
* UEFI Secure Boot supported (1.0.07+)
* Persistence supported (1.0.11+)
* Windows/Linux auto installation supported (1.0.09+)
* ISO files larger than 4GB supported
* Native boot menu style for Legacy & UEFI
* Most type of OS supported(Windows/WinPE/Linux/Unix/Vmware/Xen...), 550+ iso files tested
* Most type of OS supported, 560+ iso files tested
* Linux vDisk boot supported
* Not only boot but also complete installation process
* ISO files can be listed in List mode/TreeView mode
* Linux vDisk boot supported (vdi/vhd/raw)
* "Ventoy Compatible" concept
* Plugin Framework
* Menu Alias/Menu Style/Customized Menu supported
* Injection files to runtime enviroment
* Boot configuration file dynamically replacement
* Highly customizable theme and menu
* USB drive write-protected support
* USB normal use unaffected
* Data nondestructive during version upgrade