Home Homebrew Rilasciato UFS2Tool v4.1: il tool definitivo per gestire filesystem UFS1/UFS2 su Windows

Rilasciato UFS2Tool v4.1: il tool definitivo per gestire filesystem UFS1/UFS2 su Windows

156
0

UFS2Tool torna con una nuova versione, la 4.1, che introduce una serie di miglioramenti mirati soprattutto alla stabilità e alla correzione di bug.

Il tool, sviluppato da SvenGDK, è uno degli strumenti più utilizzati nella scena legata ai dump PS5, alla creazione di pacchetti .ffpkg e all’utilizzo di soluzioni come ShadowMount.

Per chi non lo conoscesse, UFS2Tool è un progetto open-source pensato per lavorare con filesystem UFS2, lo stesso utilizzato da PlayStation 5.

Permette di creare, modificare ed estrarre immagini disco, ed è particolarmente apprezzato perché consente di convertire cartelle di gioco in file .ffpkg installabili e di interagire con sistemi avanzati di mounting senza dover estrarre completamente i contenuti.

Supporta inoltre operazioni di basso livello come newfs, fsck_ufs e growfs, utilizzabili su Windows, macOS e Linux.

Con la versione 4.1, l’attenzione si è concentrata soprattutto sul miglioramento dell’affidabilità del tool. Sono state aggiornate le librerie DokanNet alla versione 2.3.0.3 e Avalonia alla 12.0.2, con benefici diretti sul sistema di mounting su Windows.

Migliorata inoltre la gestione di file e directory, rendendola più efficiente e riducendo la possibilità di errori durante le operazioni.

Tra le correzioni più importanti spicca il fix relativo al comando fsck_ufs con parametro altsuperblock, che in precedenza veniva ignorato. Risolto anche un bug critico che poteva rendere inutilizzabili alcune immagini create con newfs -S 4096.

Sul fronte delle prestazioni, sono stati introdotti miglioramenti grazie all’ottimizzazione dell’uso di Buffer.BlockCopy, insieme a piccoli interventi sull’interfaccia grafica per rendere l’esperienza più fluida.

Questi aggiornamenti risultano particolarmente importanti per chi lavora con ShadowMount e strumenti simili, dove la creazione di immagini UFS2 ottimizzate influisce direttamente su spazio occupato e tempi di caricamento.

UFS2Tool, infatti, rappresenta una componente fondamentale anche per tool più semplificati come PSFFPKG, ed è considerato uno degli strumenti più precisi e aggiornati del settore.

Caratteristiche

  • Creazione di filesystem UFS1 e UFS2 su file immagine o dispositivi raw di Windows.
  • Piena compatibilità con newfs(8) — supporta tutti i flag standard di FreeBSD newfs (eccetto -T, -k, -r).
  • Popolamento da directory — creazione di immagini a partire dal contenuto di una cartella con dimensionamento automatico (-D).
  • Comando makefs — interfaccia compatibile con makefs(8) di FreeBSD per creare immagini filesystem da alberi di directory.
  • Comando growfs — interfaccia compatibile con growfs(8) di FreeBSD per espandere immagini filesystem esistenti.
  • Comando fsck_ufs — controllo di coerenza del filesystem compatibile con fsck_ffs(8)/fsck_ufs(8) di FreeBSD.
  • Estrazione di file da immagini filesystem UFS1/UFS2 esistenti.
  • Sostituzione di file in immagini filesystem UFS1/UFS2 esistenti (file singolo o intero albero di directory).
  • Aggiunta di file a immagini filesystem UFS1/UFS2 esistenti (file singolo o albero di directory, in modo ricorsivo).
  • Eliminazione di file da immagini filesystem UFS1/UFS2 esistenti (file singolo o albero di directory, in modo ricorsivo).
  • Montaggio di immagini UFS come unità Windows con supporto lettura e scrittura tramite Dokan.
  • Lettura e ispezione di immagini filesystem UFS1/UFS2 esistenti.
  • Elenco del contenuto delle directory da immagini UFS1/UFS2.
  • Device I/O — scrittura diretta su unità fisiche e volumi in Windows.

Comandi

newfs — Crea un nuovo file system UFS1/UFS2


ufs2tool newfs [-EJNUjlnt] [-D input-directory] [-L volname] [-O format] [-S sector-size]
               [-a maxcontig] [-b block-size] [-c blocks-per-cg]
               [-d max-extent-size] [-e maxbpg] [-f frag-size]
               [-g avgfilesize] [-h avgfpdir] [-i bytes-per-inode]
               [-m free-space%] [-o optimization] [-p partition]
               [-s size]  [size-MB] [volume-name]

