diff --git a/IMG/cpio/ventoy/hook/alpine/insert.sh b/IMG/cpio/ventoy/hook/alpine/insert.sh
new file mode 100644
index 00000000..65c47fa5
--- /dev/null
+++ b/IMG/cpio/ventoy/hook/alpine/insert.sh
@@ -0,0 +1,4 @@
+for i in 1 2; do 
+if [ $i -eq 2 ]; then
+    /ventoy/busybox/sh /ventoy/hook/alpine/udev_disk_hook.sh
+fi
diff --git a/IMG/cpio/ventoy/hook/alpine/udev_disk_hook.sh b/IMG/cpio/ventoy/hook/alpine/udev_disk_hook.sh
index 91391cca..df4953ec 100644
--- a/IMG/cpio/ventoy/hook/alpine/udev_disk_hook.sh
+++ b/IMG/cpio/ventoy/hook/alpine/udev_disk_hook.sh
@@ -19,22 +19,17 @@
 
 . /ventoy/hook/ventoy-hook-lib.sh
 
-if [ "$SUBSYSTEM" != "block" ] || [ "$DEVTYPE" != "partition" ]; then    
-    exit 0
-fi
-
-if [ -b /dev/${MDEV:0:-1} ]; then
-    vtlog "/dev/${MDEV:0:-1} exist"
-else
-    $SLEEP 2
-fi
-
-if is_ventoy_hook_finished || not_ventoy_disk "${MDEV:0:-1}"; then
-    exit 0
-fi
-
 PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH
 
+wait_for_usb_disk_ready
+
+vtdiskname=$(get_ventoy_disk_name)
+if [ "$vtdiskname" = "unknown" ]; then
+    vtlog "ventoy disk not found"
+    PATH=$VTPATH_OLD
+    exit 0
+fi
+
 #
 # longpanda:
 # Alpine initramfs doesn't contain dm-mod or fuse module, 
@@ -47,13 +42,17 @@ PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH
 #   3. unmount and delete the squashfs file
 #
 
+MDEV="${vtdiskname#/dev/}2"
+
 vtoydm -i -f $VTOY_PATH/ventoy_image_map -d /dev/${MDEV:0:-1} > $VTOY_PATH/iso_file_list
 
 vtLine=$(grep '[-][-] modloop-lts ' $VTOY_PATH/iso_file_list)
 sector=$(echo $vtLine | awk '{print $(NF-1)}')
 length=$(echo $vtLine | awk '{print $NF}')
 
+echo -n "Mounting boot media, please wait ......"
 vtoydm -e -f $VTOY_PATH/ventoy_image_map -d /dev/${MDEV:0:-1} -s $sector -l $length -o /vt_modloop
+echo "done"
 
 mkdir -p $VTOY_PATH/mnt
 mount /vt_modloop $VTOY_PATH/mnt
diff --git a/IMG/cpio/ventoy/hook/alpine/ventoy-hook.sh b/IMG/cpio/ventoy/hook/alpine/ventoy-hook.sh
index ae366cdf..f894966f 100644
--- a/IMG/cpio/ventoy/hook/alpine/ventoy-hook.sh
+++ b/IMG/cpio/ventoy/hook/alpine/ventoy-hook.sh
@@ -19,6 +19,17 @@
 
 . $VTOY_PATH/hook/ventoy-os-lib.sh
 
-echo "-[-a-z0-9]*2 root:root 0666 @$BUSYBOX_PATH/sh $VTOY_PATH/hook/alpine/udev_disk_hook.sh" >> /mdev.conf
-$CAT /etc/mdev.conf >> /mdev.conf
-$BUSYBOX_PATH/mv /mdev.conf /etc/mdev.conf
+PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH
+
+LineBegin=$(grep -n "ebegin.*Mounting boot media" /init | awk -F: '{print $1}')
+
+grep -n "^eend" /init > /t.list
+while read line; do
+    LineEnd=$(echo $line | awk -F: '{print $1}')
+    if [ $LineEnd -gt $LineBegin ]; then
+        sed "${LineEnd}i\done" -i /init
+        sed "${LineBegin}r /ventoy/hook/alpine/insert.sh" -i /init        
+        break
+    fi
+done < /t.list
+rm -f /t.list
diff --git a/IMG/cpio/ventoy/hook/debian/default-hook.sh b/IMG/cpio/ventoy/hook/debian/default-hook.sh
index 37f5a9ed..5db56e35 100644
--- a/IMG/cpio/ventoy/hook/debian/default-hook.sh
+++ b/IMG/cpio/ventoy/hook/debian/default-hook.sh
@@ -64,6 +64,10 @@ if [ -f $VTOY_PATH/autoinstall ]; then
             $SED "/^mount \/proc/a export file=$VTOY_PATH/autoinstall; export auto='true'; export priority='critical'"  -i /init
         fi
     fi
+    
+    # if [ -e /bin/check-missing-firmware ]; then
+    #     $SED "/^#!/a\exit 0" -i /bin/check-missing-firmware
+    # fi
 fi
 
 #for ARMA aka Omoikane