diff --git a/INSTALL/Ventoy2Disk.exe b/INSTALL/Ventoy2Disk.exe index 752803aa..f6c3ab55 100644 Binary files a/INSTALL/Ventoy2Disk.exe and b/INSTALL/Ventoy2Disk.exe differ diff --git a/INSTALL/Ventoy2Disk_ARM.exe b/INSTALL/Ventoy2Disk_ARM.exe index 39978371..d1630163 100644 Binary files a/INSTALL/Ventoy2Disk_ARM.exe and b/INSTALL/Ventoy2Disk_ARM.exe differ diff --git a/INSTALL/Ventoy2Disk_ARM64.exe b/INSTALL/Ventoy2Disk_ARM64.exe index 2bbf0ae8..6616dde6 100644 Binary files a/INSTALL/Ventoy2Disk_ARM64.exe and b/INSTALL/Ventoy2Disk_ARM64.exe differ diff --git a/INSTALL/Ventoy2Disk_X64.exe b/INSTALL/Ventoy2Disk_X64.exe index abdd4558..ac9f6bfc 100644 Binary files a/INSTALL/Ventoy2Disk_X64.exe and b/INSTALL/Ventoy2Disk_X64.exe differ diff --git a/LANGUAGES/languages.json b/LANGUAGES/languages.json index 14e9593b..d0f1300c 100644 --- a/LANGUAGES/languages.json +++ b/LANGUAGES/languages.json @@ -55,6 +55,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"توقفت عملية تثبيت Ventoy بدون تهيئة لعدم استيفاء بعض الشروط. تفقد ملف log.txt للتفاصيل.", "STR_INSTALL_YES_TIP1":"تحذير: سيتم فقدان البيانات!", "STR_INSTALL_YES_TIP2":"يرجى إدخال YES في مربع النص في الأسفل للتأكيد بأنك تريد عمل تثبيت جديد بدلاً من التحديث.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -114,6 +115,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"ZƏrərsiz Ventoy quraşdırması dayandırıldı, belə ki, bəzi şərtlər yerinə yetirilə bilməd. Daha ətraflı məlumat üçün.txt jurnal faylına baxın.", "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!", "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -173,7 +175,8 @@ "STR_PART_RESIZE_UNSUPPORTED":"일부 조건을 충족할 수 없기 때문에 Ventoy 비파괴 설치가 중지되었습니다. 자세한 내용은 log.txt를 확인하십시오.", "STR_INSTALL_YES_TIP1":"경고: 데이터가 손실됩니다!", "STR_INSTALL_YES_TIP2":"업그레이드 대신 새로 설치할지 확인하려면 아래 입력란에 YES를 입력하십시오.", - + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", + "STRXXX":"" }, { @@ -232,7 +235,8 @@ "STR_PART_RESIZE_UNSUPPORTED":"条件不满足,无法进行无损安装。详细信息请查阅 log.txt 文件。", "STR_INSTALL_YES_TIP1":"警告: 所有数据将会丢失!", "STR_INSTALL_YES_TIP2":"请在下面文本框中输入 YES 以确认你是要进行安装而不是升级。", - + "STR_PART_VENTOY_FS":"Ventoy 分区文件系统类型", + "STRXXX":"" }, { @@ -291,6 +295,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.", "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!", "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -349,6 +354,8 @@ "STR_VTSI_CREATE_FAILED": "გაფრთხილება: მონაცემები დაიკარგება!", "STR_MENU_PART_RESIZE": "გთხოვთ, შეიყვანოთ YES ქვემოთ მოცემულ ტექსტურ ველში, რათა დაადასტუროთ... გსურთ განახლების ნაცვლად განახორციელოთ ახალი ინსტალაცია.", "STR_PART_RESIZE_TIP": "Ventoy ჩეეცდება დააყენოს არა-დესტრუქციული რამდენადაც შეეცდება. გსურს გაგრძელება?", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", + "STRXXX": "" }, { @@ -407,6 +414,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.", "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!", "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -466,6 +474,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Nieniszcząca instalacja Ventoy została zatrzymana, ponieważ niektóre wymagania nie zostały spełnione. Sprawdź log.txt po szczegóły.", "STR_INSTALL_YES_TIP1":"Ostrzeżenie: Dane zostaną utracone!", "STR_INSTALL_YES_TIP2":"Wpisz YES w poniższym polu tekstowym, aby potwierdzić, że naprawdę chcesz przeprowadzić nową instalację zamiast aktualizacji.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -525,6 +534,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Instalação não destrutiva do Ventoy interrompida devido fato desconhecido. Cheque o arquivo log.txt para detalhes.", "STR_INSTALL_YES_TIP1":"Aviso: Os dados serão perdidos!", "STR_INSTALL_YES_TIP2":"Por favor, digite YES na caixa de texto abaixo para confirmar que você realmente quer fazer uma nova instalação em vez de atualização.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -584,6 +594,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Ventoy Tahribatsız Kurulum, bazı koşullar sağlanmadığı için durduruldu. Ayrıntılı bilgi için log.txt dosyasını kontrol edin.", "STR_INSTALL_YES_TIP1":"Uyarı: Tüm verileriniz kaybolacak!", "STR_INSTALL_YES_TIP2":"Güncelleme yapmak yerine,yeni bir kurulum yapmak istediğinizi doğrulamak için lütfen aşağıdaki metin kutusuna YES yazın.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -643,6 +654,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Installation ohne vorherige Formatierung wurde auf Grund einiger nicht erfüllbarer Bedingungen gestoppt. Für Details die log.txt prüfen.", "STR_INSTALL_YES_TIP1":"Warnung: Die Daten gehen verloren!", "STR_INSTALL_YES_TIP2":"Bitte bestätigen Sie in der unteren Textbox mit YES, dass Sie anstelle eines Upgrades eine frische Installation durchführen möchten.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -702,6 +714,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.", "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!", "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -761,6 +774,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"L'installation non destructive de Ventoy s'est arrêtée car certaines conditions ne peuvent pas être remplies. Consultez log.txt pour plus de détails.", "STR_INSTALL_YES_TIP1":"Attention : les données seront perdues !", "STR_INSTALL_YES_TIP2":"Veuillez saisir YES dans la zone de texte ci-dessous pour confirmer que vous souhaitez bien effectuer une nouvelle installation au lieu d'une mise à niveau.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -820,6 +834,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Nedestruktivní instalace Ventoy selhala, protože některé podmínky pro ni nemohly být splněny. Pro podrobnosti se podívejte do souboru log.txt.", "STR_INSTALL_YES_TIP1":"Varování: Data budou ztracena!", "STR_INSTALL_YES_TIP2":"Do níže uvedeného textového pole zadejte YES a potvrďte, že skutečně chcete provést novou instalaci namísto aktualizace.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -878,7 +893,8 @@ "STR_PART_RESIZE_UNSUPPORTED":"Nedeštruktívna inštalácia Ventoy zlyhala, lebo niektoré podmienky nemohli byť splnené. Podrobnosti nájdete v súbore log.txt.", "STR_INSTALL_YES_TIP1":"Varovanie: Dôjde k strate údajov!", "STR_INSTALL_YES_TIP2":"Prosím, zadajte YES v textovom poli nižšie, čím potvrdíte, že naozaj chcete vykonať novú inštaláciu miesto aktualizácie.", - + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", + "STRXXX":"" }, { @@ -937,6 +953,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Instalación no destructiva de Ventoy detenida porque algunas condiciones no se pueden cumplir. Comprueba log.txt para detalles.", "STR_INSTALL_YES_TIP1":"Advertencia: ¡Los datos se perderán!", "STR_INSTALL_YES_TIP2":"Por favor ingresa YES en el cuadro de texto a continuación para confirmar que realmente quieres realizar una instalación nueva en vez de actualizar.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -996,6 +1013,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"La instalación no destructiva de Ventoy se ha detenido porque no se han cumplido todos los prerrequisitos.#@Compruebe el archivo log.txt para más información.", "STR_INSTALL_YES_TIP1":"Advertencia: ¡Los datos se perderán!", "STR_INSTALL_YES_TIP2":"Por favor, escriba YES en el cuadro de texto a continuación para confirmar que realmente quiere realizar una nueva instalación de Ventoy en vez de actualizarlo.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -1055,6 +1073,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Неразрушающая установка Ventoy остановлена, поскольку некоторые условия не могут быть выполнены. Проверьте файл log.txt для получения подробной информации.", "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!", "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -1114,6 +1133,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Ventoy অ-ধ্বংসাত্মক ইনস্টলেশন বন্ধ করা হয়েছে কারণ কিছু শর্ত পূরণ করা যাবে না। বিস্তারিত জানার জন্য log.txt দেখুন।", "STR_INSTALL_YES_TIP1":"সতর্কতা: ডেটা হারিয়ে যাবে!", "STR_INSTALL_YES_TIP2":"আপনি আপগ্রেড করার পরিবর্তে একটি নতুন ইনস্টল করতে চান তা নিশ্চিত করতে দয়া করে নীচের পাঠ্য বাক্সে Yes লিখুন৷।", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -1173,6 +1193,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"वेंटोय गैर-विनाशकारी स्थापना रोक दी गई, कुछ शर्तों को पूरा नहीं किया जा सकता है। विवरण के लिए log.txt की जाँच करें।", "STR_INSTALL_YES_TIP1":"चेतावनी: डेटा खो जाएगा!", "STR_INSTALL_YES_TIP2":"यह पुष्टि करने के लिए कि आप वास्तव में अपग्रेड के बजाय एक नया इंस्टॉल करना चाहते हैं, कृपया नीचे दिए टेक्स्ट बॉक्स में Yes दर्ज करें।", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -1232,6 +1253,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"De niet-destructieve installatie van Ventoy is gestopt omdat aan sommige voorwaarden niet kan worden voldaan. Controleer log.txt voor details.", "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!", "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -1291,6 +1313,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.", "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!", "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -1350,6 +1373,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Ventoyを非破壊的に導入できませんでした。非破壊的導入にあたっての要件が満たされていません。詳細な記録はlog.txtにあります。", "STR_INSTALL_YES_TIP1":"警告: データが消去されます", "STR_INSTALL_YES_TIP2":"Ventoyを更新するのではなく新規に導入するということを確認するために,下の入力欄に「YES」と入力してください。", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -1409,6 +1433,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"L'installazione non distruttiva di Ventoy è stata interrotta perché alcune condizioni non possono essere soddisfatte.#@Per i dettagli controlla il file log.txt.", "STR_INSTALL_YES_TIP1":"Attenzione: i dati verranno persi!", "STR_INSTALL_YES_TIP2":"Digita YES nella casella di testo qui sotto per confermare che vuoi davvero eseguire un'installazione pulita anziché un aggiornamento.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -1468,6 +1493,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.", "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!", "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -1527,6 +1553,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"A Ventoy rombolásmentes telepítése leállt, mert bizonyos feltételek nem teljesíthetők. A részleteket lásd a log.txt fájlban.", "STR_INSTALL_YES_TIP1":"Figyelmeztetés: Az adatok elvesznek!", "STR_INSTALL_YES_TIP2":"Írja a YES szót az alábbi szövegmezőbe, hogy megerősítse, valóban új telepítést szeretne végrehajtani a frissítés helyett.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -1586,6 +1613,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Ventoy 無損安裝已中止因為未滿足部分條件。詳細訊息請檢視 log.txt 檔案。", "STR_INSTALL_YES_TIP1":"警告:資料將會遺失!", "STR_INSTALL_YES_TIP2":"請在下方的文字輸入框輸入 YES 來證實您想要進行全新安裝取代升級。", + "STR_PART_VENTOY_FS":"Ventoy 分割區文件系統", "STRXXX":"" }, @@ -1645,6 +1673,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.", "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!", "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -1704,6 +1733,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.", "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!", "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -1763,6 +1793,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.", "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!", "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -1822,6 +1853,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.", "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!", "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -1881,6 +1913,8 @@ "STR_PART_RESIZE_UNSUPPORTED":"Cài Ventoy theo cách cài đặt không phá hủy đã bị dừng lại vì chưa đúng điều kiện. Xem chi tiết ở tệp log.txt.", "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!", "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", + "STRXXX":"" }, { @@ -1939,6 +1973,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.", "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!", "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -1998,6 +2033,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Недеструктивната инсталација на Ventoy е запрена бидејќи некои услови не се исполнети. Проверете го log.txt за детали.", "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!", "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -2057,6 +2093,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.", "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!", "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -2116,6 +2153,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.", "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!", "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -2175,6 +2213,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Pemasangan tanpa merusakkan Ventoy terhenti karena beberapa kondisi yang tidak mendukung. Periksa berkas log.txt untuk detil.", "STR_INSTALL_YES_TIP1":"Peringatan: Data akan hilang!", "STR_INSTALL_YES_TIP2":"Silakan ketik YES pada kotak tulis di bawah untuk meyakinkan bahwa anda memang untuk melakukan pemasangan baru ketimbang memperbaruinya", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -2234,6 +2273,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.", "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!", "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -2293,6 +2333,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Неруйнівна установка Ventoy зупинена через неможливість виконання деяких умов. Перевірте log.txt для отримання детальної інформації.", "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!", "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -2352,6 +2393,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.", "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!", "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -2411,6 +2453,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Icke-förstörande installation stoppades eftersom vissa villkor inte kunde uppfyllas. Mer information finns i log.txt.", "STR_INSTALL_YES_TIP1":"Varning: Data kommer att gå förlorade!", "STR_INSTALL_YES_TIP2":"Skriv YES i textrutan nedan för att bekräfta att du verkligen vill göra en nyinstallation i stället för att uppgradera.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -2470,6 +2513,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Ventoy je ustavil inštalacijo ker nekateri pogoji niso zadostni. Preveri log.txt a podrobnosti.", "STR_INSTALL_YES_TIP1":"Pozor: Podatki bodo izbrisani!", "STR_INSTALL_YES_TIP2":"Prosim vtipkajte YES v spodnje okno da potrdite čisto inštalacijo in ne zgolj nadgradnje.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -2529,6 +2573,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Неразрушителното инсталиране на Ventoy е спряна, защото някои от условията не могат да бъдат изпълнени. Проверете log.txt за подробности.", "STR_INSTALL_YES_TIP1":"Внимание: Ще има загуба на данни!", "STR_INSTALL_YES_TIP2":"Въведете „YES“ в полето отдолу, за да потвърдите, че искате да извършите нова инсталация вместо обновяване.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -2588,6 +2633,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.", "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!", "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -2647,6 +2693,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Ventoyn ei-tuhoisa asennus pysähtyi koska jotkut ehdot eivät täyttyneet. Tarkista log.txt nähdäksesi yksityiskohdat.", "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!", "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -2706,6 +2753,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"Instalación non destructiva do Ventoy interrompida porque non se poden cumprir algunhas condicións. Revisa o arquivo log.txt para mais detalles.", "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!", "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -2765,6 +2813,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"La instal·lació no destructiva de Ventoy no ha estat possible perquè els requeriments no es compleixen. Comproveu el fitxer log.txt per a més detalls.", "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!", "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" }, @@ -2825,7 +2874,8 @@ "STR_PART_RESIZE_UNSUPPORTED":"Ventoy non-destructive installation stopped because some conditions cannot be met. Check log.txt for details.", "STR_INSTALL_YES_TIP1":"Warning: Data will be lost!", "STR_INSTALL_YES_TIP2":"Please enter YES in the text box below to confirm that you indeed want to do a fresh install instead of upgrade.", - + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", + "STRXXX":"" }, { @@ -2884,6 +2934,7 @@ "STR_PART_RESIZE_UNSUPPORTED":"சில நிபந்தனைகளை பூர்த்தி செய்ய முடியாததால், வென்டோய் அழிவில்லாத நிறுவல் நிறுத்தப்பட்டது. விவரங்களுக்கு log.txt ஐப் பார்க்கவும்.", "STR_INSTALL_YES_TIP1":"எச்சரிக்கை: தரவு தொலைந்து போகும்!", "STR_INSTALL_YES_TIP2":"மேம்படுத்துவதற்குப் பதிலாக புதிதாக நிறுவ விரும்புகிறீர்கள் என்பதை உறுதிப்படுத்த, கீழே உள்ள உரைப் பெட்டியில் ஆம் என உள்ளிடவும்.", + "STR_PART_VENTOY_FS":"File System For Ventoy Partition", "STRXXX":"" } diff --git a/Ventoy2Disk/Ventoy2Disk/DiskService.c b/Ventoy2Disk/Ventoy2Disk/DiskService.c index 4272d6fe..b7351192 100644 --- a/Ventoy2Disk/Ventoy2Disk/DiskService.c +++ b/Ventoy2Disk/Ventoy2Disk/DiskService.c @@ -109,3 +109,19 @@ BOOL DISK_ShrinkVolume(int DriveIndex, const char* VolumeGuid, CHAR DriveLetter, return ret; } +BOOL DISK_FormatVolume(char DriveLetter, int fs) +{ + BOOL ret = FALSE; + + //ret = VDS_FormatVolume(DriveLetter, fs); + if (!ret) + { + //ret = DSPT_FormatVolume(DriveLetter, fs); + if (!ret) + { + ret = PSHELL_FormatVolume(DriveLetter, fs); + } + } + + return ret; +} diff --git a/Ventoy2Disk/Ventoy2Disk/DiskService.h b/Ventoy2Disk/Ventoy2Disk/DiskService.h index 78d6ec17..4e197cbc 100644 --- a/Ventoy2Disk/Ventoy2Disk/DiskService.h +++ b/Ventoy2Disk/Ventoy2Disk/DiskService.h @@ -39,7 +39,7 @@ BOOL DISK_ChangeVtoyEFIAttr(int DriveIndex, UINT64 Offset, UINT64 Attr); BOOL DISK_ChangeVtoyEFI2ESP(int DriveIndex, UINT64 Offset); BOOL DISK_ChangeVtoyEFI2Basic(int DriveIndex, UINT64 Offset); BOOL DISK_ShrinkVolume(int DriveIndex, const char* VolumeGuid, CHAR DriveLetter, UINT64 OldBytes, UINT64 ReduceBytes); - +BOOL DISK_FormatVolume(char DriveLetter, int fs); //VDS com @@ -51,10 +51,11 @@ BOOL VDS_ChangeVtoyEFI2ESP(int DriveIndex, UINT64 Offset); BOOL VDS_ChangeVtoyEFI2Basic(int DriveIndex, UINT64 Offset); BOOL VDS_ShrinkVolume(int DriveIndex, const char* VolumeGuid, CHAR DriveLetter, UINT64 OldBytes, UINT64 ReduceBytes); BOOL VDS_IsLastAvaliable(void); - +BOOL VDS_FormatVolume(char DriveLetter, int fs); //diskpart.exe BOOL DSPT_CleanDisk(int DriveIndex); +BOOL DSPT_FormatVolume(char DriveLetter, int fs); //powershell.exe BOOL PSHELL_CleanDisk(int DriveIndex); @@ -62,6 +63,7 @@ BOOL PSHELL_DeleteVtoyEFIPartition(int DriveIndex, UINT64 EfiPartOffset); BOOL PSHELL_ChangeVtoyEFI2ESP(int DriveIndex, UINT64 Offset); BOOL PSHELL_ChangeVtoyEFI2Basic(int DriveIndex, UINT64 Offset); BOOL PSHELL_ShrinkVolume(int DriveIndex, const char* VolumeGuid, CHAR DriveLetter, UINT64 OldBytes, UINT64 ReduceBytes); +BOOL PSHELL_FormatVolume(char DriveLetter, int fs); // // Internel define diff --git a/Ventoy2Disk/Ventoy2Disk/DiskService_diskpart.c b/Ventoy2Disk/Ventoy2Disk/DiskService_diskpart.c index ca1aa815..6d02e905 100644 --- a/Ventoy2Disk/Ventoy2Disk/DiskService_diskpart.c +++ b/Ventoy2Disk/Ventoy2Disk/DiskService_diskpart.c @@ -85,3 +85,28 @@ BOOL DSPT_CleanDisk(int DriveIndex) sprintf_s(CmdBuf, sizeof(CmdBuf), "select disk %d\r\nclean\r\n", DriveIndex); return DSPT_CommProc(CmdBuf); } + +BOOL DSPT_FormatVolume(char DriveLetter, int fs) +{ + const char* fsname = NULL; + CHAR CmdBuf[256]; + + Log("FormatVolumeByDiskpart <%C:>", DriveLetter); + + if (!IsDiskpartExist()) + { + return FALSE; + } + + if (fs == 1) + { + fsname = "NTFS"; + } + else + { + fsname = "FAT32"; + } + + sprintf_s(CmdBuf, sizeof(CmdBuf), "select volume %C:\r\nformat FS=%s LABEL=Ventoy QUICK OVERRIDE\r\n", DriveLetter, fsname); + return DSPT_CommProc(CmdBuf); +} diff --git a/Ventoy2Disk/Ventoy2Disk/DiskService_vds.c b/Ventoy2Disk/Ventoy2Disk/DiskService_vds.c index 3a638303..f0ee6f93 100644 --- a/Ventoy2Disk/Ventoy2Disk/DiskService_vds.c +++ b/Ventoy2Disk/Ventoy2Disk/DiskService_vds.c @@ -590,6 +590,7 @@ const char *WindowsErrorString(DWORD error_code) #define IVdsVolume_QueryInterface(This, riid, ppvObject) (This)->lpVtbl->QueryInterface(This, riid, ppvObject) #define IVdsVolume_Release(This) (This)->lpVtbl->Release(This) #define IVdsVolumeMF3_QueryVolumeGuidPathnames(This, pwszPathArray, pulNumberOfPaths) (This)->lpVtbl->QueryVolumeGuidPathnames(This,pwszPathArray,pulNumberOfPaths) +#define IVdsVolumeMF_Format(This, type, pwsszLabel, dwUnitAllocationSize, bForce, bQuickFormat, bEnableCompression, ppAsync) (This)->lpVtbl->Format(This, type, pwsszLabel, dwUnitAllocationSize, bForce, bQuickFormat, bEnableCompression, ppAsync) #define IVdsVolumeMF3_FormatEx2(This, pwszFileSystemTypeName, usFileSystemRevision, ulDesiredUnitAllocationSize, pwszLabel, Options, ppAsync) (This)->lpVtbl->FormatEx2(This, pwszFileSystemTypeName, usFileSystemRevision, ulDesiredUnitAllocationSize, pwszLabel, Options, ppAsync) #define IVdsVolumeMF3_Release(This) (This)->lpVtbl->Release(This) #define IVdsVolume_GetProperties(This, pVolumeProperties) (This)->lpVtbl->GetProperties(This,pVolumeProperties) @@ -1411,4 +1412,92 @@ BOOL VDS_ShrinkVolume(int DriveIndex, const char* VolumeGuid, CHAR DriveLetter, ret = VDS_VolumeCommProc(INTF_VOLUME, wGuid, VDS_CallBack_ShrinkVolume, (UINT64)&Para); Log("VDS_ShrinkVolume %C: ret:%d (%s)", DriveLetter, ret, ret ? "SUCCESS" : "FAIL"); return ret; -} \ No newline at end of file +} + + +STATIC BOOL VDS_CallBack_FormatVolume(void* pInterface, VDS_DISK_PROP* pDiskProp, UINT64 data) +{ + HRESULT hr, hr2; + ULONG completed; + IVdsAsync* pAsync; + IVdsVolumeMF3* pVolume = (IVdsVolumeMF3*)pInterface; + WCHAR* pFs = NULL; + WCHAR FsNTFS[32] = L"NTFS"; + WCHAR FsFAT32[32] = L"FAT32"; + VDS_PARA* VdsPara = (VDS_PARA*)data; + + pFs = (VdsPara->Attr == 1) ? FsNTFS : FsFAT32; + Log("VDS_CallBack_FormatVolume (%C:) (%llu) ...", VdsPara->DriveLetter, (ULONGLONG)VdsPara->Attr); + + hr = IVdsVolumeMF3_FormatEx2(pVolume, pFs, 0, 0, L"Ventoy", VDS_FSOF_FORCE | VDS_FSOF_QUICK, &pAsync); + while (SUCCEEDED(hr)) + { + hr = IVdsAsync_QueryStatus(pAsync, &hr2, &completed); + if (SUCCEEDED(hr)) + { + hr = hr2; + if (hr == S_OK) + { + Log("FormatVolume QueryStatus OK, %lu%%", completed); + break; + } + else if (hr == VDS_E_OPERATION_PENDING) + { + Log("FormatVolume: %lu%%", completed); + hr = S_OK; + } + else + { + Log("FormatVolume invalid status:0x%lx", hr); + } + } + Sleep(1000); + } + + if (hr != S_OK) + { + VDS_SET_ERROR(hr); + Log("Could not FormatVolume, 0x%x err:0x%lx (%s)", hr, LASTERR, WindowsErrorString(hr)); + + VDS_SET_ERROR(hr); + return FALSE; + } + + return TRUE; +} +BOOL VDS_FormatVolume(char DriveLetter, int fs) +{ + int i; + BOOL ret = FALSE; + const char* guid = NULL; + CHAR Drive[32] = { 0 }; + WCHAR wGuid[128] = { 0 }; + CHAR VolumeGuid[128] = { 0 }; + VDS_PARA Para; + + Drive[0] = DriveLetter; + Drive[1] = ':'; + Drive[2] = '\\'; + GetVolumeNameForVolumeMountPointA(Drive, VolumeGuid, sizeof(VolumeGuid) / 2); + + guid = strstr(VolumeGuid, "{"); + if (!guid) + { + Log("Can not find volume GUID for %s:", Drive); + return FALSE; + } + + for (i = 0; i < 128 && guid[i]; i++) + { + wGuid[i] = guid[i]; + } + Log("VDS_FormatVolume find GUID %C: <%s> ", DriveLetter, VolumeGuid); + + Para.Attr = fs; + Para.DriveLetter = DriveLetter; + + ret = VDS_VolumeCommProc(INTF_VOLUME_MF3, wGuid, VDS_CallBack_FormatVolume, (UINT64)&Para); + Log("VDS_FormatVolume %C: <%s> ret:%d (%s)", DriveLetter, VolumeGuid, ret, ret ? "SUCCESS" : "FAIL"); + + return ret; +} diff --git a/Ventoy2Disk/Ventoy2Disk/DiskService_wmsa.c b/Ventoy2Disk/Ventoy2Disk/DiskService_wmsa.c index d99e5ac1..ac9bd961 100644 --- a/Ventoy2Disk/Ventoy2Disk/DiskService_wmsa.c +++ b/Ventoy2Disk/Ventoy2Disk/DiskService_wmsa.c @@ -255,3 +255,27 @@ BOOL PSHELL_ShrinkVolume(int DriveIndex, const char* VolumeGuid, CHAR DriveLette Log("PSHELL_ShrinkVolume<%d> %C: ret:%d (%s)", DriveIndex, DriveLetter, ret, ret ? "SUCCESS" : "FAIL"); return ret; } + +BOOL PSHELL_FormatVolume(char DriveLetter, int fs) +{ + BOOL ret; + const char* fsname = NULL; + CHAR CmdBuf[512]; + + if (fs == 1) + { + fsname = "NTFS"; + } + else + { + fsname = "FAT32"; + } + + sprintf_s(CmdBuf, sizeof(CmdBuf), + "format-volume -DriveLetter %C -FileSystem %s -Force -NewFileSystemLabel Ventoy", + DriveLetter, fsname); + + ret = PSHELL_CommProc(CmdBuf); + Log("PSHELL_FormatVolume %C: ret:%d (%s)", DriveLetter, ret, ret ? "SUCCESS" : "FAIL"); + return ret; +} diff --git a/Ventoy2Disk/Ventoy2Disk/Language.c b/Ventoy2Disk/Ventoy2Disk/Language.c index e8a97124..80833274 100644 --- a/Ventoy2Disk/Ventoy2Disk/Language.c +++ b/Ventoy2Disk/Ventoy2Disk/Language.c @@ -1,38 +1,45 @@ -/****************************************************************************** - * Language.c - * - * Copyright (c) 2020, longpanda - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, see . - * - */ - -#include -#include "Ventoy2Disk.h" -#include "Language.h" - -const TCHAR * GetString(enum STR_ID ID) -{ - return g_cur_lang_data->MsgString[ID]; -}; - -static const UINT16 g_unicode_icon[UNICODE_BUTT][3] = -{ - { 0xD83D, 0xDD12, 0x0000 }, -}; - -const UINT16 * GetUnicodeIcon(icon) -{ - return g_unicode_icon[icon]; -} +/****************************************************************************** + * Language.c + * + * Copyright (c) 2020, longpanda + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * + */ + +#include +#include "Ventoy2Disk.h" +#include "Language.h" + +const TCHAR * GetString(enum STR_ID ID) +{ + if (g_cur_lang_data) + { + return g_cur_lang_data->MsgString[ID]; + } + else + { + return NULL; + } +}; + +static const UINT16 g_unicode_icon[UNICODE_BUTT][3] = +{ + { 0xD83D, 0xDD12, 0x0000 }, +}; + +const UINT16 * GetUnicodeIcon(icon) +{ + return g_unicode_icon[icon]; +} diff --git a/Ventoy2Disk/Ventoy2Disk/Language.h b/Ventoy2Disk/Ventoy2Disk/Language.h index 5b0d797f..7dbedea5 100644 --- a/Ventoy2Disk/Ventoy2Disk/Language.h +++ b/Ventoy2Disk/Ventoy2Disk/Language.h @@ -86,6 +86,8 @@ typedef enum STR_ID STR_INSTALL_YES_TIP1,//48 STR_INSTALL_YES_TIP2,//49 + STR_PART_VENTOY_FS, //50 + STR_ID_MAX }STR_ID; diff --git a/Ventoy2Disk/Ventoy2Disk/PartDialog.c b/Ventoy2Disk/Ventoy2Disk/PartDialog.c index 51a97cae..e7bccd7d 100644 Binary files a/Ventoy2Disk/Ventoy2Disk/PartDialog.c and b/Ventoy2Disk/Ventoy2Disk/PartDialog.c differ diff --git a/Ventoy2Disk/Ventoy2Disk/PhyDrive.c b/Ventoy2Disk/Ventoy2Disk/PhyDrive.c index 485d9ff2..c1ebe5e0 100644 --- a/Ventoy2Disk/Ventoy2Disk/PhyDrive.c +++ b/Ventoy2Disk/Ventoy2Disk/PhyDrive.c @@ -1337,6 +1337,7 @@ int ClearVentoyFromPhyDrive(HWND hWnd, PHY_DRIVE_INFO *pPhyDrive, char *pDrvLett End: PROGRESS_BAR_SET_POS(PT_MOUNT_VOLUME); + PROGRESS_BAR_SET_POS(PT_REFORMAT_FINISH); if (pTmpBuf) { @@ -1608,6 +1609,7 @@ int InstallVentoy2FileImage(PHY_DRIVE_INFO *pPhyDrive, int PartStyle) End: PROGRESS_BAR_SET_POS(PT_MOUNT_VOLUME); + PROGRESS_BAR_SET_POS(PT_REFORMAT_FINISH); Log("retcode:%d\n", rc); @@ -1839,6 +1841,7 @@ End: else { Log("%s is ventoy part1, already mounted", DriveName); + MountDrive = DriveName[0]; state = 1; } } @@ -1852,12 +1855,35 @@ End: DriveName[0] = MountDrive; bRet = SetVolumeMountPointA(DriveName, DriveLetters); Log("SetVolumeMountPoint <%s> <%s> bRet:%u code:%u", DriveName, DriveLetters, bRet, GetLastError()); + + if (bRet) + { + state = 1; + } } else { Log("Failed to find ventoy volume"); } } + + if (GetVentoyFsType() > 0) + { + if (state) + { + Log("Reformat %C:\\ to %s", MountDrive, GetVentoyFsName()); + DISK_FormatVolume(MountDrive, GetVentoyFsType()); + } + else + { + Log("Can not reformat %s to %s", DriveName, GetVentoyFsName()); + } + } + else + { + Log("No need to reformat ventoy partition"); + } + Log("OK\n"); } else diff --git a/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.aps b/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.aps index e3149f81..6e1b9923 100644 Binary files a/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.aps and b/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.aps differ diff --git a/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.c b/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.c index 8767e3b6..2e0ef204 100644 --- a/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.c +++ b/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.c @@ -251,6 +251,64 @@ static BOOL IsVentoyPhyDrive(int PhyDrive, UINT64 SizeBytes, MBR_HEAD *pMBR, UIN return TRUE; } +static int GetVentoyFsNameInPhyDrive(PHY_DRIVE_INFO* CurDrive) +{ + int i = 0; + UINT64 Offset; + CHAR Volume[128] = { 0 }; + CHAR FsName[MAX_PATH] = { 0 }; + + while (CurDrive->DriveLetters[i]) + { + if (GetPhyDriveByLogicalDrive(CurDrive->DriveLetters[i], &Offset) >= 0) + { + if (Offset == SIZE_1MB) + { + sprintf_s(Volume, sizeof(Volume), "%C:\\", CurDrive->DriveLetters[i]); + Log("Find the partition 1 logical drive is %s", Volume); + break; + } + } + i++; + } + + sprintf_s(CurDrive->VentoyFsType, sizeof(CurDrive->VentoyFsType), "??"); + + if (Volume[0]) + { + if (GetVolumeInformationA(Volume, NULL, 0, NULL, NULL, NULL, FsName, MAX_PATH)) + { + if (_stricmp(FsName, "exFAT") == 0) + { + sprintf_s(CurDrive->VentoyFsType, sizeof(CurDrive->VentoyFsType), "exFAT"); + } + else if (_stricmp(FsName, "NTFS") == 0) + { + sprintf_s(CurDrive->VentoyFsType, sizeof(CurDrive->VentoyFsType), "NTFS"); + } + else if (_stricmp(FsName, "FAT") == 0 || _stricmp(FsName, "FAT32") == 0) + { + sprintf_s(CurDrive->VentoyFsType, sizeof(CurDrive->VentoyFsType), "FAT32"); + } + else + { + sprintf_s(CurDrive->VentoyFsType, sizeof(CurDrive->VentoyFsType), "%s", FsName); + } + + Log("GetVentoyFsNameInPhyDrive %d %s <%s> <%s>", CurDrive->PhyDrive, Volume, FsName, CurDrive->VentoyFsType); + } + else + { + Log("GetVolumeInformationA %s failed %u", Volume, LASTERR); + } + } + else + { + Log("GetVentoyFsNameInPhyDrive %s not found", Volume); + } + + return 0; +} static int FilterPhysicalDrive(PHY_DRIVE_INFO *pDriveList, DWORD DriveCount) { @@ -323,6 +381,8 @@ static int FilterPhysicalDrive(PHY_DRIVE_INFO *pDriveList, DWORD DriveCount) GetVentoyVerInPhyDrive(CurDrive, Part2StartSector, CurDrive->VentoyVersion, sizeof(CurDrive->VentoyVersion), &(CurDrive->SecureBootSupport)); Log("PhyDrive %d is Ventoy Disk ver:%s SecureBoot:%u", CurDrive->PhyDrive, CurDrive->VentoyVersion, CurDrive->SecureBootSupport); + GetVentoyFsNameInPhyDrive(CurDrive); + if (CurDrive->VentoyVersion[0] == 0) { CurDrive->VentoyVersion[0] = '?'; diff --git a/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.h b/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.h index beafaa4a..0371d176 100644 --- a/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.h +++ b/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.h @@ -159,7 +159,8 @@ typedef struct PHY_DRIVE_INFO STORAGE_BUS_TYPE BusType; CHAR DriveLetters[64]; - + + CHAR VentoyFsType[16]; CHAR VentoyVersion[32]; BOOL SecureBootSupport; @@ -193,6 +194,9 @@ typedef enum PROGRESS_POINT PT_WRITE_PART_TABLE, PT_MOUNT_VOLUME, + PT_REFORMAT_START, + PT_REFORMAT_FINISH = PT_REFORMAT_START + 2, + PT_FINISH }PROGRESS_POINT; @@ -253,6 +257,9 @@ INT_PTR CALLBACK YesDialogProc(HWND hWnd, UINT Message, WPARAM wParam, LPARAM lP INT_PTR CALLBACK PartDialogProc(HWND hWnd, UINT Message, WPARAM wParam, LPARAM lParam); int GetReservedSpaceInMB(void); int IsPartNeed4KBAlign(void); +int GetVentoyFsType(void); +void SetVentoyFsType(int fs); +const char* GetVentoyFsName(void); int FindProcessOccupyDisk(HANDLE hDrive, PHY_DRIVE_INFO *pPhyDrive); int VentoyFillMBRLocation(UINT64 DiskSizeInBytes, UINT32 StartSectorId, UINT32 SectorCount, PART_TABLE *Table); int ClearVentoyFromPhyDrive(HWND hWnd, PHY_DRIVE_INFO *pPhyDrive, char *pDrvLetter); diff --git a/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.rc b/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.rc index acf72c87..741d9d6c 100644 Binary files a/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.rc and b/Ventoy2Disk/Ventoy2Disk/Ventoy2Disk.rc differ diff --git a/Ventoy2Disk/Ventoy2Disk/WinDialog.c b/Ventoy2Disk/Ventoy2Disk/WinDialog.c index 05dfa60e..ae8ea4e5 100644 Binary files a/Ventoy2Disk/Ventoy2Disk/WinDialog.c and b/Ventoy2Disk/Ventoy2Disk/WinDialog.c differ diff --git a/Ventoy2Disk/Ventoy2Disk/resource.h b/Ventoy2Disk/Ventoy2Disk/resource.h index 037e857f..a93eb567 100644 Binary files a/Ventoy2Disk/Ventoy2Disk/resource.h and b/Ventoy2Disk/Ventoy2Disk/resource.h differ