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
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
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 ""