Flag booleani

FlagDescrizione
-ECancella (zero) il dispositivo prima di creare il file system.
-JAbilita il provider gjournal.
-NEsecuzione di prova: visualizza i parametri senza creare il file system.
-UAbilita aggiornamenti software.
-jAbilita il journaling degli aggiornamenti software (implica -U).
-lAbilita il supporto MAC multietichetta
-nNon creare la directory .snap.
-tAbilita il flag TRIM/DISCARD nel superblocco.

Opzioni con valori

OpzioneDescrizionePredefinito
-D directoryDirectory di input: popola l'immagine con il contenuto della directory. Dimensione calcolata automaticamente come dir_size × 1,2 + 10 MB. Vengono copiati tutti i file, inclusi quelli nascosti.
-L volnameEtichetta del volume (max 32 caratteri)
-O formatFormato del file system: 1 (UFS1) o 2 (UFS2)2
-S sector-sizeDimensione del settore in byte512
-a maxcontigNumero massimo di blocchi contiguiauto
-b block-sizeDimensione del blocco (4096–65536, potenza di 2)32768
-c blocks-per-cgBlocchi per gruppo cilindriauto
-d max-extentDimensione massima dell'estensioneauto
-e maxbpgNumero massimo di blocchi per file in un gruppo di cilindriauto
-f frag-sizeDimensione del frammento (≥512, potenza di 2)4096
-g avgfilesizeDimensione media prevista del file16384
-h avgfpdirNumero medio di file previsto per directory64
-i bytes/inodeDensità di inode (byte per inode)auto
-m free-spacePercentuale minima di spazio libero8
-o optimizationtime o spacetime
-p partitionEtichetta di partizione (informativa)
-s sizeDimensione del file system in settori da 512 byteauto

info — Mostra le informazioni del filesystem

ufs2tool info <percorso-immagine>

makefs — Crea un’immagine filesystem a partire da un albero di directory

  • Compatibile con makefs(8) di FreeBSD — consente di creare un’immagine filesystem da una directory senza richiedere dispositivi speciali o privilegi elevati

ufs2tool makefs [-DxZ] [-B endian] [-b blocchi-liberi] [-f file-liberi]
                [-M dimensione-minima] [-m dimensione-massima] [-o opzioni-fs]
                [-S dimensione-settore] [-s dimensione-immagine] [-T timestamp]
                [-t tipo-fs] file-immagine directory

Opzioni specifiche FFS (-o key=value,...)

OpzioneDescrizionePredefinito
versionVersione UFS: 1 per FFS, 2 per UFS21
bsizeDimensione del blocco32768
fsizeDimensione del frammento4096
labelEtichetta del volume (max 32 caratteri)
softupdates0 per disabilitare, 1 per abilitare0
densityByte per inodeauto
minfreeMinimo % free8
optimizationtime o spacetime
avgfilesizeDimensione media prevista del file16384
avgfpdirFile previsti per directory64
maxbpgNumero massimo di blocchi per file in CGauto
extentDimensione massima dell'estensioneauto
maxbpcgNumero massimo di blocchi totali in CGauto

Suffix dei valori di dimensione: b (×512), k (×1024), m (×1M), g (×1G), t (×1T), w (×4). È possibile usare moltiplicazioni con x: ad esempio 512x1024 = 524288.

growfs — Espande un filesystem esistente

ufs2tool growfs [-Ny] [-s dimensione] <percorso-immagine>

Espande un’immagine filesystem UFS1/UFS2 esistente. Equivalente al comando growfs(8) di FreeBSD.

OpzioneDescrizione
-NModalità di test: stampa i parametri senza modificare il file system
-yDai per scontato di sì a tutte le richieste
-s sizeNuova dimensione del file system (predefinita: dimensione del file immagine). Suffissi: b (byte), k (KB), m (MB), g (GB), t (TB). Senza suffisso: settori da 512 byte

Nota: Sono disponibili ulteriori comandi e funzionalità direttamente all’interno della repository ufficiale del progetto.

Changelog

