X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/Ventoy.git/blobdiff_plain/40fe21f9091d1975f725d0d938431dafabc252b8..3c05d55b8a2bd358ca380a91d3d5bdcbfed937fa:/INSTALL/tool/VentoyWorker.sh diff --git a/INSTALL/tool/VentoyWorker.sh b/INSTALL/tool/VentoyWorker.sh index c3a43cc..7844b92 100644 --- a/INSTALL/tool/VentoyWorker.sh +++ b/INSTALL/tool/VentoyWorker.sh @@ -13,7 +13,7 @@ print_usage() { echo '' echo ' OPTION: (optional)' echo ' -r SIZE_MB preserve some space at the bottom of the disk (only for install)' - echo ' -s/-S enable/disable secure boot support (default is disabled)' + echo ' -s/-S enable/disable secure boot support (default is enabled)' echo ' -g use GPT partition style, default is MBR (only for install)' echo ' -L Label of the 1st exfat partition (default is Ventoy)' echo ' -n try non-destructive installation (only for install)' @@ -21,6 +21,7 @@ print_usage() { } +SECUREBOOT="YES" VTNEW_LABEL='Ventoy' RESERVE_SIZE_MB=0 while [ -n "$1" ]; do @@ -142,7 +143,7 @@ if grep "$DISK" /proc/mounts; then fi #check swap partition -if swapon --help 2>&1 | grep -q '^ \-s,'; then +if swapon --help 2>&1 | grep -q '^ -s,'; then if swapon -s | grep -q "^${DISK}[0-9]"; then vterr "$DISK is used as swap, please swapoff it first!" exit 1 @@ -184,14 +185,27 @@ if [ "$MODE" = "install" -a -z "$NONDESTRUCTIVE" ]; then fi else if parted -v > /dev/null 2>&1; then - PARTTOOL='parted' + PARTTOOL='parted' elif fdisk -v >/dev/null 2>&1; then - PARTTOOL='fdisk' + PARTTOOL='fdisk' else vterr "Both parted and fdisk are not found in the system, Ventoy can't create new partitions." exit 1 fi fi + + if [ "$PARTTOOL" = "parted" ]; then + if parted -s $DISK p 2>&1 | grep -i -q 'sector size.*4096.*4096'; then + vterr "Currently Ventoy does not support 4K native device." + exit 1 + fi + else + if fdisk -l $DISK | grep -i -q 'sector size.*4096.*4096'; then + vterr "Currently Ventoy does not support 4K native device." + exit 1 + fi + fi + version=$(get_disk_ventoy_version $DISK) if [ $? -eq 0 ]; then @@ -433,7 +447,7 @@ elif [ "$MODE" = "install" -a -n "$NONDESTRUCTIVE" ]; then PART1_BLKID=$(blkid $PART1) blkid $PART1 - if echo $PART1_BLKID | egrep -q -i 'TYPE=ntfs|TYPE=.ntfs'; then + if echo $PART1_BLKID | grep -E -q -i 'TYPE=ntfs|TYPE=.ntfs'; then echo "Partition 1 contains NTFS filesystem" which ntfsresize @@ -451,7 +465,7 @@ elif [ "$MODE" = "install" -a -n "$NONDESTRUCTIVE" ]; then echo "###[FAIL] ntfsresize failed." exit 1 fi - elif echo $PART1_BLKID | egrep -q -i 'TYPE=ext[2-4]|TYPE=.ext[2-4]'; then + elif echo $PART1_BLKID | grep -E -q -i 'TYPE=ext[2-4]|TYPE=.ext[2-4]'; then echo "Partition 1 contains EXT filesystem" which resize2fs @@ -612,6 +626,14 @@ else vtoycli partresize -s $DISK $part2_start fi + + if [ "$PART1_TYPE" = "EE" ]; then + vtinfo "update esp partition attribute" + vtoycli gpt -f $DISK + sync + fi + + echo "" vtinfo "Update Ventoy on $DISK successfully finished." echo ""