]> glassweightruler.freedombox.rocks Git - Ventoy.git/blobdiff - INSTALL/tool/ventoy_lib.sh
Update Ventoy2Disk.sh
[Ventoy.git] / INSTALL / tool / ventoy_lib.sh
index 86317c78a79aed6ad991bd00e3e781b3eb0863ff..7ae8fe3afe84c339e1d56285f64c72491dd426ba 100644 (file)
@@ -210,6 +210,7 @@ get_disk_ventoy_version() {
 
 format_ventoy_disk() {
     DISK=$1
+    PART1=$(get_disk_part_name $DISK 1)
     PART2=$(get_disk_part_name $DISK 2)
     
     sector_num=$(cat /sys/block/${DISK#/dev/}/size)
@@ -255,12 +256,27 @@ EOF
     partprobe >/dev/null 2>&1
     sleep 3
 
-
     echo 'mkfs on disk partitions ...'
-    while ! [ -e $PART2 ]; do
-        echo "wait $PART2 ..."
-        sleep 1
+    for i in 1 2 3 4 5 6 7; do
+        if [ -b $PART2 ]; then
+            break
+        else
+            echo "wait $PART2 ..."
+            sleep 1
+        fi
     done
+    
+    if ! [ -b $PART2 ]; then
+        MajorMinor=$(sed "s/:/ /" /sys/class/block/${PART2#/dev/}/dev)        
+        echo "mknod -m 0660 $PART2 b $MajorMinor ..."
+        mknod -m 0660 $PART2 b $MajorMinor
+        
+        if ! [ -b $PART1 ]; then
+            MajorMinor=$(sed "s/:/ /" /sys/class/block/${PART1#/dev/}/dev)        
+            echo "mknod -m 0660 $PART1 b $MajorMinor ..."
+            mknod -m 0660 $PART1 b $MajorMinor
+        fi
+    fi
 
     echo "create efi fat fs ..."
     for i in 0 1 2 3 4 5 6 7 8 9; do