Aggiornato a DokanNet 2.3.0.3 e Avalonia 12.0.2

  • Passaggio al nuovo builder fluente DokanNet e a un ciclo di vita di mount/unmount basato su istanze.
  • Sostituito il componente deprecato TextBox.Watermark con PlaceholderText in tutte le viste.
  • Rimosso il workaround non più necessario DisableAvaloniaDataAnnotationValidation.
  • Aggiunta la funzione di supporto TryGetInode(), che consente alle operazioni sui file di riutilizzare l’inode memorizzato nella cache quando viene aperto un handle, evitando di scorrere l’intero albero delle directory ad ogni chiamata.
  • DeleteDirectory ora restituisce correttamente l’errore “directory non vuota”.
  • ReadFile ora verifica che l’offset di lettura non sia negativo.
  • Le copie dei buffer sono state migrate a Buffer.BlockCopy per migliorare le prestazioni.
  • Il progetto di test è stato aggiornato da xUnit v2 a xUnit v3.

Risolto il problema per cui fsck_ufs -b <altsuperblock> veniva ignorato silenziosamente

  • Il parametro -b ora legge correttamente il superblock dal settore alternativo specificato.
  • Viene ora mostrato un messaggio di conferma quando viene utilizzato un superblock alternativo.
  • I valori di settore fuori range vengono ora rifiutati con un errore chiaro e ben definito.

Risolto il problema newfs -S 4096 che produceva immagini illeggibili

  • La dimensione dei settori ora viene normalizzata a 512 byte per il layout del filesystem, replicando il comportamento di newfs di FreeBSD.
  • Il parametro di dimensione -s N viene ora interpretato correttamente in unità di settori reali.
  • Le immagini create con qualsiasi valore -S generano ora layout del filesystem identici e validi.

UFS2Tool 4.1 – Download

Di seguito l’elenco completo dei pacchetti disponibili per la versione 4.1, suddivisi per sistema operativo e architettura. lLe versioni selfcontained includono il runtime .NET integrato e non richiedono installazioni aggiuntive. Le versioni standard richiedono .NET 8.0 o superiore già installato nel sistema.

Linux

  • linux-arm64-selfcontained.zip – 37.7 MB
    SHA256: 56f111231f8fb9a07319dfa0587ddb19bddb2c8ae108883a693ba0a625c78caa
  • linux-arm64.zip – 9.29 MB
    SHA256: 1aec5c6b7ceaeda3a1b6417c244e5d739ef814c9b253f95bad5658889ae71e9d
  • linux-x64-selfcontained.zip – 39.3 MB
    SHA256: 5a0cd3f89a9a1255640f19e81eb213bcffbd274e14d4c402189aa3d18bd068af
  • linux-x64.zip – 9.57 MB
    SHA256: cff07f54cfacb416e295c379f6e1ee4c7da6178836696fc740bc41978595f830

macOS

  • osx-arm64-selfcontained.zip – 40 MB
    SHA256: 3b2eb0044e62210f88a44432f0d64301a1f810d6ef7720f68281f565651ef10b
  • osx-arm64.zip – 12.2 MB
    SHA256: 7bcbc56721beab84706255b72d7b41398b1f5e9bd76edc191aaf2b36150e295f
  • osx-x64-selfcontained.zip – 41.5 MB
    SHA256: d354d8444e6da8fb682a6fb5d7067dd9d5750b8a8088cddac51a3eefec25f778
  • osx-x64.zip – 12.2 MB
    SHA256: be992d016b000904535b8122ed5735c515bf186017d62e1928e6042debe8bfcb

Windows

  • win-arm64-selfcontained.zip – 63.8 MB
    SHA256: 39ee146c03d79d1933e8ae5f077d765d67f161640747f4a993dccc903c811b47
  • win-arm64.zip – 34.6 MB
    SHA256: 1408988a57fe3330b2b80998cd13ea4eddbd47ff2726cfe54a2134cca3d6ba53
  • win-x64-selfcontained.zip – 65.8 MB
    SHA256: e772e1bbef2609c1afb19ae9d5acccc0b62770c88a3494bca525e4116846628b
  • win-x64.zip – 35.5 MB
    SHA256: ea65043bd279a869424a31efa8cd8278139b6750cd36e511850aace4cb836afc

Codice Sorgente

Alcune parti di questo articolo sono state generate con l’aiuto dell’intelligenza artificiale.

🔥 Prodotti in promozione e articoli più venduti: PS5

Vedi altri prodotti PS5

Questo articolo contiene link affiliati a Amazon. Se acquisti tramite questi link, potrei guadagnare una commissione senza costi aggiuntivi per te.

Ultimo aggiornamento 2026-06-16 / Link di affiliazione / Immagini da Amazon Product Advertising API

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui
Captcha verification failed!
Punteggio utente captcha non riuscito. Ci contatti per favore!

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.