mirror of
https://github.com/ventoy/Ventoy.git
synced 2025-09-21 03:01:16 +00:00
Compare commits
14 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
ed1aa3d5be | ||
|
8e66110374 | ||
|
f5f65aa868 | ||
|
4e5fcf211b | ||
|
9789069c0d | ||
|
1cf45ac0c5 | ||
|
40fe21f909 | ||
|
e6bdf075ca | ||
|
7c76e57bf4 | ||
|
7fe038b697 | ||
|
c01c69db3b | ||
|
0e996e74c9 | ||
|
1371159f0b | ||
|
44b38dce74 |
2
.github/ISSUE_TEMPLATE/issue_template.yml
vendored
2
.github/ISSUE_TEMPLATE/issue_template.yml
vendored
@@ -21,7 +21,7 @@ body:
|
|||||||
attributes:
|
attributes:
|
||||||
label: Ventoy Version
|
label: Ventoy Version
|
||||||
description: What version of ventoy are you running?
|
description: What version of ventoy are you running?
|
||||||
placeholder: 1.0.71
|
placeholder: 1.0.72
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
- type: dropdown
|
- type: dropdown
|
||||||
|
@@ -960,7 +960,7 @@ static int ventoy_plugin_parse_pwdstr(char *pwdstr, vtoy_password *pwd)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (len - 1 - (int)(long)(pos - pwdstr) != 32)
|
if (len - 1 - ((long)pos - (long)pwdstr) != 32)
|
||||||
{
|
{
|
||||||
if (NULL == pwd) grub_printf("Invalid md5 salt password format %s\n", pwdstr);
|
if (NULL == pwd) grub_printf("Invalid md5 salt password format %s\n", pwdstr);
|
||||||
return 1;
|
return 1;
|
||||||
|
@@ -20,7 +20,7 @@
|
|||||||
. $VTOY_PATH/hook/ventoy-os-lib.sh
|
. $VTOY_PATH/hook/ventoy-os-lib.sh
|
||||||
|
|
||||||
if $GREP -q '^"$mount_handler"' /init; then
|
if $GREP -q '^"$mount_handler"' /init; then
|
||||||
echo 'use mount_handler ...' >> $VTLOG
|
echo 'use mount_handler1 ...' >> $VTLOG
|
||||||
|
|
||||||
vthookfile=/hooks/archiso
|
vthookfile=/hooks/archiso
|
||||||
|
|
||||||
@@ -37,6 +37,9 @@ if $GREP -q '^"$mount_handler"' /init; then
|
|||||||
if [ -f $vthookfile ]; then
|
if [ -f $vthookfile ]; then
|
||||||
$SED '/while ! poll_device "${dev}"/a\ if /ventoy/busybox/sh /ventoy/hook/arch/ventoy-timeout.sh ${dev}; then break; fi' -i $vthookfile
|
$SED '/while ! poll_device "${dev}"/a\ if /ventoy/busybox/sh /ventoy/hook/arch/ventoy-timeout.sh ${dev}; then break; fi' -i $vthookfile
|
||||||
fi
|
fi
|
||||||
|
elif $GREP -q '^$mount_handler' /init; then
|
||||||
|
echo 'use mount_handler2 ...' >> $VTLOG
|
||||||
|
$SED "/^\$mount_handler/i\ $BUSYBOX_PATH/sh $VTOY_PATH/hook/arch/ventoy-disk.sh" -i /init
|
||||||
|
|
||||||
elif $GREP -q '^KEEP_SEARCHING' /init; then
|
elif $GREP -q '^KEEP_SEARCHING' /init; then
|
||||||
echo 'KEEP_SEARCHING found ...' >> $VTLOG
|
echo 'KEEP_SEARCHING found ...' >> $VTLOG
|
||||||
|
@@ -342,6 +342,24 @@ ventoy_get_os_type() {
|
|||||||
echo "openEuler"; return
|
echo "openEuler"; return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
#special arch based iso file check
|
||||||
|
if [ -f /init ]; then
|
||||||
|
if $GREP -q 'mount_handler' /init; then
|
||||||
|
if [ -d /hooks ]; then
|
||||||
|
if $BUSYBOX_PATH/ls -1 /hooks/ | $GREP -q '.*iso$'; then
|
||||||
|
echo "arch"; return
|
||||||
|
fi
|
||||||
|
elif [ -d /hook ]; then
|
||||||
|
if $BUSYBOX_PATH/ls -1 /hook/ | $GREP -q '.*iso$'; then
|
||||||
|
echo "arch"; return
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
echo "default"
|
echo "default"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -2113,7 +2113,7 @@ function img_unsupport_menuentry {
|
|||||||
#############################################################
|
#############################################################
|
||||||
#############################################################
|
#############################################################
|
||||||
|
|
||||||
set VENTOY_VERSION="1.0.71"
|
set VENTOY_VERSION="1.0.72"
|
||||||
|
|
||||||
#ACPI not compatible with Window7/8, so disable by default
|
#ACPI not compatible with Window7/8, so disable by default
|
||||||
set VTOY_PARAM_NO_ACPI=1
|
set VTOY_PARAM_NO_ACPI=1
|
||||||
@@ -2349,11 +2349,11 @@ if [ $ventoy_img_count -gt 0 ]; then
|
|||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if [ -n "$VTOY_NO_ISO_TIP" ]; then
|
if [ -n "$VTOY_NO_ISO_TIP" ]; then
|
||||||
NO_ISO_MENU="No ISO files found, $VTOY_NO_ISO_TIP"
|
NO_ISO_MENU="No ISO or supported IMG files found, $VTOY_NO_ISO_TIP"
|
||||||
elif [ -n "$VTOY_DEFAULT_SEARCH_ROOT" ]; then
|
elif [ -n "$VTOY_DEFAULT_SEARCH_ROOT" ]; then
|
||||||
NO_ISO_MENU="No ISO files found, please check VTOY_DEFAULT_SEARCH_ROOT"
|
NO_ISO_MENU="No ISO or supported IMG files found, please check VTOY_DEFAULT_SEARCH_ROOT"
|
||||||
else
|
else
|
||||||
NO_ISO_MENU="No ISO files found"
|
NO_ISO_MENU="No ISO or supported IMG files found"
|
||||||
fi
|
fi
|
||||||
menuentry "$NO_ISO_MENU (Press enter to reboot ...)" {
|
menuentry "$NO_ISO_MENU (Press enter to reboot ...)" {
|
||||||
echo -e "\n Rebooting ... "
|
echo -e "\n Rebooting ... "
|
||||||
|
@@ -7,7 +7,7 @@ print_usage() {
|
|||||||
echo 'Usage: Ventoy2Disk.sh CMD [ OPTION ] /dev/sdX'
|
echo 'Usage: Ventoy2Disk.sh CMD [ OPTION ] /dev/sdX'
|
||||||
echo ' CMD:'
|
echo ' CMD:'
|
||||||
echo ' -i install Ventoy to sdX (fails if disk already installed with Ventoy)'
|
echo ' -i install Ventoy to sdX (fails if disk already installed with Ventoy)'
|
||||||
echo ' -I force install Ventoy to sdX (no matter installed or not)'
|
echo ' -I force install Ventoy to sdX (no matter if installed or not)'
|
||||||
echo ' -u update Ventoy in sdX'
|
echo ' -u update Ventoy in sdX'
|
||||||
echo ' -l list Ventoy information in sdX'
|
echo ' -l list Ventoy information in sdX'
|
||||||
echo ''
|
echo ''
|
||||||
@@ -165,7 +165,7 @@ if [ -d ./tmp_mnt ]; then
|
|||||||
umount ./tmp_mnt >/dev/null 2>&1
|
umount ./tmp_mnt >/dev/null 2>&1
|
||||||
rm -rf ./tmp_mnt
|
rm -rf ./tmp_mnt
|
||||||
if [ -d ./tmp_mnt ]; then
|
if [ -d ./tmp_mnt ]; then
|
||||||
vterr "tmp_mnt directory exits, please delete it first."
|
vterr "tmp_mnt directory exists, please delete it first."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -345,6 +345,7 @@ if [ "$MODE" = "install" -a -z "$NONDESTRUCTIVE" ]; then
|
|||||||
sync
|
sync
|
||||||
|
|
||||||
vtinfo "esp partition processing ..."
|
vtinfo "esp partition processing ..."
|
||||||
|
|
||||||
if [ "$SECUREBOOT" != "YES" ]; then
|
if [ "$SECUREBOOT" != "YES" ]; then
|
||||||
sleep 2
|
sleep 2
|
||||||
check_umount_disk "$DISK"
|
check_umount_disk "$DISK"
|
||||||
|
@@ -176,6 +176,13 @@ chmod +x $tmpdir/VentoyWeb.sh
|
|||||||
chmod +x $tmpdir/VentoyPlugson.sh
|
chmod +x $tmpdir/VentoyPlugson.sh
|
||||||
chmod +x $tmpdir/VentoyVlnk.sh
|
chmod +x $tmpdir/VentoyVlnk.sh
|
||||||
chmod +x $tmpdir/VentoyGUI*
|
chmod +x $tmpdir/VentoyGUI*
|
||||||
|
chmod +x $tmpdir/tool/*.sh
|
||||||
|
|
||||||
|
for d in i386 x86_64 aarch64 mips64el; do
|
||||||
|
chmod +x $tmpdir/tool/$d/xzcat
|
||||||
|
chmod +x $tmpdir/tool/$d/Ventoy2Disk.*
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
cp $OPT $LANG_DIR/languages.json $tmpdir/tool/
|
cp $OPT $LANG_DIR/languages.json $tmpdir/tool/
|
||||||
|
|
||||||
|
@@ -248,9 +248,9 @@
|
|||||||
"STR_INSTALL_TIP":"The device will be formatted and all the data will be lost.#@Continue?",
|
"STR_INSTALL_TIP":"The device will be formatted and all the data will be lost.#@Continue?",
|
||||||
"STR_INSTALL_TIP2":"The device will be formatted and all the data will be lost.#@Continue? (Double Check)",
|
"STR_INSTALL_TIP2":"The device will be formatted and all the data will be lost.#@Continue? (Double Check)",
|
||||||
"STR_INSTALL_SUCCESS":"Congratulations!#@Ventoy has been successfully installed to the device.",
|
"STR_INSTALL_SUCCESS":"Congratulations!#@Ventoy has been successfully installed to the device.",
|
||||||
"STR_INSTALL_FAILED":"An error occurred during the installation. You can replug the USB device and try again. Check log.txt for detail. If it always fail, please refer the FAQ in the official website.",
|
"STR_INSTALL_FAILED":"An error occurred during the installation. You can reinsert the USB device and try again. Check log.txt for details. If it always fails, please refer the FAQ on the official website.",
|
||||||
"STR_UPDATE_SUCCESS":"Congratulations!#@Ventoy has been successfully updated to the device.",
|
"STR_UPDATE_SUCCESS":"Congratulations!#@Ventoy has been successfully updated on the device.",
|
||||||
"STR_UPDATE_FAILED":"An error occurred during the update. You can replug the USB device and try again. Check log.txt for detail. If it always fail, please refer the FAQ in the official website.",
|
"STR_UPDATE_FAILED":"An error occurred during the update. You can reinsert the USB device and try again. Check log.txt for details. If it always fails, please refer the FAQ on the official website.",
|
||||||
"STR_WAIT_PROCESS":"A thread is running, please wait...",
|
"STR_WAIT_PROCESS":"A thread is running, please wait...",
|
||||||
"STR_MENU_OPTION":"Option",
|
"STR_MENU_OPTION":"Option",
|
||||||
"STR_MENU_SECURE_BOOT":"Secure Boot Support",
|
"STR_MENU_SECURE_BOOT":"Secure Boot Support",
|
||||||
@@ -261,7 +261,7 @@
|
|||||||
"STR_SPACE_VAL_INVALID":"Invalid value for reserved space",
|
"STR_SPACE_VAL_INVALID":"Invalid value for reserved space",
|
||||||
"STR_MENU_CLEAR":"Clear Ventoy",
|
"STR_MENU_CLEAR":"Clear Ventoy",
|
||||||
"STR_CLEAR_SUCCESS":"Ventoy has been successfully removed from the device.",
|
"STR_CLEAR_SUCCESS":"Ventoy has been successfully removed from the device.",
|
||||||
"STR_CLEAR_FAILED":"An error occurred when clearing Ventoy from disk. You can replug the USB device and try again. Check log.txt for details.",
|
"STR_CLEAR_FAILED":"An error occurred when removing Ventoy from disk. You can reinsert the USB device and try again. Check log.txt for details.",
|
||||||
"STR_MENU_PART_STYLE":"Partition Style",
|
"STR_MENU_PART_STYLE":"Partition Style",
|
||||||
"STR_DISK_2TB_MBR_ERROR":"Please select GPT for devices over 2TB",
|
"STR_DISK_2TB_MBR_ERROR":"Please select GPT for devices over 2TB",
|
||||||
"STR_SHOW_ALL_DEV":"Show All Devices",
|
"STR_SHOW_ALL_DEV":"Show All Devices",
|
||||||
@@ -402,7 +402,7 @@
|
|||||||
"name":"Portuguese Brazilian (Português do Brasil)",
|
"name":"Portuguese Brazilian (Português do Brasil)",
|
||||||
"FontFamily":"Courier New",
|
"FontFamily":"Courier New",
|
||||||
"FontSize":16,
|
"FontSize":16,
|
||||||
"Author":"EstevaoCostaG3, David BrazSan, Hildo Guillardi Júnior",
|
"Author":"EstevaoCostaG3, David BrazSan, Hildo Guillardi Júnior, Chrystian Rubio",
|
||||||
|
|
||||||
"STR_ERROR":"Erro",
|
"STR_ERROR":"Erro",
|
||||||
"STR_WARNING":"Atenção",
|
"STR_WARNING":"Atenção",
|
||||||
@@ -429,7 +429,7 @@
|
|||||||
"STR_BTN_OK":"OK",
|
"STR_BTN_OK":"OK",
|
||||||
"STR_BTN_CANCEL":"Cancelar",
|
"STR_BTN_CANCEL":"Cancelar",
|
||||||
"STR_PRESERVE_SPACE":"Preservar algum espaço no final do disco",
|
"STR_PRESERVE_SPACE":"Preservar algum espaço no final do disco",
|
||||||
"STR_SPACE_VAL_INVALID":"Valor invalido para o espaço reservado",
|
"STR_SPACE_VAL_INVALID":"Valor inválido para o espaço reservado",
|
||||||
"STR_MENU_CLEAR":"Remover o Ventoy",
|
"STR_MENU_CLEAR":"Remover o Ventoy",
|
||||||
"STR_CLEAR_SUCCESS":"O Ventoy foi removido deste dispositivo com sucesso.",
|
"STR_CLEAR_SUCCESS":"O Ventoy foi removido deste dispositivo com sucesso.",
|
||||||
"STR_CLEAR_FAILED":"Um erro ocorreu ao remover o Ventoy do disco. Você pode reconectar o dispositivo USB e tentar novamente. Verifique o Arquivo log.txt para mais detalhes.",
|
"STR_CLEAR_FAILED":"Um erro ocorreu ao remover o Ventoy do disco. Você pode reconectar o dispositivo USB e tentar novamente. Verifique o Arquivo log.txt para mais detalhes.",
|
||||||
@@ -439,18 +439,18 @@
|
|||||||
"STR_PART_ALIGN_4KB":"Alinhar partições com 4KB",
|
"STR_PART_ALIGN_4KB":"Alinhar partições com 4KB",
|
||||||
"STR_WEB_COMMUNICATION_ERR":"Erro de comunicação:",
|
"STR_WEB_COMMUNICATION_ERR":"Erro de comunicação:",
|
||||||
"STR_WEB_REMOTE_ABNORMAL":"Erro de comunicação: remoto anormal",
|
"STR_WEB_REMOTE_ABNORMAL":"Erro de comunicação: remoto anormal",
|
||||||
"STR_WEB_REQUEST_TIMEOUT":"Erro de comunicação: Solicitação cronometrado",
|
"STR_WEB_REQUEST_TIMEOUT":"Erro de comunicação: Solicitação cronometrada",
|
||||||
"STR_WEB_SERVICE_UNAVAILABLE":"Erro de comunicação: Serviço indisponível",
|
"STR_WEB_SERVICE_UNAVAILABLE":"Erro de comunicação: Serviço indisponível",
|
||||||
"STR_WEB_TOKEN_MISMATCH":"Status daemon atualizado, por favor, tente novamente mais tarde.",
|
"STR_WEB_TOKEN_MISMATCH":"Status daemon atualizado, por favor, tente novamente mais tarde.",
|
||||||
"STR_WEB_SERVICE_BUSY":"O serviço está ocupado, por favor, tente novamente mais tarde.",
|
"STR_WEB_SERVICE_BUSY":"O serviço está ocupado, por favor, tente novamente mais tarde.",
|
||||||
"STR_MENU_VTSI_CREATE":"Gerar arquivo VTSI",
|
"STR_MENU_VTSI_CREATE":"Gerar arquivo VTSI",
|
||||||
"STR_VTSI_CREATE_TIP":"Não será gravado no dispositivo, desta vez, apenas derado um VTSI file#@Continuar?",
|
"STR_VTSI_CREATE_TIP":"Não será gravado no dispositivo, desta vez, apenas gerado um arquivo VTSI.#@Continuar?",
|
||||||
"STR_VTSI_CREATE_SUCCESS":"Arquivo VTSI criado com sucesso!#@Você pode usar Rufus(3.15+) para gravá-lo no dispositivo e completar a instalação do Ventoy.",
|
"STR_VTSI_CREATE_SUCCESS":"Arquivo VTSI criado com sucesso!#@Você pode usar Rufus(3.15+) para gravá-lo no dispositivo e completar a instalação do Ventoy.",
|
||||||
"STR_VTSI_CREATE_FAILED":"Criaçao do arquivo VTSI falhada.",
|
"STR_VTSI_CREATE_FAILED":"Criação do arquivo VTSI falhada.",
|
||||||
"STR_MENU_PART_RESIZE":"Instalação não destrutiva",
|
"STR_MENU_PART_RESIZE":"Instalação não destrutiva",
|
||||||
"STR_PART_RESIZE_TIP":"Ventoy tentará uma instalação não destrutiva, se possível.#@Continuar?",
|
"STR_PART_RESIZE_TIP":"Ventoy tentará uma instalação não destrutiva, se possível.#@Continuar?",
|
||||||
"STR_PART_RESIZE_SUCCESS":"Parabéns!#@Instalação não destrutiva do Ventoy concluída com sucesso.",
|
"STR_PART_RESIZE_SUCCESS":"Parabéns!#@Instalação não destrutiva do Ventoy concluída com sucesso.",
|
||||||
"STR_PART_RESIZE_FAILED":"Falha na installação não destrutiva, cheque o arquivo log.txt para entender.",
|
"STR_PART_RESIZE_FAILED":"Falha na instalação não destrutiva, cheque o arquivo log.txt para entender.",
|
||||||
"STR_PART_RESIZE_UNSUPPORTED":"Instalação não destrutiva do Ventoy interrompida devido fato desconhecido. Cheque o arquivo log.txt para detalhes.",
|
"STR_PART_RESIZE_UNSUPPORTED":"Instalação não destrutiva do Ventoy interrompida devido fato desconhecido. Cheque o arquivo log.txt para detalhes.",
|
||||||
|
|
||||||
"STRXXX":""
|
"STRXXX":""
|
||||||
|
@@ -7,6 +7,7 @@
|
|||||||
<img src="https://img.shields.io/github/license/ventoy/Ventoy?style=for-the-badge">
|
<img src="https://img.shields.io/github/license/ventoy/Ventoy?style=for-the-badge">
|
||||||
<img src="https://img.shields.io/github/stars/ventoy/Ventoy?style=for-the-badge">
|
<img src="https://img.shields.io/github/stars/ventoy/Ventoy?style=for-the-badge">
|
||||||
<img src="https://img.shields.io/github/downloads/ventoy/Ventoy/total.svg?style=for-the-badge">
|
<img src="https://img.shields.io/github/downloads/ventoy/Ventoy/total.svg?style=for-the-badge">
|
||||||
|
<img src="https://img.shields.io/github/workflow/status/ventoy/Ventoy/Ventoy%20CI?label=actions&logo=github&style=for-the-badge">
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h4 align="left">
|
<h4 align="left">
|
||||||
@@ -37,6 +38,12 @@ FydeOS, CloudReady
|
|||||||
**Other**
|
**Other**
|
||||||
VMware ESXi, Citrix XenServer, Xen XCP-ng
|
VMware ESXi, Citrix XenServer, Xen XCP-ng
|
||||||
|
|
||||||
|
# Subscription Service
|
||||||
|
Ventoy is an open source software under GPLv3 license.
|
||||||
|
But Ventoy project need to pay for the server hosting, domain name, bandwidth, many USB sticks for test, large capacity of HDD (for downloading ISO files) and so on.
|
||||||
|
For the better and sustainable development of Ventoy, I provide the [【subscription service】](https://www.ventoy.net/en/doc_subscription.html).
|
||||||
|
|
||||||
|
|
||||||
# Tested Image Report
|
# Tested Image Report
|
||||||
[【How to report a successfully tested image file】](https://github.com/ventoy/Ventoy/issues/1195)
|
[【How to report a successfully tested image file】](https://github.com/ventoy/Ventoy/issues/1195)
|
||||||
|
|
||||||
|
@@ -297,7 +297,7 @@ int read_sort_file(char *filename, int source, char *source_path[])
|
|||||||
} else if((errno == ERANGE) ||
|
} else if((errno == ERANGE) ||
|
||||||
(priority < -32768 || priority > 32767)) {
|
(priority < -32768 || priority > 32767)) {
|
||||||
ERROR("Sort file \"%s\", entry \"%s\" has priority "
|
ERROR("Sort file \"%s\", entry \"%s\" has priority "
|
||||||
"outside range of -32767:32768.\n", filename,
|
"outside range of -32768:32767.\n", filename,
|
||||||
line_buffer);
|
line_buffer);
|
||||||
goto failed;
|
goto failed;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user