]> glassweightruler.freedombox.rocks Git - Ventoy.git/blobdiff - INSTALL/tool/VentoyWorker.sh
misc update
[Ventoy.git] / INSTALL / tool / VentoyWorker.sh
index 2adcc6ec0a71f6d58d63e6b2102282156f9ed141..7e276db5b45e5833bcab1ffb4ec691e225a69b0b 100644 (file)
@@ -75,8 +75,8 @@ fi
 if [ -e /sys/class/block/${DISK#/dev/}/start ]; then
     vterr  "$DISK is a partition, please use the whole disk."
     echo   "For example:"
-    vterr  "    sudo sh Ventoy2Disk.sh -i /dev/sdX1 <=== This is wrong"
-    vtinfo "    sudo sh Ventoy2Disk.sh -i /dev/sdX  <=== This is right"
+    vterr  "    sudo sh Ventoy2Disk.sh -i /dev/sdb1 <=== This is wrong"
+    vtinfo "    sudo sh Ventoy2Disk.sh -i /dev/sdb  <=== This is right"
     echo ""
     exit 1
 fi
@@ -90,15 +90,6 @@ if [ -n "$RESERVE_SPACE" -a "$MODE" = "install" ]; then
     fi
 fi
 
-#check access 
-if dd if="$DISK" of=/dev/null bs=1 count=1 >/dev/null 2>&1; then
-    vtdebug "root permission check ok ..."
-else
-    vterr "Failed to access $DISK, maybe root privilege is needed!"
-    echo ''
-    exit 1
-fi
-
 vtdebug "MODE=$MODE FORCE=$FORCE RESERVE_SPACE=$RESERVE_SPACE RESERVE_SIZE_MB=$RESERVE_SIZE_MB"
 
 #check tools
@@ -121,17 +112,11 @@ if [ "$MODE" = "list" ]; then
             echo "Disk Partition Style  : MBR"
         fi
         
-        vtPART2=$(get_disk_part_name $DISK 2)        
-        rm -rf ./tmpmntp2 && mkdir ./tmpmntp2
-        mount $vtPART2 ./tmpmntp2 > /dev/null 2>&1
-
-        if [ -e ./tmpmntp2/EFI/BOOT/MokManager.efi ]; then
+        if check_disk_secure_boot $DISK; then
             echo "Secure Boot Support   : YES"
         else
             echo "Secure Boot Support   : NO"
         fi        
-        umount ./tmpmntp2 > /dev/null 2>&1
-        rm -rf ./tmpmntp2
     else
         echo "Ventoy Version: NA"
     fi
@@ -159,6 +144,16 @@ if swapon --help 2>&1 | grep -q '^ \-s,'; then
     fi
 fi
 
+#check access 
+if dd if="$DISK" of=/dev/null bs=1 count=1 >/dev/null 2>&1; then
+    vtdebug "root permission check ok ..."
+else
+    vterr "Failed to access $DISK, maybe root privilege is needed!"
+    echo ''
+    exit 1
+fi
+
+
 #check tmp_mnt directory
 if [ -d ./tmp_mnt ]; then
     vtdebug "There is a tmp_mnt directory, now delete it."
@@ -331,8 +326,8 @@ if [ "$MODE" = "install" ]; then
         mkdir ./tmp_mnt
         
         vtdebug "mounting part2 ...."
-        for tt in 1 2 3; do
-            if mount ${PART2} ./tmp_mnt; then
+        for tt in 1 2 3 4 5; do            
+            if mount ${PART2} ./tmp_mnt > /dev/null 2>&1; then
                 vtdebug "mounting part2 success"
                 break
             fi
@@ -340,7 +335,7 @@ if [ "$MODE" = "install" ]; then
             mtpnt=$(grep "^${PART2}" /proc/mounts | awk '{print $2}')
             if [ -n "$mtpnt" ]; then
                 umount $mtpnt >/dev/null 2>&1
-            fi
+            fi    
             sleep 2
         done
         
@@ -451,13 +446,15 @@ else
     if [ "$SECUREBOOT" != "YES" ]; then
         mkdir ./tmp_mnt
         
-        vtdebug "mounting part2 ...."
-        for tt in 1 2 3; do
-            if mount ${PART2} ./tmp_mnt; then
+        vtdebug "mounting part2 ...."        
+        for tt in 1 2 3 4 5; do            
+            if mount ${PART2} ./tmp_mnt > /dev/null 2>&1; then
                 vtdebug "mounting part2 success"
                 break
+            else
+                vtdebug "mounting part2 failed, now wait and retry..."
             fi
-            sleep 2
+            sleep 2            
         done
         
         rm -f ./tmp_mnt/EFI/BOOT/BOOTX64.EFI
@@ -472,7 +469,7 @@ else
         
         
         for tt in 1 2 3; do
-            if umount ./tmp_mnt; then
+            if umount ./tmp_mnt > /dev/null 2>&1; then
                 vtdebug "umount part2 success"
                 rm -rf ./tmp_mnt
                 break