Il developer SvenGDK ha rilasciato la versione 3.0 di UFS2Tool, uno strumento avanzato per la creazione, gestione e controllo dei file system UFS1 e UFS2 su PC Windows, sia per immagini disco sia per dispositivi raw.

Il motivo per cui UFS2Tool sta attirando grande attenzione nella community è legato soprattutto alla scena PS5. Il formato ffpkg, utilizzato per backup e installazioni in ambiente jailbroken, si basa proprio su immagini UFS2.
https://twitter.com/SvenGDK/status/2022361623072256139
Grazie a questo strumento è possibile creare immagini compatibili con ShadowMount partendo da una semplice cartella, estrarre contenuti da un backup PS5, modificare file interni senza dover ricreare l’intera immagine e persino espandere partizioni quando lo spazio disponibile non è più sufficiente.
Inoltre, la possibilità di verificare l’integrità del filesystem con strumenti equivalenti a fsck_ufs rende il lavoro molto più sicuro e controllato.
La funzione di mount, resa possibile tramite il driver Dokan, consente di montare un’immagine UFS come un drive di Windows in modalità lettura o lettura-scrittura.
In pratica, si può esplorare e modificare il contenuto come se fosse un normale disco collegato al PC. Per utilizzare tutte le funzionalità sono necessari .NET 8.0 o superiore e la Dokan Library, mentre per operare su dischi fisici servono privilegi di amministratore.
Le immagini create risultano pienamente compatibili con FreeBSD e possono essere montate anche su quel sistema con il classico comando mount -t ufs, a conferma dell’aderenza tecnica del progetto.
La versione 3.0 introduce nuovi comandi per le immagini UFS, come la possibilità di rinominare file e directory direttamente all’interno delle immagini, e amplia il supporto linguistico con l’aggiunta di Svenska, Suomi, Polski, Tiếng Việt, Română, Українська, Čeština e ไทย.
Corretti inoltre diversi problemi critici nel core del programma, tra cui errori di offset e di layout degli inode in UFS1, mancata lettura della dimensione corretta del superblock, overflow silenzioso nella lettura di file oltre i 2GB, e bug nella gestione dei blocchi indiretti che impedivano operazioni su directory di grandi dimensioni.
Altri fix hanno corretto calcoli errati nella creazione di directory, perdite di handle su stream allineati, e discrepanze nel conteggio degli inode riservati.
La rinnovata interfaccia a riga di comando ora gestisce meglio gli argomenti numerici e testuali senza interrompere i comandi makefs, growfs e tunefs, mentre la GUI ha migliorato la validazione dei permessi (chmod) e la gestione dei log per evitare crash.
Infine, il supporto a Windows Dokan Mounting è stato aggiornato: il comando MoveFile ora utilizza Rename e la funzione FindFiles inizializza correttamente i timestamp dei file speciali.
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 conmakefs(8)di FreeBSD per creare immagini filesystem da alberi di directory. - Comando
growfs— interfaccia compatibile congrowfs(8)di FreeBSD per espandere immagini filesystem esistenti. - Comando
fsck_ufs— controllo di coerenza del filesystem compatibile confsck_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
| Flag | Descrizione |
|---|---|
-E | Cancella (zero) il dispositivo prima di creare il file system. |
-J | Abilita il provider gjournal. |
-N | Esecuzione di prova: visualizza i parametri senza creare il file system. |
-U | Abilita aggiornamenti software. |
-j | Abilita il journaling degli aggiornamenti software (implica -U). |
-l | Abilita il supporto MAC multietichetta |
-n | Non creare la directory .snap. |
-t | Abilita il flag TRIM/DISCARD nel superblocco. |
Opzioni con valori
| Opzione | Descrizione | Predefinito |
|---|---|---|
| -D directory | Directory 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 volname | Etichetta del volume (max 32 caratteri) | |
| -O format | Formato del file system: 1 (UFS1) o 2 (UFS2) | 2 |
| -S sector-size | Dimensione del settore in byte | 512 |
| -a maxcontig | Numero massimo di blocchi contigui | auto |
| -b block-size | Dimensione del blocco (4096–65536, potenza di 2) | 32768 |
| -c blocks-per-cg | Blocchi per gruppo cilindri | auto |
| -d max-extent | Dimensione massima dell'estensione | auto |
| -e maxbpg | Numero massimo di blocchi per file in un gruppo di cilindri | auto |
| -f frag-size | Dimensione del frammento (≥512, potenza di 2) | 4096 |
| -g avgfilesize | Dimensione media prevista del file | 16384 |
| -h avgfpdir | Numero medio di file previsto per directory | 64 |
| -i bytes/inode | Densità di inode (byte per inode) | auto |
| -m free-space | Percentuale minima di spazio libero | 8 |
| -o optimization | time o space | time |
| -p partition | Etichetta di partizione (informativa) | |
| -s size | Dimensione del file system in settori da 512 byte | auto |
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,...)
| Opzione | Descrizione | Predefinito |
|---|---|---|
version | Versione UFS: 1 per FFS, 2 per UFS2 | 1 |
bsize | Dimensione del blocco | 32768 |
fsize | Dimensione del frammento | 4096 |
label | Etichetta del volume (max 32 caratteri) | |
softupdates | 0 per disabilitare, 1 per abilitare | 0 |
density | Byte per inode | auto |
minfree | Minimo % free | 8 |
optimization | time o space | time |
avgfilesize | Dimensione media prevista del file | 16384 |
avgfpdir | File previsti per directory | 64 |
maxbpg | Numero massimo di blocchi per file in CG | auto |
extent | Dimensione massima dell'estensione | auto |
maxbpcg | Numero massimo di blocchi totali in CG | auto |
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.
| Opzione | Descrizione |
|---|---|
-N | Modalità di test: stampa i parametri senza modificare il file system |
-y | Dai per scontato di sì a tutte le richieste |
-s size | Nuova 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
Nuovi comandi per immagini UFS
- rename: Rinomina un file o una directory all’interno di un’immagine UFS.
Nuove Lingue
- Svenska.
- Suomi.
- Polski.
- Tiếng Việt.
- Română.
- Українська.
- Čeština.
- ไทย.
Correzioni
Correzioni critiche del Core
- UFS1: Offset di
di_generrato. - UFS1: Mismatch nel layout degli inode all’offset 4.
- Dimensione del settore del Superblock non recuperata durante la lettura.
Altre correzioni del Core
Ufs2Image.ReadFile:new byte[inode.Size]provoca overflow silenzioso per file >2GB (inode.Sizeèlong,array indexèint).Ufs2Image.ReadBlockPointerAt: Venivano attraversati solo blocchi diretti e singoli indiretti; restituito0per blocchi doppi/tripli indiretti, causando malfunzionamenti su directory grandi.Ufs2Image.AddDirectoryEntry:(dirSize - 1) / blockSizecalcola-1quandodirSize == 0, causandoIndexOutOfRangeException.AlignedStream.Dispose:_deviceStreamflushato ma mai eliminato — perdita di handle di file.Ufs2ImageCreator.MakeFsImage: Conteggio inode utilizzavatotalEntries+RootInode(+2) invece di +3 per inode riservati 0, 1, root.Program.ParseGrowFsSize: Notazione prodotto “x” mancante (es. 512×1024) già supportata daTryParseMakeFsSize.
CLI
TryParseIntArg/TryParseLongArg/TryParseStringArgchiamavanoPrintNewFsUsage()anche se invocati datunefs/makefs/growfs.
GUI
- Validazione
chmod. - Output Log: Aggiornamenti mancanti e possibile crash.
Windows Dokan Mounting
MoveFileora delega aRenameinvece di restituireNotImplemented.FindFiles:timestampsnon inizializzati per tipi di file speciali.
Download: UFS2Tool v3
Download: Source code UFS2Tool v3
🔥 Prodotti in promozione e articoli più venduti: PS5
Vedi altri prodotti PS5Questo articolo contiene link affiliati a Amazon. Se acquisti tramite questi link, potrei guadagnare una commissione senza costi aggiuntivi per te.
Ultimo aggiornamento 2026-03-12 / Link di affiliazione / Immagini da Amazon Product Advertising API


![[Scena PS Vita] Rilasciato Chicken Gun PS Vita Port v2.0.5](https://www.biteyourconsole.net/wp-content/uploads/ChickenGun-238x178.webp)


![[Scena PS Vita] Rilasciato Chicken Gun PS Vita Port v2.0.5](https://www.biteyourconsole.net/wp-content/uploads/ChickenGun-100x75.webp)
![[Scena Switch] Rilasciato Linkalho v2.0.0](https://www.biteyourconsole.net/wp-content/uploads/Link2.jpg)
![[Scena PS3] Rilasciato Gamesonic Control Fan utility v3.01](https://www.biteyourconsole.net/wp-content/uploads/35b8hf4.jpg)
